Skip to content

Commit 50143f3

Browse files
committed
refactor(Channel/FixedPoint): use CLMs in Cesaro limits
1 parent 8647245 commit 50143f3

2 files changed

Lines changed: 10 additions & 6 deletions

File tree

TNLean/Channel/FixedPoint/Cesaro.lean

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -289,10 +289,11 @@ theorem IsChannel.exists_posSemidef_fixedPoint
289289
have hρ_psd : ρ.PosSemidef := hρ_mem.1
290290
have hρ_tr : trace ρ = 1 := hρ_mem.2
291291
-- Step 6: Show E(ρ) = ρ via telescoping + convergence
292-
have hE_cont : Continuous E := LinearMap.continuous_of_finiteDimensional E
292+
let E' : Matrix (Fin D) (Fin D) ℂ →L[ℂ] Matrix (Fin D) (Fin D) ℂ :=
293+
LinearMap.toContinuousLinearMap E
293294
-- σ ∘ φ → ρ, E ∘ σ ∘ φ → E(ρ)
294-
have h_Eσ : Filter.Tendsto (E ∘ σ ∘ φ) Filter.atTop (nhds (E ρ)) :=
295-
(hE_cont.tendsto ρ).comp hφ_tendsto
295+
have h_Eσ : Filter.Tendsto (E ∘ σ ∘ φ) Filter.atTop (nhds (E ρ)) := by
296+
simpa [E'] using (E'.continuous.tendsto ρ).comp hφ_tendsto
296297
-- (E(σ(φ k)) - σ(φ k)) → E(ρ) - ρ
297298
have h_diff : Filter.Tendsto (fun k => (E ∘ σ ∘ φ) k - (σ ∘ φ) k)
298299
Filter.atTop (nhds (E ρ - ρ)) :=

TNLean/Channel/Irreducible/Ergodicity.lean

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -97,10 +97,13 @@ theorem IsChannel.cesaroMean_subseq_limit_fixedPoint
9797
have hσ_mem : σ ∈ densityMatrices D :=
9898
(densityMatrices_isCompact (D := D)).isClosed.mem_of_tendsto hσ_tendsto <|
9999
Filter.Eventually.of_forall fun k => hces_mem (ψ k)
100-
have hE_cont : Continuous E := LinearMap.continuous_of_finiteDimensional E
100+
let E' : Matrix (Fin D) (Fin D) ℂ →L[ℂ] Matrix (Fin D) (Fin D) ℂ :=
101+
LinearMap.toContinuousLinearMap E
101102
have h_Eσ : Filter.Tendsto (fun k => E (cesaroMean E ρ (ψ k + 1)))
102-
Filter.atTop (nhds (E σ)) :=
103-
(hE_cont.tendsto σ).comp hσ_tendsto
103+
Filter.atTop (nhds (E σ)) := by
104+
change Filter.Tendsto (E ∘ fun k => cesaroMean E ρ (ψ k + 1))
105+
Filter.atTop (nhds (E σ))
106+
simpa [E'] using (E'.continuous.tendsto σ).comp hσ_tendsto
104107
have h_diff : Filter.Tendsto
105108
(fun k => E (cesaroMean E ρ (ψ k + 1)) - cesaroMean E ρ (ψ k + 1))
106109
Filter.atTop (nhds (E σ - σ)) :=

0 commit comments

Comments
 (0)