Skip to content

Commit 82012ac

Browse files
committed
chore(Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog): weaken positivity hypothesis (#25194)
`CFC.log_smul` and `CFC.log_pow` had unnecessary assumptions that the operator, and the scalar, were positive. Assuming nonzero is sufficient. Upstreamed from [quantumInfo](https://ohaithe.re/Lean-QuantumInfo/)
1 parent 8dbdfb1 commit 82012ac

File tree

1 file changed

+3
-5
lines changed
  • Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus

1 file changed

+3
-5
lines changed

Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/ExpLog.lean

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -128,20 +128,18 @@ lemma log_algebraMap {r : ℝ} : log (algebraMap ℝ A r) = algebraMap ℝ A (Re
128128
simp [log]
129129

130130
-- TODO: Relate the hypothesis to a notion of strict positivity
131-
lemma log_smul {r : ℝ} (a : A) (ha₂ : ∀ x ∈ spectrum ℝ a, 0 < x) (hr : 0 < r)
131+
lemma log_smul {r : ℝ} (a : A) (ha₂ : ∀ x ∈ spectrum ℝ a, x ≠ 0) (hr : r ≠ 0)
132132
(ha₁ : IsSelfAdjoint a := by cfc_tac) :
133133
log (r • a) = algebraMap ℝ A (Real.log r) + log a := by
134-
have : ∀ x ∈ spectrum ℝ a, x ≠ 0 := by peel ha₂ with x hx h; exact h.ne'
135134
rw [log, ← cfc_smul_id (R := ℝ) r a, ← cfc_comp Real.log (r • ·) a, log]
136135
calc
137136
_ = cfc (fun z => Real.log r + Real.log z) a :=
138-
cfc_congr (Real.log_mul hr.ne' <| ne_of_gt <| ha₂ · ·)
137+
cfc_congr (Real.log_mul hr <| ha₂ · ·)
139138
_ = _ := by rw [cfc_const_add _ _ _]
140139

141140
-- TODO: Relate the hypothesis to a notion of strict positivity
142-
lemma log_pow (n : ℕ) (a : A) (ha₂ : ∀ x ∈ spectrum ℝ a, 0 < x)
141+
lemma log_pow (n : ℕ) (a : A) (ha₂ : ∀ x ∈ spectrum ℝ a, x ≠ 0)
143142
(ha₁ : IsSelfAdjoint a := by cfc_tac) : log (a ^ n) = n • log a := by
144-
have : ∀ x ∈ spectrum ℝ a, x ≠ 0 := by peel ha₂ with x hx h; exact h.ne'
145143
have ha₂' : ContinuousOn Real.log (spectrum ℝ a) := by fun_prop (disch := assumption)
146144
have ha₂'' : ContinuousOn Real.log ((· ^ n) '' spectrum ℝ a) := by fun_prop (disch := aesop)
147145
rw [log, ← cfc_pow_id (R := ℝ) a n ha₁, ← cfc_comp' Real.log (· ^ n) a ha₂'', log]

0 commit comments

Comments
 (0)