All proofs
Project-declaredLean 4.33.0-rc1 · mathlib@79d0395a1825

Sum dist diff le

sum_dist_diff_le

Plain-language statement

In the τ\tau-minimizer endgame, let X1,X2X_1',X_2' be independent copies of X1,X2X_1,X_2, set k=d[X1;X2]k=d[X_1;X_2], U=X1+X2U=X_1+X_2, V=X1+X2V=X_1'+X_2, W=X1+X1W=X_1'+X_1, S=X1+X2+X1+X2S=X_1+X_2+X_1'+X_2', and I1=I[U:VS]I_1=I[U:V\mid S]. If c[AS#AS]=i=12(d[Xi0;AS]d[Xi0;Xi])c[A\mid S\#A\mid S]=\sum_{i=1}^2\bigl(d[X_i^0;A\mid S]-d[X_i^0;X_i]\bigr), then c[US#US]+c[VS#VS]+c[WS#WS](63η)k+3(2ηkI1)c[U\mid S\#U\mid S]+c[V\mid S\#V\mid S]+c[W\mid S\#W\mid S]\le(6-3\eta)k+3(2\eta k-I_1).

Exact Lean statement

lemma sum_dist_diff_le [IsProbabilityMeasure (ℙ : Measure Ω)] [Module (ZMod 2) G] :
    c[U|S # U|S] + c[V|S # V|S] + c[W|S # W|S] ≤ (6 - 3 * p.η)*k + 3 * (2*p.η*k - I₁)

Formal artifact

Lean source

Canonical source
Full Lean sourceLean 4
lemma sum_dist_diff_le [IsProbabilityMeasure (ℙ : Measure Ω)] [Module (ZMod 2) G] :    c[U|S # U|S] + c[V|S # V|S] + c[W|S # W|S]  (6 - 3 * p.η)*k + 3 * (2*p.η*k - I₁) := by  let X₀₁ := p.X₀₁  let X₀₂ := p.X₀₂  have ineq1 : d[X₀₁ # U | S] - d[X₀₁ # X₁]  (H[S ; ℙ] - H[X₁ ; ℙ])/2 := by    have aux1 : H[S] + H[U] - H[X₁] - H[X₁' + X₂'] = H[S] - H[X₁] := by      rw [hU X₁ X₂ X₁' X₂' h₁ h₂ h_indep]; ring    have aux2 : d[X₀₁ # U | U + (X₁' + X₂')] - d[X₀₁ # X₁]             (H[U + (X₁' + X₂')] + H[U] - H[X₁] - H[X₁' + X₂']) / 2 :=      condRuzsaDist_diff_ofsum_le ℙ (hX := p.hmeas1) (hY := hX₁) (hZ := hX₂)      (Measurable.add hX₁' hX₂') (independenceCondition1 hX₁ hX₂ hX₁' hX₂' h_indep)    rw [ add_assoc, aux1] at aux2    linarith [aux2]  have ineq2 : d[X₀₂ # U | S] - d[X₀₂ # X₂]  (H[S ; ℙ] - H[X₂ ; ℙ])/2 := by    have aux1 : H[S] + H[U] - H[X₂] - H[X₁' + X₂'] = H[S] - H[X₂] := by      rw [hU X₁ X₂ X₁' X₂' h₁ h₂ h_indep] ; ring    have aux2 : d[X₀₂ # U | U + (X₁' + X₂')] - d[X₀₂ # X₂]             (H[U + (X₁' + X₂')] + H[U] - H[X₂] - H[X₁' + X₂']) / 2 := by      rw [(show U = X₂ + X₁ from add_comm _ _)]      apply condRuzsaDist_diff_ofsum_le ℙ (p.hmeas2) (hX₂) (hX₁)        (Measurable.add hX₁' hX₂') (independenceCondition2 hX₁ hX₂ hX₁' hX₂' h_indep)    rw [ add_assoc, aux1] at aux2    linarith [aux2]  have V_add_eq : V + (X₁ + X₂') = S := by abel  have ineq3 : d[X₀₁ # V | S] - d[X₀₁ # X₁]  (H[S ; ℙ] - H[X₁ ; ℙ])/2 := by    have aux2 : d[p.X₀₁ # V | V + (X₁ + X₂')] - d[p.X₀₁ # X₁']             (H[V + (X₁ + X₂')] + H[V] - H[X₁'] - H[X₁ + X₂']) / 2 :=      condRuzsaDist_diff_ofsum_le ℙ (p.hmeas1) (hX₁') (hX₂) (Measurable.add hX₁ hX₂')      (independenceCondition3 hX₁ hX₂ hX₁' hX₂' h_indep)    have aux1 : H[S] + H[V] - H[X₁'] - H[X₁ + X₂'] = H[S ; ℙ] - H[X₁ ; ℙ] := by      rw [hV X₁ X₂ X₁' X₂' h₁ h₂ h_indep, h₁.entropy_congr]; ring    rw [ h₁.rdist_congr_right p.hmeas1.aemeasurable, V_add_eq, aux1] at aux2    linarith [aux2]  have ineq4 : d[X₀₂ # V | S] - d[X₀₂ # X₂]  (H[S ; ℙ] - H[X₂ ; ℙ])/2 := by    have aux2 : d[p.X₀₂ # V | V + (X₁ + X₂')] - d[p.X₀₂ # X₂]             (H[V + (X₁ + X₂')] + H[V] - H[X₂] - H[X₁ + X₂']) / 2 := by      rw [(show V = X₂ + X₁' from add_comm _ _)]      apply condRuzsaDist_diff_ofsum_le ℙ (p.hmeas2) (hX₂) (hX₁') (Measurable.add hX₁ hX₂')        (independenceCondition4 hX₁ hX₂ hX₁' hX₂' h_indep)    have aux1 : H[S] + H[V] - H[X₂] - H[X₁ + X₂'] = H[S ; ℙ] - H[X₂ ; ℙ] := by      rw [hV X₁ X₂ X₁' X₂' h₁ h₂ h_indep]; ring    rw [V_add_eq, aux1] at aux2    linarith [aux2]  let W' := X₂ + X₂'  have ineq5 : d[X₀₁ # W | S] - d[X₀₁ # X₁]  (H[S ; ℙ] + H[W ; ℙ] - H[X₁ ; ℙ] - H[W' ; ℙ])/2 := by    have := condRuzsaDist_diff_ofsum_le ℙ p.hmeas1 hX₁ hX₁' (Measurable.add hX₂ hX₂')      (independenceCondition5 hX₁ hX₂ hX₁' hX₂' h_indep)    grind  have ineq6 : d[X₀₂ # W' | S] - d[X₀₂ # X₂]  (H[S ; ℙ] + H[W' ; ℙ] - H[X₂ ; ℙ] - H[W ; ℙ])/2 := by    have := condRuzsaDist_diff_ofsum_le ℙ p.hmeas2 hX₂ hX₂' (Measurable.add hX₁' hX₁)      (independenceCondition6 hX₁ hX₂ hX₁' hX₂' h_indep)    grind  have dist_eq : d[X₀₂ # W' | S] = d[X₀₂ # W | S] := by    have S_eq : S = (X₂ + X₂') + (X₁' + X₁) := by      rw [add_comm X₁' X₁, add_assoc _ X₂', add_comm X₂',  add_assoc X₂,  add_assoc X₂,        add_comm X₂]    rw [S_eq]    apply condRuzsaDist'_of_inj_map' p.hmeas2 (hX₂.add hX₂') (hX₁'.add hX₁)  -- Put everything together to bound the sum of the `c` terms  have ineq7 : c[U|S # U|S] + c[V|S # V|S] + c[W|S # W|S]     3 * H[S ; ℙ] - 3/2 * H[X₁ ; ℙ] -3/2 * H[X₂ ; ℙ] := by    have step₁ : c[U|S # U|S]  H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 :=      calc        _ = (d[p.X₀₁ # U|S] - d[p.X₀₁ # X₁]) + (d[p.X₀₂ # U|S] - d[p.X₀₂ # X₂]) := by ring        _  (H[S ; ℙ] - H[X₁ ; ℙ])/2 + (H[S ; ℙ] - H[X₂ ; ℙ])/2 := add_le_add ineq1 ineq2        _ = H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 := by ring    have step₂ : c[V|S # V|S]  H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 :=      calc  c[V|S # V|S]        _ = d[p.X₀₁ # V|S] - d[p.X₀₁ # X₁] + (d[p.X₀₂ # V|S] - d[p.X₀₂ # X₂]) := by ring        _  (H[S ; ℙ] - H[X₁ ; ℙ])/2 + (H[S ; ℙ] - H[X₂ ; ℙ])/2 := add_le_add ineq3 ineq4        _ = H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 := by ring    have step₃ : c[W|S # W|S]  H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 :=      calc c[W|S # W|S] = (d[X₀₁ # W | S] - d[X₀₁ # X₁]) + (d[X₀₂ # W' | S] - d[X₀₂ # X₂]) :=          by rw [dist_eq]        _  (H[S ; ℙ] + H[W ; ℙ] - H[X₁ ; ℙ] - H[W' ; ℙ])/2          + (H[S ; ℙ] + H[W' ; ℙ] - H[X₂ ; ℙ] - H[W ; ℙ])/2 := add_le_add ineq5 ineq6        _ = H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2 := by ring    calc c[U|S # U|S] + c[V|S # V|S] + c[W|S # W|S]  (H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2) +      (H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2) + (H[S ; ℙ] - (H[X₁ ; ℙ] + H[X₂ ; ℙ])/2) :=        add_le_add (add_le_add step₁ step₂) step₃    _ = 3 * H[S ; ℙ] - 3/2 * H[X₁ ; ℙ] -3/2 * H[X₂ ; ℙ] := by ring  have h_indep' : iIndepFun ![X₁, X₂, X₂', X₁'] := by    refine .of_precomp (Equiv.swap (2 : Fin 4) 3).surjective ?_    convert h_indep using 1    ext x    fin_cases x ; all_goals { aesop }  have ineq8 : 3 * H[S ; ℙ]  3/2 * (H[X₁ ; ℙ] + H[X₂ ; ℙ]) + 3*(2+p.η)*k - 3*I₁ :=    calc 3 * H[S ; ℙ]  3 * (H[X₁ ; ℙ] / 2 + H[X₂ ; ℙ] / 2 + (2+p.η)*k - I₁) := by          gcongr          exact ent_ofsum_le p X₁ X₂ X₁' X₂' hX₁ hX₂ hX₁' hX₂' h₁ h₂ h_indep' h_min      _ = 3/2 * ( H[X₁ ; ℙ] + H[X₂ ; ℙ]) + 3*(2+p.η)*k - 3*I₁ := by ring  -- Final computation  calc        c[U|S # U|S] + c[V|S # V|S] + c[W|S # W|S]    _  3 * H[S ; ℙ] - 3/2 * H[X₁ ; ℙ] -3/2 * H[X₂ ; ℙ] := ineq7    _ = 3 * H[S ; ℙ] - (3/2 *(H[X₁ ; ℙ] + H[X₂ ; ℙ])) := by ring    _  (3/2 * ( H[X₁ ; ℙ] + H[X₂ ; ℙ]) + 3*(2+p.η)*k - 3*I₁) - (3/2 *(H[X₁ ; ℙ] + H[X₂ ; ℙ])) :=      sub_le_sub_right ineq8 _    _ = (6 - 3 * p.η)*k + 3 * (2*p.η*k - I₁) := by ring
Project
Polynomial Freiman-Ruzsa project
License
Apache-2.0
Commit
a177b2e4abe4
Source
PFR/Endgame.lean:210-308

Reuse this declaration

Bring the exact result into your workflow

The import identifies the source module. Your project still needs the pinned package dependency shown on this page.

What this badge means

This completion status comes from the project or community source. It has not yet been represented here as an independent rebuild and axiom audit.

Continue in this project

Related declarations

Project-declaredLean 4.33.0-rc1

Approx hom pfr

approx_hom_pfr

Project documentation

An approximate-homomorphism theorem for finite elementary abelian 22-groups. Let f:GGf:G\to G' and K>0K>0. If at least a proportion K1K^{-1} of pairs (x,y)G2(x,y)\in G^2 satisfy f(x+y)=f(x)+f(y)f(x+y)=f(x)+f(y), then there are an additive homomorphism φ:GG\varphi:G\to G' and a constant cGc\in G' such that f(x)=φ(x)+cf(x)=\varphi(x)+c for at least G/(2144K122)|G|/(2^{144}K^{122}) values of xx.

additive combinatoricsentropyprobability

Source project: Polynomial Freiman-Ruzsa project

Person-level attribution pending.

View proof record
Project-declaredLean 4.33.0-rc1

Better PFR conjecture

better_PFR_conjecture

Plain-language statement

If AF2nA \subset {\bf F}_2^n is finite non-empty with A+AKA|A+A| \leq K|A|, then there exists a subgroup HH of F2n{\bf F}_2^n with HA|H| \leq |A| such that AA can be covered by at most 2K92K^9 translates of HH.

additive combinatoricsentropyprobability

Source project: Polynomial Freiman-Ruzsa project

Person-level attribution pending.

View proof record
Project-declaredLean 4.33.0-rc1

Better PFR conjecture

better_PFR_conjecture'

Project documentation

Polynomial Freiman-Ruzsa theorem with exponent 99, without a finite ambient-group assumption. Let AA be a nonempty finite subset of an elementary abelian 22-group. If A+AKA|A+A|\le K|A|, then there are a finite subspace HH and a finite set cc such that Ac+HA\subseteq c+H, c<2K9|c|<2K^9, and HA|H|\le|A|.

additive combinatoricsentropyprobability

Source project: Polynomial Freiman-Ruzsa project

Person-level attribution pending.

View proof record