@@ -61,8 +61,8 @@ theorem inner_eq_zero_symm {x y : E} : ⟪x, y⟫ = 0 ↔ ⟪y, x⟫ = 0 := by
6161instance {ι : Sort*} (v : ι → E) : IsSymm ι fun i j => ⟪v i, v j⟫ = 0 where
6262 symm _ _ := inner_eq_zero_symm.1
6363
64- @[simp]
65- theorem inner_self_im (x : E) : im ⟪x, x⟫ = 0 := by rw [← @ofReal_inj 𝕜, im_eq_conj_sub]; simp
64+ theorem inner_self_im (x : E) : im ⟪x, x⟫ = 0 := by
65+ rw [← @ofReal_inj 𝕜, im_eq_conj_sub]; simp
6666
6767theorem inner_add_left (x y z : E) : ⟪x + y, z⟫ = ⟪x, z⟫ + ⟪y, z⟫ :=
6868 InnerProductSpace.add_left _ _ _
@@ -183,10 +183,10 @@ theorem inner_self_nonneg {x : E} : 0 ≤ re ⟪x, x⟫ :=
183183theorem real_inner_self_nonneg {x : F} : 0 ≤ ⟪x, x⟫_ℝ :=
184184 @inner_self_nonneg ℝ F _ _ _ x
185185
186- @[simp]
187186theorem inner_self_ofReal_re (x : E) : (re ⟪x, x⟫ : 𝕜) = ⟪x, x⟫ :=
188187 ((RCLike.is_real_TFAE (⟪x, x⟫ : 𝕜)).out 2 3 ).2 (inner_self_im (𝕜 := 𝕜) x)
189188
189+ @[simp]
190190theorem inner_self_eq_norm_sq_to_K (x : E) : ⟪x, x⟫ = (‖x‖ : 𝕜) ^ 2 := by
191191 rw [← inner_self_ofReal_re, ← norm_sq_eq_re_inner, ofReal_pow]
192192
@@ -290,7 +290,6 @@ local notation "⟪" x ", " y "⟫" => inner 𝕜 x y
290290
291291export InnerProductSpace (norm_sq_eq_re_inner)
292292
293- @[simp]
294293theorem inner_self_eq_zero {x : E} : ⟪x, x⟫ = 0 ↔ x = 0 := by
295294 rw [inner_self_eq_norm_sq_to_K, sq_eq_zero_iff, ofReal_eq_zero, norm_eq_zero]
296295
@@ -313,13 +312,11 @@ theorem ext_iff_inner_right {x y : E} : x = y ↔ ∀ v, ⟪x, v⟫ = ⟪y, v⟫
313312
314313variable {𝕜}
315314
316- @[simp]
317315theorem re_inner_self_nonpos {x : E} : re ⟪x, x⟫ ≤ 0 ↔ x = 0 := by
318- rw [← norm_sq_eq_re_inner, (sq_nonneg _).ge_iff_eq', sq_eq_zero_iff, norm_eq_zero]
316+ simp
319317
320- @[simp]
321318lemma re_inner_self_pos {x : E} : 0 < re ⟪x, x⟫ ↔ x ≠ 0 := by
322- simpa [-re_inner_self_nonpos] using re_inner_self_nonpos (𝕜 := 𝕜) (x := x).not
319+ simp [sq_pos_iff]
323320
324321@[deprecated (since := "2025-04-22")] alias inner_self_nonpos := re_inner_self_nonpos
325322@[deprecated (since := "2025-04-22")] alias inner_self_pos := re_inner_self_pos
@@ -744,7 +741,7 @@ theorem inner_eq_norm_mul_iff_div {x y : E} (h₀ : x ≠ 0) :
744741 · have : x = 0 ∨ y = (⟪x, y⟫ / ⟪x, x⟫ : 𝕜) • x :=
745742 ((norm_inner_eq_norm_tfae 𝕜 x y).out 0 1 ).1 (by simp [h])
746743 rw [this.resolve_left h₀, h]
747- simp [norm_smul, inner_self_ofReal_norm, mul_div_cancel_right₀ _ h₀']
744+ simp [norm_smul, mul_div_cancel_right₀ _ h₀']
748745 · conv_lhs => rw [← h, inner_smul_right, inner_self_eq_norm_sq_to_K]
749746 field
750747
@@ -796,6 +793,9 @@ theorem inner_eq_one_iff_of_norm_one {x y : E} (hx : ‖x‖ = 1) (hy : ‖y‖
796793 ⟪x, y⟫ = 1 ↔ x = y := by
797794 convert inner_eq_norm_mul_iff (𝕜 := 𝕜) (E := E) using 2 <;> simp [hx, hy]
798795
796+ theorem inner_self_eq_one_of_norm_one {x : E} (hx : ‖x‖ = 1 ) : ⟪x, x⟫_𝕜 = 1 :=
797+ (inner_eq_one_iff_of_norm_one hx hx).mpr rfl
798+
799799theorem inner_lt_norm_mul_iff_real {x y : F} : ⟪x, y⟫_ℝ < ‖x‖ * ‖y‖ ↔ ‖y‖ • x ≠ ‖x‖ • y :=
800800 calc
801801 ⟪x, y⟫_ℝ < ‖x‖ * ‖y‖ ↔ ⟪x, y⟫_ℝ ≠ ‖x‖ * ‖y‖ :=
@@ -813,7 +813,8 @@ theorem eq_of_norm_le_re_inner_eq_norm_sq {x y : E} (hle : ‖x‖ ≤ ‖y‖)
813813 suffices H : re ⟪x - y, x - y⟫ ≤ 0 by rwa [re_inner_self_nonpos, sub_eq_zero] at H
814814 have H₁ : ‖x‖ ^ 2 ≤ ‖y‖ ^ 2 := by gcongr
815815 have H₂ : re ⟪y, x⟫ = ‖y‖ ^ 2 := by rwa [← inner_conj_symm, conj_re]
816- simpa [inner_sub_left, inner_sub_right, ← norm_sq_eq_re_inner, h, H₂] using H₁
816+ simp only [inner_sub_left, inner_sub_right]
817+ simpa [h, H₂] using H₁
817818
818819/-- Equality is achieved in the triangle inequality iff the two vectors are collinear. -/
819820theorem norm_add_eq_iff_real {x y : F} : ‖x + y‖ = ‖x‖ + ‖y‖ ↔ ‖y‖ • x = ‖x‖ • y := by
0 commit comments