@@ -44,13 +44,9 @@ attribute [aesop 20% apply (rule_sets := [CStarAlgebra])] PosSemidef.nonneg
4444/-- The partial order on matrices given by `A ≤ B := (B - A).PosSemidef`. -/
4545abbrev instPartialOrder : PartialOrder (Matrix n n 𝕜) where
4646 le_antisymm A B h₁ h₂ := by
47- have foo := neg_nonneg.mp <| trace_neg (A - B) ▸ neg_sub A B ▸ h₁.trace_nonneg
48- have : (A - B).trace = 0 := le_antisymm foo h₂.trace_nonneg
49- classical
50- simp_rw [h₂.isHermitian.trace_eq_sum_eigenvalues, ← RCLike.ofReal_sum,
51- RCLike.ofReal_eq_zero, Finset.sum_eq_zero_iff_of_nonneg (s := Finset.univ)
52- (by simpa using h₂.eigenvalues_nonneg), Finset.mem_univ, true_imp_iff] at this
53- exact sub_eq_zero.mp <| funext_iff.eq ▸ h₂.isHermitian.eigenvalues_eq_zero_iff.mp <| this
47+ rw [← sub_eq_zero, ← h₂.trace_eq_zero_iff]
48+ have := neg_nonneg.mp <| trace_neg (A - B) ▸ neg_sub A B ▸ h₁.trace_nonneg
49+ exact le_antisymm this h₂.trace_nonneg
5450
5551scoped [MatrixOrder] attribute [instance] Matrix.instPartialOrder
5652
@@ -110,11 +106,11 @@ lemma sq_sqrt : (CFC.sqrt A) ^ 2 = A := CFC.sq_sqrt A
110106@ [deprecated CFC.sqrt_mul_sqrt_self (since := "2025-09-22" )]
111107lemma sqrt_mul_self : CFC.sqrt A * CFC.sqrt A = A := CFC.sqrt_mul_sqrt_self A
112108
113- lemma eq_of_sq_eq_sq {B : Matrix n n 𝕜} (hB : PosSemidef B) (hAB : A ^ 2 = B ^ 2 ) : A = B :=
114- CFC.sqrt_sq A ▸ CFC.sqrt_unique (sq B ▸ hAB.symm)
115-
109+ @ [deprecated CFC.sq_eq_sq_iff (since := "2025-09-24" )]
116110lemma sq_eq_sq_iff {B : Matrix n n 𝕜} (hB : PosSemidef B) : A ^ 2 = B ^ 2 ↔ A = B :=
117- ⟨eq_of_sq_eq_sq hA hB, fun h => h ▸ rfl⟩
111+ CFC.sq_eq_sq_iff A B
112+
113+ @ [deprecated (since := "2025-09-24" )] alias ⟨eq_of_sq_eq_sq, _⟩ := CFC.sq_eq_sq_iff
118114
119115@ [deprecated CFC.sqrt_sq (since := "2025-09-22" )]
120116lemma sqrt_sq : CFC.sqrt (A ^ 2 ) = A := CFC.sqrt_sq A
0 commit comments