analysis.normed_space.mazur_ulam
⟷
Mathlib.Analysis.NormedSpace.MazurUlam
The following section lists changes to this file in mathlib3 and mathlib4 that occured after the initial port. Most recent changes are shown first. Hovering over a commit will show all commits associated with the same mathlib3 commit.
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(no changes)
(last sync)
mathlib commit https://github.com/leanprover-community/mathlib/commit/65a1391a0106c9204fe45bc73a039f056558cb83
@@ -101,9 +101,9 @@ theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midp
have hx : e x = x := by simp
have hy : e y = y := by simp
have hm := e.midpoint_fixed hx hy
- simp only [e, trans_apply] at hm
+ simp only [e, trans_apply] at hm
rwa [← eq_symm_apply, to_isometry_equiv_symm, point_reflection_symm, coe_to_isometry_equiv,
- coe_to_isometry_equiv, point_reflection_self, symm_apply_eq, point_reflection_fixed_iff] at hm
+ coe_to_isometry_equiv, point_reflection_self, symm_apply_eq, point_reflection_fixed_iff] at hm
#align isometry_equiv.map_midpoint IsometryEquiv.map_midpoint
-/
mathlib commit https://github.com/leanprover-community/mathlib/commit/ce64cd319bb6b3e82f31c2d38e79080d377be451
@@ -3,8 +3,8 @@ Copyright (c) 2020 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-/
-import Mathbin.Topology.Instances.RealVectorSpace
-import Mathbin.Analysis.NormedSpace.AffineIsometry
+import Topology.Instances.RealVectorSpace
+import Analysis.NormedSpace.AffineIsometry
#align_import analysis.normed_space.mazur_ulam from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
mathlib commit https://github.com/leanprover-community/mathlib/commit/ffde2d8a6e689149e44fd95fa862c23a57f8c780
@@ -122,20 +122,20 @@ def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
-/
-#print IsometryEquiv.coe_to_real_linear_equiv_of_map_zero /-
+#print IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero /-
@[simp]
-theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
+theorem coe_toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0) = f :=
rfl
-#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
+#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero
-/
-#print IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm /-
+#print IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero_symm /-
@[simp]
-theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
+theorem coe_toRealLinearIsometryEquivOfMapZero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0).symm = f.symm :=
rfl
-#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm
+#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero_symm
-/
#print IsometryEquiv.toRealLinearIsometryEquiv /-
@@ -147,12 +147,12 @@ def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
#align isometry_equiv.to_real_linear_isometry_equiv IsometryEquiv.toRealLinearIsometryEquiv
-/
-#print IsometryEquiv.to_real_linear_equiv_apply /-
+#print IsometryEquiv.toRealLinearIsometryEquiv_apply /-
@[simp]
-theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
+theorem toRealLinearIsometryEquiv_apply (f : E ≃ᵢ F) (x : E) :
(f.toRealLinearIsometryEquiv : E → F) x = f x - f 0 :=
(sub_eq_add_neg (f x) (f 0)).symm
-#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
+#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.toRealLinearIsometryEquiv_apply
-/
#print IsometryEquiv.toRealLinearIsometryEquiv_symm_apply /-
mathlib commit https://github.com/leanprover-community/mathlib/commit/8ea5598db6caeddde6cb734aa179cc2408dbd345
@@ -2,15 +2,12 @@
Copyright (c) 2020 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.normed_space.mazur_ulam
-! leanprover-community/mathlib commit 1b0a28e1c93409dbf6d69526863cd9984ef652ce
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathbin.Topology.Instances.RealVectorSpace
import Mathbin.Analysis.NormedSpace.AffineIsometry
+#align_import analysis.normed_space.mazur_ulam from "leanprover-community/mathlib"@"1b0a28e1c93409dbf6d69526863cd9984ef652ce"
+
/-!
# Mazur-Ulam Theorem
mathlib commit https://github.com/leanprover-community/mathlib/commit/9fb8964792b4237dac6200193a0d533f1b3f7423
@@ -45,8 +45,7 @@ noncomputable section
namespace IsometryEquiv
-include E
-
+#print IsometryEquiv.midpoint_fixed /-
/-- If an isometric self-homeomorphism of a normed vector space over `ℝ` fixes `x` and `y`,
then it fixes the midpoint of `[x, y]`. This is a lemma for a more general Mazur-Ulam theorem,
see below. -/
@@ -93,9 +92,9 @@ theorem midpoint_fixed {x y : PE} :
refine' fun e hx hy => dist_le_zero.1 (le_trans _ this)
exact le_ciSup h_bdd ⟨e, hx, hy⟩
#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixed
+-/
-include F
-
+#print IsometryEquiv.map_midpoint /-
/-- A bijective isometry sends midpoints to midpoints. -/
theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midpoint ℝ (f x) (f y) :=
by
@@ -109,6 +108,7 @@ theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midp
rwa [← eq_symm_apply, to_isometry_equiv_symm, point_reflection_symm, coe_to_isometry_equiv,
coe_to_isometry_equiv, point_reflection_self, symm_apply_eq, point_reflection_fixed_iff] at hm
#align isometry_equiv.map_midpoint IsometryEquiv.map_midpoint
+-/
/-!
Since `f : PE ≃ᵢ PF` sends midpoints to midpoints, it is an affine map.
@@ -116,24 +116,30 @@ We define a conversion to a `continuous_linear_equiv` first, then a conversion t
-/
+#print IsometryEquiv.toRealLinearIsometryEquivOfMapZero /-
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
over `ℝ` and `f 0 = 0`, then `f` is a linear isometry equivalence. -/
def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃ₗᵢ[ℝ] F :=
{ (AddMonoidHom.ofMapMidpoint ℝ ℝ f h0 f.map_midpoint).toRealLinearMap f.Continuous, f with
norm_map' := fun x => show ‖f x‖ = ‖x‖ by simp only [← dist_zero_right, ← h0, f.dist_eq] }
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
+-/
+#print IsometryEquiv.coe_to_real_linear_equiv_of_map_zero /-
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0) = f :=
rfl
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
+-/
+#print IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm /-
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0).symm = f.symm :=
rfl
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm
+-/
#print IsometryEquiv.toRealLinearIsometryEquiv /-
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
@@ -144,17 +150,21 @@ def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
#align isometry_equiv.to_real_linear_isometry_equiv IsometryEquiv.toRealLinearIsometryEquiv
-/
+#print IsometryEquiv.to_real_linear_equiv_apply /-
@[simp]
theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
(f.toRealLinearIsometryEquiv : E → F) x = f x - f 0 :=
(sub_eq_add_neg (f x) (f 0)).symm
#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
+-/
+#print IsometryEquiv.toRealLinearIsometryEquiv_symm_apply /-
@[simp]
theorem toRealLinearIsometryEquiv_symm_apply (f : E ≃ᵢ F) (y : F) :
(f.toRealLinearIsometryEquiv.symm : F → E) y = f.symm (y + f 0) :=
rfl
#align isometry_equiv.to_real_linear_isometry_equiv_symm_apply IsometryEquiv.toRealLinearIsometryEquiv_symm_apply
+-/
#print IsometryEquiv.toRealAffineIsometryEquiv /-
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed add-torsors over
@@ -167,15 +177,19 @@ def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
#align isometry_equiv.to_real_affine_isometry_equiv IsometryEquiv.toRealAffineIsometryEquiv
-/
+#print IsometryEquiv.coeFn_toRealAffineIsometryEquiv /-
@[simp]
theorem coeFn_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : ⇑f.toRealAffineIsometryEquiv = f :=
rfl
#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquiv
+-/
+#print IsometryEquiv.coe_toRealAffineIsometryEquiv /-
@[simp]
theorem coe_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) :
f.toRealAffineIsometryEquiv.toIsometryEquiv = f := by ext; rfl
#align isometry_equiv.coe_to_real_affine_isometry_equiv IsometryEquiv.coe_toRealAffineIsometryEquiv
+-/
end IsometryEquiv
mathlib commit https://github.com/leanprover-community/mathlib/commit/7e5137f579de09a059a5ce98f364a04e221aabf0
@@ -66,7 +66,6 @@ theorem midpoint_fixed {x y : PE} :
dist (e z) z ≤ dist (e z) x + dist x z := dist_triangle (e z) x z
_ = dist (e x) (e z) + dist x z := by rw [hx, dist_comm]
_ = dist x z + dist x z := by erw [e.dist_eq x z]
-
-- On the other hand, consider the map `f : (E ≃ᵢ E) → (E ≃ᵢ E)`
-- sending each `e` to `R ∘ e⁻¹ ∘ R ∘ e`, where `R` is the point reflection in the
-- midpoint `z` of `[x, y]`.
mathlib commit https://github.com/leanprover-community/mathlib/commit/5f25c089cb34db4db112556f23c50d12da81b297
@@ -55,7 +55,7 @@ theorem midpoint_fixed {x y : PE} :
by
set z := midpoint ℝ x y
-- Consider the set of `e : E ≃ᵢ E` such that `e x = x` and `e y = y`
- set s := { e : PE ≃ᵢ PE | e x = x ∧ e y = y }
+ set s := {e : PE ≃ᵢ PE | e x = x ∧ e y = y}
haveI : Nonempty s := ⟨⟨IsometryEquiv.refl PE, rfl, rfl⟩⟩
-- On the one hand, `e` cannot send the midpoint `z` of `[x, y]` too far
have h_bdd : BddAbove (range fun e : s => dist (e z) z) :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/cca40788df1b8755d5baf17ab2f27dacc2e17acb
@@ -106,9 +106,9 @@ theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midp
have hx : e x = x := by simp
have hy : e y = y := by simp
have hm := e.midpoint_fixed hx hy
- simp only [e, trans_apply] at hm
+ simp only [e, trans_apply] at hm
rwa [← eq_symm_apply, to_isometry_equiv_symm, point_reflection_symm, coe_to_isometry_equiv,
- coe_to_isometry_equiv, point_reflection_self, symm_apply_eq, point_reflection_fixed_iff] at hm
+ coe_to_isometry_equiv, point_reflection_self, symm_apply_eq, point_reflection_fixed_iff] at hm
#align isometry_equiv.map_midpoint IsometryEquiv.map_midpoint
/-!
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -47,12 +47,6 @@ namespace IsometryEquiv
include E
-/- warning: isometry_equiv.midpoint_fixed -> IsometryEquiv.midpoint_fixed is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {PE : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] {x : PE} {y : PE} (e : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))), (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e x) x) -> (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e y) y) -> (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y)) (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y))
-but is expected to have type
- forall {E : Type.{u1}} {PE : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] {x : PE} {y : PE} (e : IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))), (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) x) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e x) x) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) y) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e y) y) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y)) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y)) (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y))
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixedₓ'. -/
/-- If an isometric self-homeomorphism of a normed vector space over `ℝ` fixes `x` and `y`,
then it fixes the midpoint of `[x, y]`. This is a lemma for a more general Mazur-Ulam theorem,
see below. -/
@@ -103,9 +97,6 @@ theorem midpoint_fixed {x y : PE} :
include F
-/- warning: isometry_equiv.map_midpoint -> IsometryEquiv.map_midpoint is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.map_midpoint IsometryEquiv.map_midpointₓ'. -/
/-- A bijective isometry sends midpoints to midpoints. -/
theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midpoint ℝ (f x) (f y) :=
by
@@ -126,12 +117,6 @@ We define a conversion to a `continuous_linear_equiv` first, then a conversion t
-/
-/- warning: isometry_equiv.to_real_linear_isometry_equiv_of_map_zero -> IsometryEquiv.toRealLinearIsometryEquivOfMapZero is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))), (Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))) -> (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6))
-but is expected to have type
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))), (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))))) f (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) _inst_5))))))))) -> (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6))
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZeroₓ'. -/
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
over `ℝ` and `f 0 = 0`, then `f` is a linear isometry equivalence. -/
def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃ₗᵢ[ℝ] F :=
@@ -139,18 +124,12 @@ def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃
norm_map' := fun x => show ‖f x‖ = ‖x‖ by simp only [← dist_zero_right, ← h0, f.dist_eq] }
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
-/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zeroₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0) = f :=
rfl
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
-/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symmₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0).symm = f.symm :=
@@ -166,18 +145,12 @@ def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
#align isometry_equiv.to_real_linear_isometry_equiv IsometryEquiv.toRealLinearIsometryEquiv
-/
-/- warning: isometry_equiv.to_real_linear_equiv_apply -> IsometryEquiv.to_real_linear_equiv_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_applyₓ'. -/
@[simp]
theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
(f.toRealLinearIsometryEquiv : E → F) x = f x - f 0 :=
(sub_eq_add_neg (f x) (f 0)).symm
#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
-/- warning: isometry_equiv.to_real_linear_isometry_equiv_symm_apply -> IsometryEquiv.toRealLinearIsometryEquiv_symm_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_isometry_equiv_symm_apply IsometryEquiv.toRealLinearIsometryEquiv_symm_applyₓ'. -/
@[simp]
theorem toRealLinearIsometryEquiv_symm_apply (f : E ≃ᵢ F) (y : F) :
(f.toRealLinearIsometryEquiv.symm : F → E) y = f.symm (y + f 0) :=
@@ -195,20 +168,11 @@ def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
#align isometry_equiv.to_real_affine_isometry_equiv IsometryEquiv.toRealAffineIsometryEquiv
-/
-/- warning: isometry_equiv.coe_fn_to_real_affine_isometry_equiv -> IsometryEquiv.coeFn_toRealAffineIsometryEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coeFn_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : ⇑f.toRealAffineIsometryEquiv = f :=
rfl
#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquiv
-/- warning: isometry_equiv.coe_to_real_affine_isometry_equiv -> IsometryEquiv.coe_toRealAffineIsometryEquiv is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))), Eq.{max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (AffineIsometryEquiv.toIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8 (IsometryEquiv.toRealAffineIsometryEquiv.{u1, u2, u3, u4} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) f
-but is expected to have type
- forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))), Eq.{max (succ u4) (succ u3)} (IsometryEquiv.{u4, u3} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7))) (AffineIsometryEquiv.toIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8 (IsometryEquiv.toRealAffineIsometryEquiv.{u2, u4, u1, u3} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) f
-Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_affine_isometry_equiv IsometryEquiv.coe_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coe_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) :
f.toRealAffineIsometryEquiv.toIsometryEquiv = f := by ext; rfl
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -96,8 +96,7 @@ theorem midpoint_fixed {x y : PE} :
rintro ⟨e, he⟩
simp only [Subtype.coe_mk, le_div_iff' (zero_lt_two' ℝ), ← hf_dist]
exact le_ciSup h_bdd ⟨f e, hf_maps_to he⟩
- replace : c ≤ 0
- · linarith
+ replace : c ≤ 0; · linarith
refine' fun e hx hy => dist_le_zero.1 (le_trans _ this)
exact le_ciSup h_bdd ⟨e, hx, hy⟩
#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixed
@@ -212,10 +211,7 @@ but is expected to have type
Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_affine_isometry_equiv IsometryEquiv.coe_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coe_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) :
- f.toRealAffineIsometryEquiv.toIsometryEquiv = f :=
- by
- ext
- rfl
+ f.toRealAffineIsometryEquiv.toIsometryEquiv = f := by ext; rfl
#align isometry_equiv.coe_to_real_affine_isometry_equiv IsometryEquiv.coe_toRealAffineIsometryEquiv
end IsometryEquiv
mathlib commit https://github.com/leanprover-community/mathlib/commit/917c3c072e487b3cccdbfeff17e75b40e45f66cb
@@ -105,10 +105,7 @@ theorem midpoint_fixed {x y : PE} :
include F
/- warning: isometry_equiv.map_midpoint -> IsometryEquiv.map_midpoint is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (x : PE) (y : PE), Eq.{succ u4} PF (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y)) (midpoint.{0, u3, u4} Real F PF Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_5) (NormedSpace.toModule.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_6) (NormedAddTorsor.toAddTorsor'.{u3, u4} F PF _inst_5 _inst_7 _inst_8) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f x) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f y))
-but is expected to have type
- forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) (x : PE) (y : PE), Eq.{succ u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) (midpoint.{0, u2, u4} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) _inst_4) x y)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f (midpoint.{0, u2, u4} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) _inst_4) x y)) (midpoint.{0, u1, u3} Real F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedAddTorsor.toAddTorsor.{u1, u3} F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) _inst_7) _inst_8) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f y))
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.map_midpoint IsometryEquiv.map_midpointₓ'. -/
/-- A bijective isometry sends midpoints to midpoints. -/
theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midpoint ℝ (f x) (f y) :=
@@ -144,10 +141,7 @@ def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (h0 : Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))), Eq.{max (succ u1) (succ u2)} (E -> F) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (fun (_x : LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) => E -> F) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f)
-but is expected to have type
- forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (h0 : Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) _inst_5))))))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : E), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E (fun (_x : E) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)))))) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zeroₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
@@ -156,10 +150,7 @@ theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (h0 : Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))), Eq.{max (succ u2) (succ u1)} (F -> E) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (fun (_x : LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) => F -> E) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u2, u1} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (LinearIsometryEquiv.symm.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (fun (_x : IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) => F -> E) (IsometryEquiv.hasCoeToFun.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (IsometryEquiv.symm.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) f))
-but is expected to have type
- forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (h0 : Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) _inst_5))))))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : F), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F (fun (_x : F) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F E (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u1, u2} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)))))) (LinearIsometryEquiv.symm.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => E) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))))) (IsometryEquiv.symm.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) f))
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symmₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
@@ -177,10 +168,7 @@ def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
-/
/- warning: isometry_equiv.to_real_linear_equiv_apply -> IsometryEquiv.to_real_linear_equiv_apply is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (x : E), Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (fun (_x : LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) => E -> F) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (IsometryEquiv.toRealLinearIsometryEquiv.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f) x) (HSub.hSub.{u2, u2, u2} F F F (instHSub.{u2} F (SubNegMonoid.toHasSub.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))))
-but is expected to have type
- forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (x : E), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E (fun (_x : E) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)))))) (IsometryEquiv.toRealLinearIsometryEquiv.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (instHSub.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (NormedAddGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (NormedAddCommGroup.toNormedAddGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) _inst_5))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_applyₓ'. -/
@[simp]
theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
@@ -189,10 +177,7 @@ theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
/- warning: isometry_equiv.to_real_linear_isometry_equiv_symm_apply -> IsometryEquiv.toRealLinearIsometryEquiv_symm_apply is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (y : F), Eq.{succ u1} E (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (fun (_x : LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) => F -> E) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u2, u1} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (LinearIsometryEquiv.symm.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquiv.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f)) y) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (fun (_x : IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) => F -> E) (IsometryEquiv.hasCoeToFun.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (IsometryEquiv.symm.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) f) (HAdd.hAdd.{u2, u2, u2} F F F (instHAdd.{u2} F (AddZeroClass.toHasAdd.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5))))))) y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1))))))))))))
-but is expected to have type
- forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (y : F), Eq.{succ u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) y) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F (fun (_x : F) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F E (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u1, u2} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)))))) (LinearIsometryEquiv.symm.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquiv.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f)) y) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => E) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))))) (IsometryEquiv.symm.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) f) (HAdd.hAdd.{u1, u1, u1} F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) F (instHAdd.{u1} F (AddZeroClass.toAdd.{u1} F (AddMonoid.toAddZeroClass.{u1} F (SubNegMonoid.toAddMonoid.{u1} F (AddGroup.toSubNegMonoid.{u1} F (NormedAddGroup.toAddGroup.{u1} F (NormedAddCommGroup.toNormedAddGroup.{u1} F _inst_5))))))) y (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1)))))))))))
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_isometry_equiv_symm_apply IsometryEquiv.toRealLinearIsometryEquiv_symm_applyₓ'. -/
@[simp]
theorem toRealLinearIsometryEquiv_symm_apply (f : E ≃ᵢ F) (y : F) :
@@ -212,10 +197,7 @@ def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
-/
/- warning: isometry_equiv.coe_fn_to_real_affine_isometry_equiv -> IsometryEquiv.coeFn_toRealAffineIsometryEquiv is a dubious translation:
-lean 3 declaration is
- forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))), Eq.{max (succ u2) (succ u4)} (PE -> PF) (coeFn.{max (succ u1) (succ u3) (succ u2) (succ u4), max (succ u2) (succ u4)} (AffineIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) (fun (_x : AffineIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) => PE -> PF) (AffineIsometryEquiv.hasCoeToFun.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) (IsometryEquiv.toRealAffineIsometryEquiv.{u1, u2, u3, u4} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f)
-but is expected to have type
- forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : PE), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) ᾰ) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE PF (EquivLike.toEmbeddingLike.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE PF (AffineIsometryEquiv.instEquivLikeAffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8))) (IsometryEquiv.toRealAffineIsometryEquiv.{u2, u4, u1, u3} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f)
+<too large>
Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coeFn_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : ⇑f.toRealAffineIsometryEquiv = f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/1b0a28e1c93409dbf6d69526863cd9984ef652ce
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
! This file was ported from Lean 3 source module analysis.normed_space.mazur_ulam
-! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
+! leanprover-community/mathlib commit 1b0a28e1c93409dbf6d69526863cd9984ef652ce
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
@@ -14,6 +14,9 @@ import Mathbin.Analysis.NormedSpace.AffineIsometry
/-!
# Mazur-Ulam Theorem
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
Mazur-Ulam theorem states that an isometric bijection between two normed affine spaces over `ℝ` is
affine. We formalize it in three definitions:
mathlib commit https://github.com/leanprover-community/mathlib/commit/f51de8769c34652d82d1c8e5f8f18f8374782bed
@@ -44,6 +44,12 @@ namespace IsometryEquiv
include E
+/- warning: isometry_equiv.midpoint_fixed -> IsometryEquiv.midpoint_fixed is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {PE : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] {x : PE} {y : PE} (e : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))), (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e x) x) -> (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e y) y) -> (Eq.{succ u2} PE (coeFn.{succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) (fun (_x : IsometryEquiv.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) => PE -> PE) (IsometryEquiv.hasCoeToFun.{u2, u2} PE PE (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3))) e (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y)) (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y))
+but is expected to have type
+ forall {E : Type.{u1}} {PE : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] {x : PE} {y : PE} (e : IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))), (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) x) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e x) x) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) y) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e y) y) -> (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y)) (FunLike.coe.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PE) _x) (EmbeddingLike.toFunLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (EquivLike.toEmbeddingLike.{succ u2, succ u2, succ u2} (IsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))) PE PE (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u2} PE PE (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toEMetricSpace.{u2} PE _inst_3))))) e (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y)) (midpoint.{0, u1, u2} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) _inst_4) x y))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixedₓ'. -/
/-- If an isometric self-homeomorphism of a normed vector space over `ℝ` fixes `x` and `y`,
then it fixes the midpoint of `[x, y]`. This is a lemma for a more general Mazur-Ulam theorem,
see below. -/
@@ -95,6 +101,12 @@ theorem midpoint_fixed {x y : PE} :
include F
+/- warning: isometry_equiv.map_midpoint -> IsometryEquiv.map_midpoint is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (x : PE) (y : PE), Eq.{succ u4} PF (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f (midpoint.{0, u1, u2} Real E PE Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor'.{u1, u2} E PE _inst_1 _inst_3 _inst_4) x y)) (midpoint.{0, u3, u4} Real F PF Real.ring (invertibleTwo.{0} Real Real.divisionRing (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u3} F _inst_5) (NormedSpace.toModule.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_6) (NormedAddTorsor.toAddTorsor'.{u3, u4} F PF _inst_5 _inst_7 _inst_8) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f x) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f y))
+but is expected to have type
+ forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) (x : PE) (y : PE), Eq.{succ u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) (midpoint.{0, u2, u4} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) _inst_4) x y)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f (midpoint.{0, u2, u4} Real E PE Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedAddTorsor.toAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) _inst_4) x y)) (midpoint.{0, u1, u3} Real F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) Real.instRingReal (invertibleTwo.{0} Real Real.instDivisionRingReal (StrictOrderedSemiring.to_charZero.{0} Real Real.strictOrderedSemiring)) (NormedAddCommGroup.toAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedAddTorsor.toAddTorsor.{u1, u3} F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) x) _inst_7) _inst_8) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f x) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f y))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.map_midpoint IsometryEquiv.map_midpointₓ'. -/
/-- A bijective isometry sends midpoints to midpoints. -/
theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midpoint ℝ (f x) (f y) :=
by
@@ -115,6 +127,12 @@ We define a conversion to a `continuous_linear_equiv` first, then a conversion t
-/
+/- warning: isometry_equiv.to_real_linear_isometry_equiv_of_map_zero -> IsometryEquiv.toRealLinearIsometryEquivOfMapZero is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))), (Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))) -> (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6))
+but is expected to have type
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))), (Eq.{succ u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u1) (succ u2), succ u1, succ u2} (IsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} E F (EMetricSpace.toPseudoEMetricSpace.{u1} E (MetricSpace.toEMetricSpace.{u1} E (NormedAddCommGroup.toMetricSpace.{u1} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u2} F (MetricSpace.toEMetricSpace.{u2} F (NormedAddCommGroup.toMetricSpace.{u2} F _inst_5)))))) f (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (OfNat.ofNat.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) 0 (Zero.toOfNat0.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (NegZeroClass.toZero.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u2} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u1} E 0 (Zero.toOfNat0.{u1} E (NegZeroClass.toZero.{u1} E (SubNegZeroMonoid.toNegZeroClass.{u1} E (SubtractionMonoid.toSubNegZeroMonoid.{u1} E (SubtractionCommMonoid.toSubtractionMonoid.{u1} E (AddCommGroup.toDivisionAddCommMonoid.{u1} E (NormedAddCommGroup.toAddCommGroup.{u1} E _inst_1))))))))) _inst_5))))))))) -> (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZeroₓ'. -/
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
over `ℝ` and `f 0 = 0`, then `f` is a linear isometry equivalence. -/
def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃ₗᵢ[ℝ] F :=
@@ -122,37 +140,64 @@ def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃
norm_map' := fun x => show ‖f x‖ = ‖x‖ by simp only [← dist_zero_right, ← h0, f.dist_eq] }
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
+/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (h0 : Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))), Eq.{max (succ u1) (succ u2)} (E -> F) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (fun (_x : LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) => E -> F) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0)) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f)
+but is expected to have type
+ forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (h0 : Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) _inst_5))))))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : E), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E (fun (_x : E) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)))))) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f)
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zeroₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0) = f :=
rfl
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
+/- warning: isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm -> IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (h0 : Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))) (OfNat.ofNat.{u2} F 0 (OfNat.mk.{u2} F 0 (Zero.zero.{u2} F (AddZeroClass.toHasZero.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5)))))))))), Eq.{max (succ u2) (succ u1)} (F -> E) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (fun (_x : LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) => F -> E) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u2, u1} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (LinearIsometryEquiv.symm.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0))) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (fun (_x : IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) => F -> E) (IsometryEquiv.hasCoeToFun.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (IsometryEquiv.symm.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) f))
+but is expected to have type
+ forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (h0 : Eq.{succ u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (OfNat.ofNat.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) 0 (Zero.toOfNat0.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NegZeroClass.toZero.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubNegZeroMonoid.toNegZeroClass.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionMonoid.toSubNegZeroMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (SubtractionCommMonoid.toSubtractionMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (AddCommGroup.toDivisionAddCommMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) (NormedAddCommGroup.toAddCommGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) _inst_5))))))))), Eq.{max (succ u2) (succ u1)} (forall (ᾰ : F), (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) ᾰ) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F (fun (_x : F) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F E (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u1, u2} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)))))) (LinearIsometryEquiv.symm.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquivOfMapZero.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f h0))) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => E) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))))) (IsometryEquiv.symm.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) f))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symmₓ'. -/
@[simp]
theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0).symm = f.symm :=
rfl
#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm
+#print IsometryEquiv.toRealLinearIsometryEquiv /-
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
over `ℝ`, then `x ↦ f x - f 0` is a linear isometry equivalence. -/
def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
(f.trans (IsometryEquiv.addRight (f 0)).symm).toRealLinearIsometryEquivOfMapZero
(by simpa only [sub_eq_add_neg] using sub_self (f 0))
#align isometry_equiv.to_real_linear_isometry_equiv IsometryEquiv.toRealLinearIsometryEquiv
+-/
+/- warning: isometry_equiv.to_real_linear_equiv_apply -> IsometryEquiv.to_real_linear_equiv_apply is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (x : E), Eq.{succ u2} F (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (fun (_x : LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) => E -> F) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6)) (IsometryEquiv.toRealLinearIsometryEquiv.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f) x) (HSub.hSub.{u2, u2, u2} F F F (instHSub.{u2} F (SubNegMonoid.toHasSub.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5))))) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f x) (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1)))))))))))
+but is expected to have type
+ forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (x : E), Eq.{succ u1} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E (fun (_x : E) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : E) => F) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) E F (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u2, u1} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u2, u1, max u2 u1} Real Real E F (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) E F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6)))))) (IsometryEquiv.toRealLinearIsometryEquiv.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f) x) (HSub.hSub.{u1, u1, u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (instHSub.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (SubNegMonoid.toSub.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (AddGroup.toSubNegMonoid.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (NormedAddGroup.toAddGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) (NormedAddCommGroup.toNormedAddGroup.{u1} ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) x) _inst_5))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f x) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_applyₓ'. -/
@[simp]
theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
(f.toRealLinearIsometryEquiv : E → F) x = f x - f 0 :=
(sub_eq_add_neg (f x) (f 0)).symm
#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
+/- warning: isometry_equiv.to_real_linear_isometry_equiv_symm_apply -> IsometryEquiv.toRealLinearIsometryEquiv_symm_apply is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {F : Type.{u2}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u2} F] [_inst_6 : NormedSpace.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)] (f : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (y : F), Eq.{succ u1} E (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (fun (_x : LinearIsometryEquiv.{0, 0, u2, u1} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) => F -> E) (LinearIsometryEquiv.hasCoeToFun.{0, 0, u2, u1} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2)) (LinearIsometryEquiv.symm.{0, 0, u1, u2} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) (NormedSpace.toModule.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u2} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquiv.{u1, u2} E F _inst_1 _inst_2 _inst_5 _inst_6 f)) y) (coeFn.{max (succ u2) (succ u1), max (succ u2) (succ u1)} (IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (fun (_x : IsometryEquiv.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) => F -> E) (IsometryEquiv.hasCoeToFun.{u2, u1} F E (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)))) (IsometryEquiv.symm.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5))) f) (HAdd.hAdd.{u2, u2, u2} F F F (instHAdd.{u2} F (AddZeroClass.toHasAdd.{u2} F (AddMonoid.toAddZeroClass.{u2} F (SubNegMonoid.toAddMonoid.{u2} F (AddGroup.toSubNegMonoid.{u2} F (NormedAddGroup.toAddGroup.{u2} F (NormedAddCommGroup.toNormedAddGroup.{u2} F _inst_5))))))) y (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) (fun (_x : IsometryEquiv.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) => E -> F) (IsometryEquiv.hasCoeToFun.{u1, u2} E F (PseudoMetricSpace.toPseudoEMetricSpace.{u1} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1))) (PseudoMetricSpace.toPseudoEMetricSpace.{u2} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} F _inst_5)))) f (OfNat.ofNat.{u1} E 0 (OfNat.mk.{u1} E 0 (Zero.zero.{u1} E (AddZeroClass.toHasZero.{u1} E (AddMonoid.toAddZeroClass.{u1} E (SubNegMonoid.toAddMonoid.{u1} E (AddGroup.toSubNegMonoid.{u1} E (NormedAddGroup.toAddGroup.{u1} E (NormedAddCommGroup.toNormedAddGroup.{u1} E _inst_1))))))))))))
+but is expected to have type
+ forall {E : Type.{u2}} {F : Type.{u1}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] (f : IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) (y : F), Eq.{succ u2} ((fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) y) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F (fun (_x : F) => (fun (x._@.Mathlib.Topology.ContinuousFunction.Basic._hyg.699 : F) => E) _x) (ContinuousMapClass.toFunLike.{max u2 u1, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) F E (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (ContinuousSemilinearMapClass.toContinuousMapClass.{max u2 u1, 0, 0, u1, u2} (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) F (UniformSpace.toTopologicalSpace.{u1} F (PseudoMetricSpace.toUniformSpace.{u1} F (SeminormedAddCommGroup.toPseudoMetricSpace.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)))) (AddCommGroup.toAddCommMonoid.{u1} F (SeminormedAddCommGroup.toAddCommGroup.{u1} F (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5))) E (UniformSpace.toTopologicalSpace.{u2} E (PseudoMetricSpace.toUniformSpace.{u2} E (SeminormedAddCommGroup.toPseudoMetricSpace.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)))) (AddCommGroup.toAddCommMonoid.{u2} E (SeminormedAddCommGroup.toAddCommGroup.{u2} E (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1))) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryClass.instContinuousSemilinearMapClassToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroupToTopologicalSpaceToUniformSpaceToPseudoMetricSpaceToAddCommMonoidToAddCommGroup.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (SemilinearIsometryEquivClass.instSemilinearIsometryClass.{0, 0, u1, u2, max u2 u1} Real Real F E (LinearIsometryEquiv.{0, 0, u1, u2} Real Real Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) F E (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)) Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (LinearIsometryEquiv.instSemilinearIsometryEquivClassLinearIsometryEquiv.{0, 0, u1, u2} Real Real F E Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2)))))) (LinearIsometryEquiv.symm.{0, 0, u2, u1} Real Real E F Real.semiring Real.semiring (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHom.id.{0} Real (Semiring.toNonAssocSemiring.{0} Real Real.semiring)) (RingHomInvPair.ids.{0} Real Real.semiring) (RingHomInvPair.ids.{0} Real Real.semiring) (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (NormedSpace.toModule.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) _inst_2) (NormedSpace.toModule.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_6) (IsometryEquiv.toRealLinearIsometryEquiv.{u2, u1} E F _inst_1 _inst_2 _inst_5 _inst_6 f)) y) (FunLike.coe.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F (fun (_x : F) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : F) => E) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u1, succ u2} (IsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))) F E (IsometryEquiv.instEquivLikeIsometryEquiv.{u1, u2} F E (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1)))))) (IsometryEquiv.symm.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5))) f) (HAdd.hAdd.{u1, u1, u1} F ((fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1))))))))) F (instHAdd.{u1} F (AddZeroClass.toAdd.{u1} F (AddMonoid.toAddZeroClass.{u1} F (SubNegMonoid.toAddMonoid.{u1} F (AddGroup.toSubNegMonoid.{u1} F (NormedAddGroup.toAddGroup.{u1} F (NormedAddCommGroup.toNormedAddGroup.{u1} F _inst_5))))))) y (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E (fun (_x : E) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : E) => F) _x) (EmbeddingLike.toFunLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (EquivLike.toEmbeddingLike.{max (succ u2) (succ u1), succ u2, succ u1} (IsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))) E F (IsometryEquiv.instEquivLikeIsometryEquiv.{u2, u1} E F (EMetricSpace.toPseudoEMetricSpace.{u2} E (MetricSpace.toEMetricSpace.{u2} E (NormedAddCommGroup.toMetricSpace.{u2} E _inst_1))) (EMetricSpace.toPseudoEMetricSpace.{u1} F (MetricSpace.toEMetricSpace.{u1} F (NormedAddCommGroup.toMetricSpace.{u1} F _inst_5)))))) f (OfNat.ofNat.{u2} E 0 (Zero.toOfNat0.{u2} E (NegZeroClass.toZero.{u2} E (SubNegZeroMonoid.toNegZeroClass.{u2} E (SubtractionMonoid.toSubNegZeroMonoid.{u2} E (SubtractionCommMonoid.toSubtractionMonoid.{u2} E (AddCommGroup.toDivisionAddCommMonoid.{u2} E (NormedAddCommGroup.toAddCommGroup.{u2} E _inst_1)))))))))))
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.to_real_linear_isometry_equiv_symm_apply IsometryEquiv.toRealLinearIsometryEquiv_symm_applyₓ'. -/
@[simp]
theorem toRealLinearIsometryEquiv_symm_apply (f : E ≃ᵢ F) (y : F) :
(f.toRealLinearIsometryEquiv.symm : F → E) y = f.symm (y + f 0) :=
rfl
#align isometry_equiv.to_real_linear_isometry_equiv_symm_apply IsometryEquiv.toRealLinearIsometryEquiv_symm_apply
+#print IsometryEquiv.toRealAffineIsometryEquiv /-
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed add-torsors over
normed vector spaces over `ℝ`, then `f` is an affine isometry equivalence. -/
def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
@@ -161,12 +206,25 @@ def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
f.trans (vaddConst (f <| Classical.arbitrary PE)).symm).toRealLinearIsometryEquiv
(Classical.arbitrary PE) fun p => by simp
#align isometry_equiv.to_real_affine_isometry_equiv IsometryEquiv.toRealAffineIsometryEquiv
+-/
+/- warning: isometry_equiv.coe_fn_to_real_affine_isometry_equiv -> IsometryEquiv.coeFn_toRealAffineIsometryEquiv is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))), Eq.{max (succ u2) (succ u4)} (PE -> PF) (coeFn.{max (succ u1) (succ u3) (succ u2) (succ u4), max (succ u2) (succ u4)} (AffineIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) (fun (_x : AffineIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) => PE -> PF) (AffineIsometryEquiv.hasCoeToFun.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8) (IsometryEquiv.toRealAffineIsometryEquiv.{u1, u2, u3, u4} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) (coeFn.{max (succ u2) (succ u4), max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (fun (_x : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) => PE -> PF) (IsometryEquiv.hasCoeToFun.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) f)
+but is expected to have type
+ forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))), Eq.{max (succ u4) (succ u3)} (forall (ᾰ : PE), (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) ᾰ) (FunLike.coe.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE PF (EquivLike.toEmbeddingLike.{max (max (max (succ u2) (succ u4)) (succ u1)) (succ u3), succ u4, succ u3} (AffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8) PE PF (AffineIsometryEquiv.instEquivLikeAffineIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8))) (IsometryEquiv.toRealAffineIsometryEquiv.{u2, u4, u1, u3} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) (FunLike.coe.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE (fun (_x : PE) => (fun (x._@.Mathlib.Data.FunLike.Embedding._hyg.19 : PE) => PF) _x) (EmbeddingLike.toFunLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (EquivLike.toEmbeddingLike.{max (succ u4) (succ u3), succ u4, succ u3} (IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))) PE PF (IsometryEquiv.instEquivLikeIsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))))) f)
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coeFn_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : ⇑f.toRealAffineIsometryEquiv = f :=
rfl
#align isometry_equiv.coe_fn_to_real_affine_isometry_equiv IsometryEquiv.coeFn_toRealAffineIsometryEquiv
+/- warning: isometry_equiv.coe_to_real_affine_isometry_equiv -> IsometryEquiv.coe_toRealAffineIsometryEquiv is a dubious translation:
+lean 3 declaration is
+ forall {E : Type.{u1}} {PE : Type.{u2}} {F : Type.{u3}} {PF : Type.{u4}} [_inst_1 : NormedAddCommGroup.{u1} E] [_inst_2 : NormedSpace.{0, u1} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1)] [_inst_3 : MetricSpace.{u2} PE] [_inst_4 : NormedAddTorsor.{u1, u2} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u3} F] [_inst_6 : NormedSpace.{0, u3} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5)] [_inst_7 : MetricSpace.{u4} PF] [_inst_8 : NormedAddTorsor.{u3, u4} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7)] (f : IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))), Eq.{max (succ u2) (succ u4)} (IsometryEquiv.{u2, u4} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u2} PE (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PF (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7))) (AffineIsometryEquiv.toIsometryEquiv.{0, u1, u3, u2, u4} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u3} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u2} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u4} PF _inst_7) _inst_4 _inst_8 (IsometryEquiv.toRealAffineIsometryEquiv.{u1, u2, u3, u4} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) f
+but is expected to have type
+ forall {E : Type.{u2}} {PE : Type.{u4}} {F : Type.{u1}} {PF : Type.{u3}} [_inst_1 : NormedAddCommGroup.{u2} E] [_inst_2 : NormedSpace.{0, u2} Real E Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1)] [_inst_3 : MetricSpace.{u4} PE] [_inst_4 : NormedAddTorsor.{u2, u4} E PE (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)] [_inst_5 : NormedAddCommGroup.{u1} F] [_inst_6 : NormedSpace.{0, u1} Real F Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5)] [_inst_7 : MetricSpace.{u3} PF] [_inst_8 : NormedAddTorsor.{u1, u3} F PF (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7)] (f : IsometryEquiv.{u4, u3} PE PF (EMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toEMetricSpace.{u4} PE _inst_3)) (EMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toEMetricSpace.{u3} PF _inst_7))), Eq.{max (succ u4) (succ u3)} (IsometryEquiv.{u4, u3} PE PF (PseudoMetricSpace.toPseudoEMetricSpace.{u4} PE (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3)) (PseudoMetricSpace.toPseudoEMetricSpace.{u3} PF (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7))) (AffineIsometryEquiv.toIsometryEquiv.{0, u2, u1, u4, u3} Real E F PE PF Real.normedField (NormedAddCommGroup.toSeminormedAddCommGroup.{u2} E _inst_1) (NormedAddCommGroup.toSeminormedAddCommGroup.{u1} F _inst_5) _inst_2 _inst_6 (MetricSpace.toPseudoMetricSpace.{u4} PE _inst_3) (MetricSpace.toPseudoMetricSpace.{u3} PF _inst_7) _inst_4 _inst_8 (IsometryEquiv.toRealAffineIsometryEquiv.{u2, u4, u1, u3} E PE F PF _inst_1 _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 f)) f
+Case conversion may be inaccurate. Consider using '#align isometry_equiv.coe_to_real_affine_isometry_equiv IsometryEquiv.coe_toRealAffineIsometryEquivₓ'. -/
@[simp]
theorem coe_toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) :
f.toRealAffineIsometryEquiv.toIsometryEquiv = f :=
mathlib commit https://github.com/leanprover-community/mathlib/commit/e3fb84046afd187b710170887195d50bada934ee
@@ -83,14 +83,14 @@ theorem midpoint_fixed {x y : PE} :
-- Therefore, `dist (e z) z = 0` for all `e ∈ s`.
set c := ⨆ e : s, dist ((e : PE ≃ᵢ PE) z) z
have : c ≤ c / 2 := by
- apply csupᵢ_le
+ apply ciSup_le
rintro ⟨e, he⟩
simp only [Subtype.coe_mk, le_div_iff' (zero_lt_two' ℝ), ← hf_dist]
- exact le_csupᵢ h_bdd ⟨f e, hf_maps_to he⟩
+ exact le_ciSup h_bdd ⟨f e, hf_maps_to he⟩
replace : c ≤ 0
· linarith
refine' fun e hx hy => dist_le_zero.1 (le_trans _ this)
- exact le_csupᵢ h_bdd ⟨e, hx, hy⟩
+ exact le_ciSup h_bdd ⟨e, hx, hy⟩
#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixed
include F
mathlib commit https://github.com/leanprover-community/mathlib/commit/38f16f960f5006c6c0c2bac7b0aba5273188f4e5
@@ -4,13 +4,12 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
! This file was ported from Lean 3 source module analysis.normed_space.mazur_ulam
-! leanprover-community/mathlib commit 4b99fe0a1096dc52abe68e65107220e604ea49b2
+! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
! Please do not edit these lines, except to modify the commit id
! if you have ported upstream changes.
-/
import Mathbin.Topology.Instances.RealVectorSpace
import Mathbin.Analysis.NormedSpace.AffineIsometry
-import Mathbin.LinearAlgebra.AffineSpace.Midpoint
/-!
# Mazur-Ulam Theorem
mathlib commit https://github.com/leanprover-community/mathlib/commit/bd9851ca476957ea4549eb19b40e7b5ade9428cc
ball
and bex
from lemma names (#10816)
ball
for "bounded forall" and bex
for "bounded exists" are from experience very confusing abbreviations. This PR renames them to forall_mem
and exists_mem
in the few Set
lemma names that mention them.
Also deprecate ball_image_of_ball
, mem_image_elim
, mem_image_elim_on
since those lemmas are duplicates of the renamed lemmas (apart from argument order and implicitness, which I am also fixing by making the binder in the RHS of forall_mem_image
semi-implicit), have obscure names and are completely unused.
@@ -50,7 +50,7 @@ theorem midpoint_fixed {x y : PE} :
haveI : Nonempty s := ⟨⟨IsometryEquiv.refl PE, rfl, rfl⟩⟩
-- On the one hand, `e` cannot send the midpoint `z` of `[x, y]` too far
have h_bdd : BddAbove (range fun e : s => dist ((e : PE ≃ᵢ PE) z) z) := by
- refine' ⟨dist x z + dist x z, forall_range_iff.2 <| Subtype.forall.2 _⟩
+ refine' ⟨dist x z + dist x z, forall_mem_range.2 <| Subtype.forall.2 _⟩
rintro e ⟨hx, _⟩
calc
dist (e z) z ≤ dist (e z) x + dist x z := dist_triangle (e z) x z
@@ -64,13 +64,13 @@ theorem midpoint_fixed {x y : PE} :
-- Note that `f` doubles the value of `dist (e z) z`
have hf_dist : ∀ e, dist (f e z) z = 2 * dist (e z) z := by
intro e
- dsimp
+ dsimp [f, R]
rw [dist_pointReflection_fixed, ← e.dist_eq, e.apply_symm_apply,
dist_pointReflection_self_real, dist_comm]
-- Also note that `f` maps `s` to itself
have hf_maps_to : MapsTo f s s := by
rintro e ⟨hx, hy⟩
- constructor <;> simp [hx, hy, e.symm_apply_eq.2 hx.symm, e.symm_apply_eq.2 hy.symm]
+ constructor <;> simp [f, R, z, hx, hy, e.symm_apply_eq.2 hx.symm, e.symm_apply_eq.2 hy.symm]
-- Therefore, `dist (e z) z = 0` for all `e ∈ s`.
set c := ⨆ e : s, dist ((e : PE ≃ᵢ PE) z) z
have : c ≤ c / 2 := by
@@ -88,10 +88,10 @@ theorem map_midpoint (f : PE ≃ᵢ PF) (x y : PE) : f (midpoint ℝ x y) = midp
set e : PE ≃ᵢ PE :=
((f.trans <| (pointReflection ℝ <| midpoint ℝ (f x) (f y)).toIsometryEquiv).trans f.symm).trans
(pointReflection ℝ <| midpoint ℝ x y).toIsometryEquiv
- have hx : e x = x := by simp
- have hy : e y = y := by simp
+ have hx : e x = x := by simp [e]
+ have hy : e y = y := by simp [e]
have hm := e.midpoint_fixed hx hy
- simp only [trans_apply] at hm
+ simp only [e, trans_apply] at hm
rwa [← eq_symm_apply, toIsometryEquiv_symm, pointReflection_symm, coe_toIsometryEquiv,
coe_toIsometryEquiv, pointReflection_self, symm_apply_eq, @pointReflection_fixed_iff] at hm
#align isometry_equiv.map_midpoint IsometryEquiv.map_midpoint
have
, replace
and suffices
(#10640)
No changes to tactic file, it's just boring fixes throughout the library.
This follows on from #6964.
Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr> Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@@ -78,8 +78,7 @@ theorem midpoint_fixed {x y : PE} :
rintro ⟨e, he⟩
simp only [Subtype.coe_mk, le_div_iff' (zero_lt_two' ℝ), ← hf_dist]
exact le_ciSup h_bdd ⟨f e, hf_maps_to he⟩
- replace : c ≤ 0
- · linarith
+ replace : c ≤ 0 := by linarith
refine' fun e hx hy => dist_le_zero.1 (le_trans _ this)
exact le_ciSup h_bdd ⟨e, hx, hy⟩
#align isometry_equiv.midpoint_fixed IsometryEquiv.midpoint_fixed
@@ -39,7 +39,6 @@ noncomputable section
namespace IsometryEquiv
-set_option maxHeartbeats 250000 in
/-- If an isometric self-homeomorphism of a normed vector space over `ℝ` fixes `x` and `y`,
then it fixes the midpoint of `[x, y]`. This is a lemma for a more general Mazur-Ulam theorem,
see below. -/
@@ -112,16 +111,16 @@ def toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) : E ≃
#align isometry_equiv.to_real_linear_isometry_equiv_of_map_zero IsometryEquiv.toRealLinearIsometryEquivOfMapZero
@[simp]
-theorem coe_to_real_linear_equiv_of_map_zero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
+theorem coe_toRealLinearIsometryEquivOfMapZero (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0) = f :=
rfl
-#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_to_real_linear_equiv_of_map_zero
+#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero
@[simp]
-theorem coe_to_real_linear_equiv_of_map_zero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
+theorem coe_toRealLinearIsometryEquivOfMapZero_symm (f : E ≃ᵢ F) (h0 : f 0 = 0) :
⇑(f.toRealLinearIsometryEquivOfMapZero h0).symm = f.symm :=
rfl
-#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_to_real_linear_equiv_of_map_zero_symm
+#align isometry_equiv.coe_to_real_linear_equiv_of_map_zero_symm IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero_symm
/-- **Mazur-Ulam Theorem**: if `f` is an isometric bijection between two normed vector spaces
over `ℝ`, then `x ↦ f x - f 0` is a linear isometry equivalence. -/
@@ -131,10 +130,10 @@ def toRealLinearIsometryEquiv (f : E ≃ᵢ F) : E ≃ₗᵢ[ℝ] F :=
#align isometry_equiv.to_real_linear_isometry_equiv IsometryEquiv.toRealLinearIsometryEquiv
@[simp]
-theorem to_real_linear_equiv_apply (f : E ≃ᵢ F) (x : E) :
+theorem toRealLinearIsometryEquiv_apply (f : E ≃ᵢ F) (x : E) :
(f.toRealLinearIsometryEquiv : E → F) x = f x - f 0 :=
(sub_eq_add_neg (f x) (f 0)).symm
-#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.to_real_linear_equiv_apply
+#align isometry_equiv.to_real_linear_equiv_apply IsometryEquiv.toRealLinearIsometryEquiv_apply
@[simp]
theorem toRealLinearIsometryEquiv_symm_apply (f : E ≃ᵢ F) (y : F) :
Type _
and Sort _
(#6499)
We remove all possible occurences of Type _
and Sort _
in favor of Type*
and Sort*
.
This has nice performance benefits.
@@ -29,7 +29,7 @@ isometry, affine map, linear map
-/
-variable {E PE F PF : Type _} [NormedAddCommGroup E] [NormedSpace ℝ E] [MetricSpace PE]
+variable {E PE F PF : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] [MetricSpace PE]
[NormedAddTorsor E PE] [NormedAddCommGroup F] [NormedSpace ℝ F] [MetricSpace PF]
[NormedAddTorsor F PF]
@@ -148,7 +148,7 @@ def toRealAffineIsometryEquiv (f : PE ≃ᵢ PF) : PE ≃ᵃⁱ[ℝ] PF :=
AffineIsometryEquiv.mk' f
((vaddConst (Classical.arbitrary PE)).trans <|
f.trans (vaddConst (f <| Classical.arbitrary PE)).symm).toRealLinearIsometryEquiv
- (Classical.arbitrary PE) fun p => by simp; rw [vsub_vadd]
+ (Classical.arbitrary PE) fun p => by simp
#align isometry_equiv.to_real_affine_isometry_equiv IsometryEquiv.toRealAffineIsometryEquiv
@[simp]
@@ -2,15 +2,12 @@
Copyright (c) 2020 Yury Kudryashov. All rights reserved.
Released under Apache 2.0 license as described in the file LICENSE.
Authors: Yury Kudryashov
-
-! This file was ported from Lean 3 source module analysis.normed_space.mazur_ulam
-! leanprover-community/mathlib commit 78261225eb5cedc61c5c74ecb44e5b385d13b733
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
-/
import Mathlib.Topology.Instances.RealVectorSpace
import Mathlib.Analysis.NormedSpace.AffineIsometry
+#align_import analysis.normed_space.mazur_ulam from "leanprover-community/mathlib"@"78261225eb5cedc61c5c74ecb44e5b385d13b733"
+
/-!
# Mazur-Ulam Theorem
I wrote a script to find lines that contain an odd number of backticks
@@ -65,7 +65,7 @@ theorem midpoint_fixed {x y : PE} :
-- midpoint `z` of `[x, y]`.
set R : PE ≃ᵢ PE := (pointReflection ℝ z).toIsometryEquiv
set f : PE ≃ᵢ PE → PE ≃ᵢ PE := fun e => ((e.trans R).trans e.symm).trans R
- -- Note that `f` doubles the value of ``dist (e z) z`
+ -- Note that `f` doubles the value of `dist (e z) z`
have hf_dist : ∀ e, dist (f e z) z = 2 * dist (e z) z := by
intro e
dsimp
The unported dependencies are
algebra.order.module
init.core
algebra.order.monoid.cancel.defs
algebra.abs
algebra.group_power.lemmas
init.data.list.basic
algebra.order.monoid.cancel.basic
init.data.list.default
topology.subset_properties
init.logic
The following 1 dependencies have changed in mathlib3 since they were ported, which may complicate porting this file