Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 2 additions & 5 deletions TNLean/Channel/Determinant/HilbertSchmidt.lean
Original file line number Diff line number Diff line change
Expand Up @@ -135,14 +135,11 @@
_ = (d : ℂ) • (1 : MatrixAlg d) := by rw [Matrix.sum_single_one]

/-- If a finite family of nonnegative reals has total sum at most `0`, then every term is `0`. -/
lemma eq_zero_of_nonneg_of_sum_le_zero {ι : Type*} [Fintype ι]

Check warning on line 138 in TNLean/Channel/Determinant/HilbertSchmidt.lean

View workflow job for this annotation

GitHub Actions / Check blueprint compiles without errors

Blueprint update suggested

ChannelDeterminant.Internal.eq_zero_of_nonneg_of_sum_le_zero is changed in this PR but has no corresponding \lean{} tag in blueprint/src/chapter.
(f : ι → ℝ) (hf : ∀ i, 0 ≤ f i) (hsum : ∑ i, f i ≤ 0) :
∀ i, f i = 0 := by
intro i
have h1 : ∑ i, f i ≥ 0 := Finset.sum_nonneg (fun i _ => hf i)
have h2 : ∑ i, f i = 0 := le_antisymm hsum h1
have h3 := Finset.sum_eq_zero_iff_of_nonneg (fun i _ => hf i) |>.mp h2
exact h3 i (Finset.mem_univ i)
have hsum_zero : ∑ i, f i = 0 := le_antisymm hsum (Fintype.sum_nonneg hf)
exact fun i => congrFun ((Fintype.sum_eq_zero_iff_of_nonneg hf).mp hsum_zero) i

private lemma matrix_det_norm_one_trace_conjTranspose_mul_self_ge [NeZero d]
(A : Matrix (Fin d × Fin d) (Fin d × Fin d) ℂ) (hdet : ‖A.det‖ = 1) :
Expand Down
Loading