PFR/FirstEstimate.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Polynomial Freiman-Ruzsa proof paper, arXiv v2
9 declarations, 0 contain sorry, 0 declared as axioms
First estimate
The first estimate on tau-minimizers.
Assumptions:
- $X_1, X_2$ are tau-minimizers
- $X_1, X_2, \tilde X_1, \tilde X_2$ are independent random variables, with $X_1,\tilde X_1$ copies of $X_1$ and $X_2,\tilde X_2$ copies of $X_2$.
- $k := d[X_1;X_2]$
- $I_1 := I [X_1+X_2 : \tilde X_1 + X_2 | X_1+X_2+\tilde X_1+\tilde X_2]$
Main results
first_estimate: $I_1 ≤ 2 η k$ent_ofsum_le: $H[X_1+X_2+\tilde X_1+\tilde X_2] \le \tfrac{1}{2} H[X_1]+\tfrac{1}{2} H[X_2] + (2 + \eta) k - I_1.$
Imports (2)
Imported by 3 files
- lemma
rdist_add_rdist_add_condMutual_eqDocumented declaration: rdist_add_rdist_add_condMutual_eq line 59 sourceSource documentation
The sum of $$ d[X_1+\tilde X_2;X_2+\tilde X_1] + d[X_1|X_1+\tilde X_2; X_2|X_2+\tilde X_1] $$ and $$ I[X_1+ X_2 : \tilde X_1 + X_2 \,|\, X_1 + X_2 + \tilde X_1 + \tilde X_2] $$ is equal to $2k$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty,Module,ZMod,Eq,Realand 5 moreProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,rfl, sum_of_rdist_eq_char_2,List,List.Mem,List.finRange,HEq,Membership.mem,Finset,Fintype.elems,Fintype.complete,List.cons,List.Mem.head,Fin.mk,Nat.le_of_lt,Nat.le_refl,List.niland 40 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
lemma rdist_add_rdist_add_condMutual_eq [Module (ZMod 2) G] : d[X₁ + X₂' # X₂ + X₁'] + d[X₁ | X₁ + X₂' # X₂ | X₂ + X₁'] + I[X₁ + X₂ : X₁' + X₂ | X₁ + X₂ + X₁' + X₂'] = 2 * k := by … - lemma
rdist_of_sums_geThe distance $d[X_1+\tilde X_2; X_2+\tilde X_1]$ is at least $$k - \eta (d[X^0_1; X_1+\tilde X_2] - d[X^0_1; X_1]) - \eta (d[X^0_2; X_2+\tilde X_1] - d[X^0_2; X_2]).$$ line 82 sourceSource documentation
The distance $d[X_1+\tilde X_2; X_2+\tilde X_1]$ is at least $$k - \eta (d[X^0_1; X_1+\tilde X_2] - d[X^0_1; X_1]) - \eta (d[X^0_2; X_2+\tilde X_1] - d[X^0_2; X_2]).$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable, TauMinimizes,GE.ge,Real, rdist,HAdd.hAdd,HSub.hSub,HMul.hMul,refPackage.η,refPackage.X₀₁,refPackage.X₀₂Proof uses: distance_ge_of_min,
Measurable.add,Prod25 instances, coercions and auxiliary constants left out.
lemma rdist_of_sums_ge : d[X₁ + X₂' # X₂ + X₁'] ≥ k - p.η * (d[p.X₀₁ # X₁ + X₂'] - d[p.X₀₁ # X₁]) - p.η * (d[p.X₀₂ # X₂ + X₁'] - d[p.X₀₂ # X₂]) := … - lemma
condRuzsaDist_of_sums_geDocumented declaration: condRuzsaDist_of_sums_ge line 93 sourceSource documentation
The distance $d[X_1|X_1+\tilde X_2; X_2|X_2+\tilde X_1]$ is at least $$ k - \eta (d[X^0_1; X_1 | X_1 + \tilde X_2] - d[X^0_1; X_1]) - \eta(d[X^0_2; X_2 | X_2 + \tilde X_1] - d[X^0_2; X_2]).$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable, TauMinimizes,GE.ge,Real, condRuzsaDist,HAdd.hAdd,HSub.hSub, rdist,HMul.hMul,refPackage.η, condRuzsaDist',refPackage.X₀₁and 1 moreProof uses: condRuzsaDistance_ge_of_min,
Measurable.add,Prod28 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condRuzsaDist_of_sums_ge : d[X₁ | X₁ + X₂' # X₂ | X₂ + X₁'] ≥ k - p.η * (d[p.X₀₁ # X₁ | X₁ + X₂'] - d[p.X₀₁ # X₁]) - p.η * (d[p.X₀₂ # X₂ | X₂ + X₁'] - d[p.X₀₂ # X₂]) := … - lemma
diff_rdist_le_1d[X₀₁ # X₁ + X₂'] - d[X₀₁ # X₁] ≤ k/2 + H[X₂]/4 - H[X₁]/4line 103 sourceSource documentation
d[X₀₁ # X₁ + X₂'] - d[X₀₁ # X₁] ≤ k/2 + H[X₂]/4 - H[X₁]/4.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty,Module,ZMod,LE.leand 7 moreProof uses:
ProbabilityTheory.IndepFun,ProbabilityTheory.iIndepFun.indepFun,Ne,of_decide_eq_true,Eq,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,eq_of_heq,LE,HEq,HEq.refl,Eq.symm,outParam,HSub,HAdd,HDivand 5 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff_rdist_le_1 [IsProbabilityMeasure (ℙ : Measure Ω₀₁)] : d[p.X₀₁ # X₁ + X₂'] - d[p.X₀₁ # X₁] ≤ k/2 + H[X₂]/4 - H[X₁]/4 := by … - lemma
diff_rdist_le_2$$ d[X^0_2;X_2+\tilde X_1] - d[X^0_2; X_2] \leq \tfrac{1}{2} k + \tfrac{1}{4} \mathbb{H}[X_1] - \tfrac{1}{4} \mathbb{H}[X_2].$$ line 113 sourceSource documentation
$$ d[X^0_2;X_2+\tilde X_1] - d[X^0_2; X_2] \leq \tfrac{1}{2} k + \tfrac{1}{4} \mathbb{H}[X_1] - \tfrac{1}{4} \mathbb{H}[X_2].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty,Module,ZMod,LE.leand 7 moreProof uses:
ProbabilityTheory.IndepFun,ProbabilityTheory.iIndepFun.indepFun,Ne,of_decide_eq_true,Eq,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,eq_of_heq,LE,HEq,HEq.refl,Eq.symm,outParam,HSub,HAdd,HDivand 7 more53 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma diff_rdist_le_2 [IsProbabilityMeasure (ℙ : Measure Ω₀₂)] : d[p.X₀₂ # X₂ + X₁'] - d[p.X₀₂ # X₂] ≤ k/2 + H[X₁]/4 - H[X₂]/4 := by … - lemma
diff_rdist_le_3$$ d[X_1^0;X_1|X_1+\tilde X_2] - d[X_1^0;X_1] \leq \tfrac{1}{2} k + \tfrac{1}{4} \mathbb{H}[X_1] - \tfrac{1}{4} \mathbb{H}[X_2].$$ line 124 sourceSource documentation
$$ d[X_1^0;X_1|X_1+\tilde X_2] - d[X_1^0;X_1] \leq \tfrac{1}{2} k + \tfrac{1}{4} \mathbb{H}[X_1] - \tfrac{1}{4} \mathbb{H}[X_2].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty,Module,ZMod,LE.leand 8 moreProof uses:
ProbabilityTheory.IndepFun,ProbabilityTheory.iIndepFun.indepFun,Ne,of_decide_eq_true,Eq,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,eq_of_heq,LE,HEq,HEq.refl,Eq.symm,outParam,HSub,HAdd,congrArgand 6 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff_rdist_le_3 [IsProbabilityMeasure (ℙ : Measure Ω₀₁)] : d[p.X₀₁ # X₁ | X₁ + X₂'] - d[p.X₀₁ # X₁] ≤ k/2 + H[X₁]/4 - H[X₂]/4 := by … - lemma
diff_rdist_le_4$$ d[X_2^0; X_2|X_2+\tilde X_1] - d[X_2^0; X_2] \leq \tfrac{1}{2}k + \tfrac{1}{4} \mathbb{H}[X_2] - \tfrac{1}{4} \mathbb{H}[X_1].$$ line 134 sourceSource documentation
$$ d[X_2^0; X_2|X_2+\tilde X_1] - d[X_2^0; X_2] \leq \tfrac{1}{2}k + \tfrac{1}{4} \mathbb{H}[X_2] - \tfrac{1}{4} \mathbb{H}[X_1].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty,Module,ZMod,LE.leand 8 moreProof uses:
ProbabilityTheory.IndepFun,ProbabilityTheory.iIndepFun.indepFun,Ne,of_decide_eq_true,Eq,id,Bool,Decidable.decide,Bool.true,Eq.refl,Eq.mpr,eq_of_heq,LE,HEq,HEq.refl,Eq.symm,outParam,HSub,HAdd,congrArgand 7 more56 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma diff_rdist_le_4 [IsProbabilityMeasure (ℙ : Measure Ω₀₂)] : d[p.X₀₂ # X₂ | X₂ + X₁'] - d[p.X₀₂ # X₂] ≤ k/2 + H[X₂]/4 - H[X₁]/4 := by … - lemma
first_estimateWe have $I_1 \leq 2 \eta k$ line 143 sourceSource documentation
We have $I_1 \leq 2 \eta k$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty, TauMinimizes,Module,ZModand 7 moreProof uses:
Eq, condRuzsaDist, rdist_add_rdist_add_condMutual_eq,GE.ge,HSub.hSub,refPackage.X₀₁,refPackage.X₀₂, rdist_of_sums_ge, condRuzsaDist', condRuzsaDist_of_sums_ge,HDiv.hDiv, ProbabilityTheory.entropy,mul_le_mul_of_nonneg_left, diff_rdist_le_1,LT.lt.le,refPackage.hη, diff_rdist_le_2, diff_rdist_le_3, diff_rdist_le_4,le_of_not_gtand 86 more113 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma first_estimate [IsProbabilityMeasure (ℙ : Measure Ω₀₁)] [IsProbabilityMeasure (ℙ : Measure Ω₀₂)] : I₁ ≤ 2 * p.η * k := by … - lemma
ent_ofsum_le$$\mathbb{H}[X_1+X_2+\tilde X_1+\tilde X_2] \le \tfrac{1}{2} \mathbb{H}[X_1]+\tfrac{1}{2} \mathbb{H}[X_2] + (2 + \eta) k - I_1.$$ line 158 sourceSource documentation
$$\mathbb{H}[X_1+X_2+\tilde X_1+\tilde X_2] \le \tfrac{1}{2} \mathbb{H}[X_1]+\tfrac{1}{2} \mathbb{H}[X_2] + (2 + \eta) k - I_1.$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
AddCommGroup,Finite,MeasurableSpace,MeasurableSingletonClass,MeasureTheory.MeasureSpace, refPackage,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Measurable,ProbabilityTheory.IdentDistrib,ProbabilityTheory.iIndepFun,Fin,Nat.succ,OfNat.ofNat,Nat,Matrix.vecCons,Matrix.vecEmpty, TauMinimizes,Module,ZModand 10 moreProof uses: condRuzsaDist,
refPackage.X₀₁, condRuzsaDist',refPackage.X₀₂,Eq, rdist_add_rdist_add_condMutual_eq,GE.ge, condRuzsaDist_of_sums_ge, diff_rdist_le_3, diff_rdist_le_4,Trans.trans,le_of_not_gt,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HPow.hPow,Nat.rawCastand 145 more146 instances, coercions and auxiliary constants left out.
Tactic trace: 59 steps
Open to load the checked before-and-after goal states.
lemma ent_ofsum_le [IsProbabilityMeasure (ℙ : Measure Ω₀₁)] [IsProbabilityMeasure (ℙ : Measure Ω₀₂)] : H[X₁ + X₂ + X₁' + X₂'] ≤ H[X₁]/2 + H[X₂]/2 + (2+p.η)*k - I₁ := by …