@@ -262,20 +262,20 @@ open CFC
262262
263263variable [PartialOrder A] [StarOrderedRing A]
264264
265- -- TODO : relate everything in this section to strict positivity
266-
267- lemma CFC.conjugate_rpow_neg_one_half {a : A} (h₀ : IsUnit a) (ha : 0 ≤ a := by cfc_tac) :
265+ lemma CFC.conjugate_rpow_neg_one_half (a : A) (ha : IsStrictlyPositive a := by cfc_tac) :
268266 a ^ (-(1 / 2 ) : ℝ) * a * a ^ (-(1 / 2 ) : ℝ) = 1 := by
269- lift a to Aˣ using h₀
267+ lift a to Aˣ using ha.isUnit
270268 nth_rw 2 [← rpow_one (a : A)]
271269 simp only [← rpow_add a.isUnit]
272270 norm_num
273271 exact rpow_zero _
274272
275- /-- In a unital C⋆-algebra, if `a` is nonnegative and invertible , and `a ≤ b`, then `b` is
273+ /-- In a unital C⋆-algebra, if `a` is strictly positive , and `a ≤ b`, then `b` is
276274invertible. -/
277- lemma CStarAlgebra.isUnit_of_le {a b : A} (h₀ : IsUnit a) (ha : 0 ≤ a := by cfc_tac)
278- (hab : a ≤ b) : IsUnit b := by
275+ lemma CStarAlgebra.isUnit_of_le (a : A) {b : A} (hab : a ≤ b)
276+ (h : IsStrictlyPositive a := by cfc_tac) : IsUnit b := by
277+ have h₀ := h.isUnit
278+ have ha := h.nonneg
279279 rw [← spectrum.zero_notMem_iff ℝ≥0 ] at h₀ ⊢
280280 nontriviality A
281281 have hb := (show 0 ≤ a from ha).trans hab
@@ -284,9 +284,10 @@ lemma CStarAlgebra.isUnit_of_le {a b : A} (h₀ : IsUnit a) (ha : 0 ≤ a := by
284284 peel h₀ with r hr _
285285 exact this.trans hab
286286
287- lemma le_iff_norm_sqrt_mul_rpow {a b : A} (hbu : IsUnit b) (ha : 0 ≤ a) (hb : 0 ≤ (b : A)) :
287+ lemma le_iff_norm_sqrt_mul_rpow (a b : A) (ha : 0 ≤ a := by cfc_tac)
288+ (hb : IsStrictlyPositive b := by cfc_tac) :
288289 a ≤ b ↔ ‖sqrt a * (b : A) ^ (-(1 / 2 ) : ℝ)‖ ≤ 1 := by
289- lift b to Aˣ using hbu
290+ lift b to Aˣ using hb.isUnit
290291 have hbab : 0 ≤ (b : A) ^ (-(1 / 2 ) : ℝ) * a * (b : A) ^ (-(1 / 2 ) : ℝ) :=
291292 conjugate_nonneg_of_nonneg ha rpow_nonneg
292293 conv_rhs =>
@@ -298,7 +299,7 @@ lemma le_iff_norm_sqrt_mul_rpow {a b : A} (hbu : IsUnit b) (ha : 0 ≤ a) (hb :
298299 · calc
299300 _ ≤ ↑b ^ (-(1 / 2 ) : ℝ) * (b : A) * ↑b ^ (-(1 / 2 ) : ℝ) :=
300301 IsSelfAdjoint.of_nonneg rpow_nonneg |>.conjugate_le_conjugate h
301- _ = 1 := conjugate_rpow_neg_one_half b.isUnit
302+ _ = 1 := conjugate_rpow_neg_one_half (b : A)
302303 · calc
303304 a = (sqrt ↑b * ↑b ^ (-(1 / 2 ) : ℝ)) * a * (↑b ^ (-(1 / 2 ) : ℝ) * sqrt ↑b) := by
304305 simp only [CFC.sqrt_eq_rpow .., ← CFC.rpow_add b.isUnit]
@@ -312,7 +313,8 @@ lemma le_iff_norm_sqrt_mul_rpow {a b : A} (hbu : IsUnit b) (ha : 0 ≤ a) (hb :
312313lemma le_iff_norm_sqrt_mul_sqrt_inv {a : A} {b : Aˣ} (ha : 0 ≤ a) (hb : 0 ≤ (b : A)) :
313314 a ≤ b ↔ ‖sqrt a * sqrt (↑b⁻¹ : A)‖ ≤ 1 := by
314315 rw [CFC.sqrt_eq_rpow (a := (↑b⁻¹ : A)), ← CFC.rpow_neg_one_eq_inv b,
315- CFC.rpow_rpow (b : A) _ _ (by simp) (by simp), le_iff_norm_sqrt_mul_rpow b.isUnit ha hb]
316+ CFC.rpow_rpow (b : A) _ _ (by simp) (by simp),
317+ le_iff_norm_sqrt_mul_rpow a (hb := b.isUnit.isStrictlyPositive hb)]
316318 simp
317319
318320namespace CStarAlgebra
@@ -358,21 +360,22 @@ lemma inv_le_one {a : Aˣ} (ha : 1 ≤ a) : (↑a⁻¹ : A) ≤ 1 :=
358360lemma le_one_of_one_le_inv {a : Aˣ} (ha : 1 ≤ (↑a⁻¹ : A)) : (a : A) ≤ 1 := by
359361 simpa using CStarAlgebra.inv_le_one ha
360362
361- lemma rpow_neg_one_le_rpow_neg_one {a b : A} (ha : 0 ≤ a) (hab : a ≤ b) (hau : IsUnit a) :
363+ lemma rpow_neg_one_le_rpow_neg_one {a b : A} (hab : a ≤ b)
364+ (ha : IsStrictlyPositive a := by cfc_tac) :
362365 b ^ (-1 : ℝ) ≤ a ^ (-1 : ℝ) := by
363- lift b to Aˣ using isUnit_of_le hau ha hab
364- lift a to Aˣ using hau
365- rw [rpow_neg_one_eq_inv a ha , rpow_neg_one_eq_inv b (ha.trans hab)]
366- exact CStarAlgebra.inv_le_inv ha hab
366+ lift b to Aˣ using isUnit_of_le a hab
367+ lift a to Aˣ using ha.isUnit
368+ rw [rpow_neg_one_eq_inv a, rpow_neg_one_eq_inv b (ha.nonneg .trans hab)]
369+ exact CStarAlgebra.inv_le_inv ha.nonneg hab
367370
368371lemma rpow_neg_one_le_one {a : A} (ha : 1 ≤ a) : a ^ (-1 : ℝ) ≤ 1 := by
369- lift a to Aˣ using isUnit_of_le isUnit_one zero_le_one ha
372+ lift a to Aˣ using isUnit_of_le 1 ha
370373 rw [rpow_neg_one_eq_inv a (zero_le_one.trans ha)]
371374 exact inv_le_one ha
372375
373376protected lemma _root_.IsStrictlyPositive.of_le {a b : A} (ha : IsStrictlyPositive a)
374377 (hab : a ≤ b) : IsStrictlyPositive b :=
375- ⟨ha.nonneg.trans hab, CStarAlgebra.isUnit_of_le ha.isUnit ha.nonneg hab⟩
378+ ⟨ha.nonneg.trans hab, CStarAlgebra.isUnit_of_le a hab⟩
376379
377380theorem _root_.IsStrictlyPositive.add_nonneg {a b : A}
378381 (ha : IsStrictlyPositive a) (hb : 0 ≤ b) : IsStrictlyPositive (a + b) :=
0 commit comments