Zulip Chat Archive

Stream: mathlib4

Topic: !4#4120 Analysis.Convex.StrictConvexSpace


Jeremy Tan (May 19 2023 at 19:42):

!4#4120 there's one error left here, who can fix it?

Jeremy Tan (May 19 2023 at 20:24):

Last line of this – simp doesn't work

affineIsometryOfStrictConvexSpace {f : PF  PE} (hi : Isometry f) :
    PF →ᵃⁱ[] PE :=
  { AffineMap.ofMapMidpoint f
      (fun x y => by
        apply eq_midpoint_of_dist_eq_half
        · rw [hi.dist_eq, hi.dist_eq]
          simp only [dist_left_midpoint, Real.norm_of_nonneg zero_le_two, div_eq_inv_mul]
        · rw [hi.dist_eq, hi.dist_eq]
          simp only [dist_midpoint_right, Real.norm_of_nonneg zero_le_two, div_eq_inv_mul])
      hi.continuous with
    norm_map := fun x => by simp [AffineMap.ofMapMidpoint,  dist_eq_norm_vsub E, hi.dist_eq] }

Kevin Buzzard (May 19 2023 at 20:30):

      simp [AffineMap.ofMapMidpoint,  dist_eq_norm_vsub E, hi.dist_eq]
      rw [hi.dist_eq]
      simp

works (but obviously isn't mathlib-ready)

Kevin Buzzard (May 19 2023 at 20:31):

For some reason hi.dist_eq isn't triggering with simp but it works with rw. This is becoming a common occurrence.

Scott Morrison (May 19 2023 at 20:52):

We need to be collecting minimised examples...

Kevin Buzzard (May 19 2023 at 21:03):

We've been having a go at understanding an example of this here

Jeremy Tan (May 20 2023 at 02:09):

This works, and is what I have now:

simp [AffineMap.ofMapMidpoint,  dist_eq_norm_vsub E]
rw [hi.dist_eq, dist_vadd_left]

Kevin Buzzard (May 20 2023 at 06:10):

Did you see that in the other thread I noted that changing Type _ to Type u made the original proof work?

Jeremy Tan (May 20 2023 at 07:15):

Kevin Buzzard said:

Did you see that in the other thread I noted that changing Type _ to Type u made the original proof work?

Is this (losing universe polymorphism) preferred over rw [hi.dist_eq, dist_vadd_left]?

Eric Wieser (May 20 2023 at 07:17):

Changing _ to u isn't losing polymorphism as long as you change each _ to a different name

Jeremy Tan (May 20 2023 at 07:24):

Eric Wieser said:

Changing _ to u isn't losing polymorphism as long as you change each _ to a different name

Right, I've changed it to Type u


Last updated: Dec 20 2023 at 11:08 UTC