PFR/ForMathlib/Entropy/Kernel/RuzsaDist.lean

GitHub source file

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

18 declarations, 0 contain sorry, 0 declared as axioms

Ruzsa distance between kernels

Notations

Imports (1)
Imported by 2 files
  1. def ProbabilityTheory.Kernel.rdistm line 26 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, MeasureTheory.Measure, Real

    Proof uses: HSub.hSub, ProbabilityTheory.measureEntropy, MeasureTheory.Measure.map, Prod, Prod.fst, Prod.snd, MeasureTheory.Measure.prod, HDiv.hDiv, OfNat.ofNat

    12 instances, coercions and auxiliary constants left out.

  2. def ProbabilityTheory.Kernel.rdist line 31 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, ProbabilityTheory.Kernel, MeasureTheory.Measure, Real

    Proof uses: MeasureTheory.integral, Prod, MeasureTheory.Measure.prod, ProbabilityTheory.Kernel.rdistm, Prod.fst, Prod.snd

    8 instances, coercions and auxiliary constants left out.

  3. lemma ProbabilityTheory.Kernel.rdist_zero_right line 38 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, ProbabilityTheory.Kernel, MeasureTheory.Measure, Eq, Real, ProbabilityTheory.Kernel.rdist, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, MeasureTheory.integral, Prod, MeasureTheory.Measure.prod, ProbabilityTheory.Kernel.rdistm, Prod.fst, Prod.snd, MeasureTheory.Measure.prod_zero, MeasureTheory.integral_zero_measure, eq_self

    20 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  4. lemma ProbabilityTheory.Kernel.rdist_zero_left line 42 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, ProbabilityTheory.Kernel, MeasureTheory.Measure, Eq, Real, ProbabilityTheory.Kernel.rdist, OfNat.ofNat

    Proof uses: of_eq_true, Eq.trans, True, congrFun', congrArg, MeasureTheory.integral, Prod, MeasureTheory.Measure.prod, ProbabilityTheory.Kernel.rdistm, Prod.fst, Prod.snd, MeasureTheory.Measure.zero_prod, MeasureTheory.integral_zero_measure, eq_self

    20 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  5. lemma ProbabilityTheory.Kernel.rdist_eq line 50 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, HSub.hSub, MeasureTheory.integral, Prod, MeasureTheory.Measure.prod, ProbabilityTheory.measureEntropy, MeasureTheory.Measure.map, Prod.fst, Prod.snd, HDiv.hDiv and 3 more

    Proof uses: Eq.mpr, ProbabilityTheory.Kernel.rdistm, id, congrArg, ProbabilityTheory.Kernel.rdist.eq_1, MeasureTheory.integral_sub, ProbabilityTheory.integrable_of_finiteSupport, HMul.hMul, Inv.inv, congr, funext, div_eq_mul_inv, congrFun', MeasureTheory.integral_mul_const, NormedAddCommGroup, MeasureTheory.SFinite, NormedSpace, MeasureTheory.IsFiniteMeasure, MeasureTheory.integral_prod, of_eq_true and 9 more

    92 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  6. lemma ProbabilityTheory.Kernel.rdist_eq' line 64 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, HSub.hSub, ProbabilityTheory.Kernel.entropy, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, Prod.fst and 5 more

    Proof uses: Eq.mpr, MeasureTheory.integral, ProbabilityTheory.measureEntropy, MeasureTheory.Measure.map, id, congrArg, ProbabilityTheory.Kernel.rdist_eq, HSub, Eq.rec, Eq.refl, NormedAddCommGroup, NormedSpace, funext, ProbabilityTheory.Kernel.map_apply, Measurable.fun_sub, Measurable.fst, measurable_id', Measurable.snd, ProbabilityTheory.Kernel.prod_apply, ProbabilityTheory.Kernel.prodMkLeft_apply and 1 more

    43 instances, coercions and auxiliary constants left out.

    Tactic trace: 5 steps

    Open to load the checked before-and-after goal states.

  7. lemma ProbabilityTheory.Kernel.rdist_symm line 76 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist

    Proof uses: Eq.mpr, HSub.hSub, ProbabilityTheory.Kernel.entropy, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, Prod.fst, Prod.snd, MeasureTheory.Measure.prod, HDiv.hDiv, OfNat.ofNat, Nat, id, congrArg, ProbabilityTheory.Kernel.rdist_eq', HAdd.hAdd, sub_sub, add_comm and 21 more

    37 instances, coercions and auxiliary constants left out.

    Tactic trace: 7 steps

    Open to load the checked before-and-after goal states.

  8. lemma ProbabilityTheory.Kernel.rdist_zero_kernel_right line 86 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, OfNat.ofNat, HDiv.hDiv, Neg.neg, ProbabilityTheory.Kernel.entropy, Nat

    Proof uses: Eq.mpr, HSub.hSub, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, Prod.fst, Prod.snd, MeasureTheory.Measure.prod, id, congrArg, ProbabilityTheory.Kernel.rdist_eq', congrFun', Eq.trans, congr, ProbabilityTheory.Kernel.prodMkLeft_zero, ProbabilityTheory.Kernel.entropy_zero_kernel, zero_div, sub_zero and 75 more

    95 instances, coercions and auxiliary constants left out.

    Tactic trace: 10 steps

    Open to load the checked before-and-after goal states.

  9. lemma ProbabilityTheory.Kernel.rdist_zero_kernel_left line 101 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, OfNat.ofNat, HDiv.hDiv, Neg.neg, ProbabilityTheory.Kernel.entropy, Nat

    Proof uses: Eq.mpr, id, congrArg, ProbabilityTheory.Kernel.rdist_symm, ProbabilityTheory.Kernel.rdist_zero_kernel_right, Eq.refl

    23 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  10. lemma ProbabilityTheory.Kernel.rdist_dirac_zero_right line 107 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, ProbabilityTheory.Kernel.const, MeasureTheory.Measure.dirac, OfNat.ofNat, HDiv.hDiv, ProbabilityTheory.Kernel.entropy, Nat

    Proof uses: Eq.mpr, HSub.hSub, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, Prod.fst, Prod.snd, MeasureTheory.Measure.prod, id, congrArg, ProbabilityTheory.Kernel.rdist_eq', congrFun', Eq.trans, HMul.hMul, ENNReal.toReal, Set, ENNReal, Set.univ and 93 more

    112 instances, coercions and auxiliary constants left out.

    Tactic trace: 18 steps

    Open to load the checked before-and-after goal states.

  11. lemma ProbabilityTheory.Kernel.rdist_dirac_zero_left line 132 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsFiniteKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.rdist, ProbabilityTheory.Kernel.const, MeasureTheory.Measure.dirac, OfNat.ofNat, HDiv.hDiv, ProbabilityTheory.Kernel.entropy, Nat

    Proof uses: Eq.mpr, id, congrArg, ProbabilityTheory.Kernel.rdist_symm, ProbabilityTheory.Kernel.rdist_dirac_zero_right, Eq.refl

    30 instances, coercions and auxiliary constants left out.

    Tactic trace: 1 steps

    Open to load the checked before-and-after goal states.

  12. lemma ProbabilityTheory.Kernel.ruzsa_triangle_aux line 138 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, MeasurableSingletonClass, Countable, ProbabilityTheory.Kernel, Prod, ProbabilityTheory.IsMarkovKernel, Eq, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, HSub.hSub, Prod.snd, Prod.fst, ProbabilityTheory.Kernel.snd

    Proof uses: Function.comp, Prod.swap, funext, of_eq_true, eq_self, Eq.mpr, id, congrArg, Eq.symm, ProbabilityTheory.Kernel.map_map, measurable_swap, Measurable.of_discrete, ProbabilityTheory.Kernel.map_prod_swap, ProbabilityTheory.Kernel.ext, MeasureTheory.Measure.ext, MeasureTheory.Measure, Set, MeasurableSet, ENNReal, Set.preimage and 12 more

    24 instances, coercions and auxiliary constants left out.

    Tactic trace: 9 steps

    Open to load the checked before-and-after goal states.

  13. lemma ProbabilityTheory.Kernel.abs_sub_entropy_le_rdist line 149 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport, LE.le, Real, abs, HSub.hSub, ProbabilityTheory.Kernel.entropy, HMul.hMul, OfNat.ofNat, Nat, ProbabilityTheory.Kernel.rdist

    Proof uses: Max.max, Prod, ProbabilityTheory.Kernel.prodMkRight, MeasureTheory.Measure.prod, ProbabilityTheory.Kernel.prodMkLeft, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, Prod.fst, Prod.snd, ProbabilityTheory.Kernel.max_entropy_le_entropy_sub_prod, ProbabilityTheory.Kernel.AEFiniteKernelSupport.prodMkRight, ProbabilityTheory.Kernel.AEFiniteKernelSupport.prodMkLeft, Eq.mpr, HDiv.hDiv, id, Eq, congrArg, ProbabilityTheory.Kernel.rdist_eq', And, Neg.neg and 87 more

    117 instances, coercions and auxiliary constants left out.

    Tactic trace: 8 steps

    Open to load the checked before-and-after goal states.

  14. lemma ProbabilityTheory.Kernel.rdist_nonneg line 163 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport, LE.le, Real, OfNat.ofNat, ProbabilityTheory.Kernel.rdist

    Proof uses: HMul.hMul, Nat, Trans.trans, abs, HSub.hSub, ProbabilityTheory.Kernel.entropy, abs_nonneg, ProbabilityTheory.Kernel.abs_sub_entropy_le_rdist, le_of_not_gt, LT.lt, Mathlib.Tactic.Linarith.lt_irrefl, Eq.mp, HAdd.hAdd, congrArg, Mathlib.Tactic.Ring.of_eq, Mathlib.Tactic.Ring.Common.add_congr, HPow.hPow, Nat.rawCast, Int.rawCast, inferInstance and 48 more

    72 instances, coercions and auxiliary constants left out.

    Tactic trace: 3 steps

    Open to load the checked before-and-after goal states.

  15. lemma ProbabilityTheory.Kernel.ent_of_diff_le The improved entropic Ruzsa triangle inequality line 176 source

    Source documentation

    The improved entropic Ruzsa triangle inequality.

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, Countable, MeasurableSingletonClass, ProbabilityTheory.Kernel, Prod, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.FiniteKernelSupport, LE.le, Real, ProbabilityTheory.Kernel.entropy, ProbabilityTheory.Kernel.map, HSub.hSub, Prod.fst, Prod.snd, HAdd.hAdd, ProbabilityTheory.Kernel.prod and 2 more

    Proof uses: ProbabilityTheory.Kernel.FiniteKernelSupport.prod, Prod.mk, ProbabilityTheory.Kernel.AEFiniteKernelSupport, ProbabilityTheory.Kernel.deleteMiddle, ProbabilityTheory.Kernel.entropy_triple_add_entropy_le, Eq, Function.comp, funext, of_eq_true, eq_self, Eq.mpr, id, congrArg, Eq.symm, ProbabilityTheory.Kernel.map_map, Measurable.fst, measurable_id', Measurable.fun_sub, Measurable.snd, ProbabilityTheory.Kernel.fst_eq and 95 more

    90 instances, coercions and auxiliary constants left out.

    Tactic trace: 86 steps

    Open to load the checked before-and-after goal states.

    lemma ent_of_diff_le (κ : Kernel T (G × G)) (η : Kernel T G) [IsMarkovKernel κ] [IsMarkovKernel η]
        (μ : Measure T) [IsProbabilityMeasure μ] [FiniteSupport μ]
        (hκ : FiniteKernelSupport κ) (hη : FiniteKernelSupport η) :
        Hk[map κ (fun p : G × G ↦ p.1 - p.2), μ]
          ≤ Hk[map ((fst κ) ×ₖ η) (fun p : G × G ↦ p.1 - p.2), μ]
            + Hk[map (η ×ₖ (snd κ)) (fun p : G × G ↦ p.1 - p.2), μ]
            - Hk[η, μ] := by
    …

    Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.FiniteKernelSupport

  16. lemma ProbabilityTheory.Kernel.rdist_triangle_aux1 line 279 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, MeasurableSingletonClass, Countable, ProbabilityTheory.Kernel, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.entropy, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, HSub.hSub, Prod.fst, Prod.snd and 1 more

    Proof uses: Filter.Eventually, Membership.mem, Set, Finset, SProd.sprod, MeasureTheory.Measure.support, MeasureTheory.ae, MeasureTheory.Measure.prod_of_full_measure_finset, ProbabilityTheory.measure_compl_support, ENNReal, Compl.compl, OfNat.ofNat, id, Eq.mpr, MeasureTheory.integral, ProbabilityTheory.measureEntropy, MeasureTheory.Measure.restrict, congrArg, NormedAddCommGroup, NormedSpace and 40 more

    81 instances, coercions and auxiliary constants left out.

    Tactic trace: 14 steps

    Open to load the checked before-and-after goal states.

  17. lemma ProbabilityTheory.Kernel.rdist_triangle_aux2 line 310 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, MeasurableSingletonClass, Countable, ProbabilityTheory.Kernel, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, Eq, Real, ProbabilityTheory.Kernel.entropy, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkLeft, ProbabilityTheory.Kernel.prodMkRight, HSub.hSub, Prod.fst, Prod.snd and 1 more

    Proof uses: Filter.Eventually, Membership.mem, Set, Finset, SProd.sprod, MeasureTheory.Measure.support, MeasureTheory.ae, MeasureTheory.Measure.prod_of_full_measure_finset, ProbabilityTheory.measure_compl_support, ENNReal, Compl.compl, OfNat.ofNat, id, Eq.mpr, MeasureTheory.integral, ProbabilityTheory.measureEntropy, MeasureTheory.Measure.restrict, congrFun', congrArg, NormedAddCommGroup and 44 more

    85 instances, coercions and auxiliary constants left out.

    Tactic trace: 22 steps

    Open to load the checked before-and-after goal states.

  18. lemma ProbabilityTheory.Kernel.rdist_triangle line 350 source

    standard axioms: Classical.choice, Quot.sound, propext what this means

    Statement uses: MeasurableSpace, AddCommGroup, MeasurableSingletonClass, Countable, ProbabilityTheory.Kernel, ProbabilityTheory.IsMarkovKernel, MeasureTheory.Measure, MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.FiniteKernelSupport, LE.le, Real, ProbabilityTheory.Kernel.rdist, HAdd.hAdd

    Proof uses: Eq.mpr, HSub.hSub, ProbabilityTheory.Kernel.entropy, Prod, ProbabilityTheory.Kernel.map, ProbabilityTheory.Kernel.prod, ProbabilityTheory.Kernel.prodMkRight, ProbabilityTheory.Kernel.prodMkLeft, Prod.fst, Prod.snd, MeasureTheory.Measure.prod, HDiv.hDiv, OfNat.ofNat, Nat, id, Eq, congrArg, ProbabilityTheory.Kernel.rdist_eq', ProbabilityTheory.Kernel.fst, ProbabilityTheory.Kernel.snd and 75 more

    88 instances, coercions and auxiliary constants left out.

    Tactic trace: 21 steps

    Open to load the checked before-and-after goal states.