Documentation

LeanPool.Erdos865.FoldedAux

The four sets T₁,…,T₄ and their pairwise intersections #

Supporting material for the folded additive lemma: the images T₁,…,T₄ of B inside ZMod m, their cardinalities, and the pairwise-intersection bounds culminating in the four-set union bound case2_bound.

Generic helpers #

theorem Erdos865.four_card_le {X : Type u_1} [DecidableEq X] (s1 s2 s3 s4 : Finset X) :
s1.card + s2.card + s3.card + s4.card (s1 s2 s3 s4).card + ((s1 s2).card + (s1 s3).card + (s1 s4).card + (s2 s3).card + (s2 s4).card + (s3 s4).card)
theorem Erdos865.card_two_sol (m : ) [NeZero m] (c : ZMod m) :
{x : ZMod m | 2 * x = c}.card 2

The four sets T₁,…,T₄ in ZMod m #

def Erdos865.T1 (m : ) (B : Finset ) :

T₁ = B inside ZMod m.

Equations
Instances For
    def Erdos865.T2 (m : ) (B : Finset ) :

    T₂ = -B inside ZMod m.

    Equations
    Instances For
      def Erdos865.T3 (m : ) (B : Finset ) (α : ) :

      T₃ = (B - α) \ {0} inside ZMod m.

      Equations
      Instances For
        def Erdos865.T4 (m : ) (B : Finset ) (β : ) :

        T₄ = (β - B) \ {0} inside ZMod m.

        Equations
        Instances For
          theorem Erdos865.cast_injOn {m : } {B : Finset } (hB : FoldedOK m B) :
          Set.InjOn (fun (b : ) => b) B
          theorem Erdos865.card_T1 {m : } {B : Finset } (hB : FoldedOK m B) :
          (T1 m B).card = B.card
          theorem Erdos865.card_T2 {m : } {B : Finset } (hB : FoldedOK m B) :
          (T2 m B).card = B.card
          theorem Erdos865.card_T3 {m : } {B : Finset } (hB : FoldedOK m B) {α : } ( : α B) :
          (T3 m B α).card = B.card - 1
          theorem Erdos865.card_T4 {m : } {B : Finset } (hB : FoldedOK m B) {β : } ( : β B) :
          (T4 m B β).card = B.card - 1
          theorem Erdos865.union_card_le {m : } (hm : 2 m) {B : Finset } (hB : FoldedOK m B) (α β : ) :
          (T1 m B T2 m B T3 m B α T4 m B β).card m - 1

          The pairwise intersection bounds #

          theorem Erdos865.inter_T1_T2_le {m : } {B : Finset } (hB : FoldedOK m B) :
          (T1 m B T2 m B).card 1
          theorem Erdos865.inter_T1_T2_odd {m : } (hodd : ¬2 m) {B : Finset } (hB : FoldedOK m B) :
          T1 m B T2 m B =
          theorem Erdos865.inter_T1_T3_le {m : } {B : Finset } (hB : FoldedOK m B) {α : } ( : α B) :
          (T1 m B T3 m B α).card 1
          theorem Erdos865.inter_T2_T3_le {m : } {B : Finset } (hB : FoldedOK m B) {α : } ( : α B) (hmin : xB, α x) :
          (T2 m B T3 m B α).card 1
          theorem Erdos865.inter_T2_T4_le {m : } {B : Finset } (hB : FoldedOK m B) {β : } ( : β B) :
          (T2 m B T4 m B β).card 1
          theorem Erdos865.inter_T1_T4_le {m : } (hm : 2 m) {B : Finset } (hB : FoldedOK m B) {β : } ( : β B) :
          (T1 m B T4 m B β).card 2
          theorem Erdos865.inter_T3_T4_le {m : } {B : Finset } (hB : FoldedOK m B) {α β : } ( : α B) ( : β B) (hαβ : α < β) (hmin : xB, α x) (hmin2 : xB, x αβ x) (hsum : α + β < m) (hnc : α + βcollisions m B) :
          (T3 m B α T4 m B β).card 2

          The Case 2 bound #

          theorem Erdos865.case2_bound {m : } (hm : 2 m) {B : Finset } (hB : FoldedOK m B) {α β : } ( : α B) ( : β B) (hαβ : α < β) (hmin : xB, α x) (hmin2 : xB, x αβ x) (hsum : α + β < m) (hnc : α + βcollisions m B) :
          4 * B.card m + 8