Skip to main content
teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1

mutual_information_le_t_12

PFR.TorsionEndgame · PFR/TorsionEndgame.lean:70 to 95

Source documentation

We have I[Z_1 : Z_2 | W], I[Z_2 : Z_3 | W], I[Z_1 : Z_3 | W] ≤ 4m^2 η k.

Exact Lean statement

lemma mutual_information_le_t_12 : I[Z1 : Z2 | W] ≤ p.m * (4*p.m+1) * p.η * k

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma mutual_information_le_t_12 : I[Z1 : Z2 | W]  p.m * (4*p.m+1) * p.η * k := by  have hm := p.hm  let zero : Fin p.m := 0, by linarith [hm]  have hindep_j (j: Fin p.m) : iIndepFun (fun i  Y (i, j)) := indep_yj h_mes h_indep j  have := mutual_information_le (by fun_prop) (hindep_j zero) ?_ h_mes h_indep ?_  · have k_eq : k = D[fun i ω  Y (i, zero) ω ; fun x  hΩ'] := by      apply multiDist_copy; intro i; exact (hident i zero).symm    rw [k_eq, condMutualInfo_comm] at this    · refine .trans ?_ this      convert! condMutual_comp_comp_le _ _ _ _ (fun (x: Fin p.m  G)  ∑ i, i.val • x i)        (fun (x: Fin p.m  G)  ∑ i, i.val • x i) _      with ω <;> try infer_instance      all_goals try fun_prop      · ext ω; simp [Finset.smul_sum]      · ext ω        simp only [natCast_zsmul, Finset.sum_apply, Pi.smul_apply, Function.comp_apply,          Finset.smul_sum]        rw [Finset.sum_comm]      simp    all_goals try fun_prop  · apply multiTauMinimizes_of_ident p _ _ _ h_min    intro i; exact (hident i zero).symm  intro j; use Equiv.refl _  apply IdentDistrib.iprodMk _ hΩ'_prob hΩ'_prob (hindep_j j) (hindep_j zero)  intro i  exact (hident i j).trans (hident i zero).symm