Skip to main content
YaelDillies/APAP
Source indexedlemma · leanprover/lean4:v4.32.0

AddChar.expect_iInf_ker_eq_zero_of_not_mem_closure

APAP.Mathlib.Analysis.Fourier.FiniteAbelian.PontryaginDuality · APAP/Mathlib/Analysis/Fourier/FiniteAbelian/PontryaginDuality.lean:53 to 70

Mathematical statement

Exact Lean statement

lemma expect_iInf_ker_eq_zero_of_not_mem_closure (hV : V = ⨅ γ ∈ Δ, γ.toAddMonoidHom.ker)
    (hψ : ψ ∉ AddSubgroup.closure Δ) : 𝔼 x ∈ Set.toFinset V, ψ x = 0

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma expect_iInf_ker_eq_zero_of_not_mem_closure (hV : V = ⨅ γ  Δ, γ.toAddMonoidHom.ker)    (hψ : ψ  AddSubgroup.closure Δ) : 𝔼 x  Set.toFinset V, ψ x = 0 := by  obtain x, hxΔ, hxψ :  x, ( γ  Δ, γ x = 1)  ψ x  1 := by    simpa [AddChar.mem_closure_iff] using  let ψV : AddChar V ℂ := ψ.compAddMonoidHom V.subtype  calc    𝔼 x  Set.toFinset V, ψ x      = (∑ x  Set.toFinset V, ψ x) / #(Set.toFinset V) := by rw [Finset.expect_eq_sum_div_card]    _ = (∑ x, ψV x) / Fintype.card V := by      have hsum : ∑ x  Set.toFinset (V : Set G), ψ x = ∑ x : V, ψ x :=        Finset.sum_subtype (Set.toFinset (V : Set G)) (by intro x; simp) fun x  ψ x      simp [hsum, ψV]    _ = 0 := by      simp only [div_eq_zero_iff, sum_eq_zero_iff_ne_zero, ne_eq, Nat.cast_eq_zero,        Fintype.card_ne_zero, or_false]      intro hzero      apply hxψ      simpa [ψV] using DFunLike.congr_fun hzero x, by simpa [hV] using hxΔ