Documentation

Complexitylib.Classes.PCP.Internal.ExpanderRandom

A tuple of permutations that expands #

The counting argument. Of the (n!)^30 tuples of thirty permutations of Fin n, not all can fail to expand: a tuple fails at a vertex set S of at most half the vertices exactly when every one of its thirty permutations keeps all but a tenth of S inside S. PermCount bounds how many permutations do that for a fixed S; PermArith.key_estimate turns the thirtieth power of that bound into (n!)^30 / 2^{|S|}, with room to spare for the C(n,s) sets of each size; and summing 2^{-s} over s ≥ 1 stays below one.

Everything is done with natural numbers — the geometric series appears as an induction that carries the slack + K explicitly, so no division is needed.

Main definitions #

Main results #

noncomputable def Complexity.escLE {n : } (S : Finset (Fin n)) (t : ) :

The permutations moving at most t points of S out of S.

Equations
Instances For
    def Complexity.tOf {n : } (S : Finset (Fin n)) :

    The escape a set of size s is allowed before it counts as expanding.

    Equations
    Instances For
      theorem Complexity.ten_mul_tOf_le {n : } (S : Finset (Fin n)) :
      10 * tOf S S.card
      theorem Complexity.mem_escLE_iff {n : } {S : Finset (Fin n)} {σ : Equiv.Perm (Fin n)} (hS : 1 S.card) :
      σ escLE S (tOf S) ¬S.card 10 * escape σ S
      def Complexity.escB (n s : ) :

      The bound on how many permutations fail to expand a set of size s.

      Equations
      Instances For
        theorem Complexity.card_escLE_le {n : } (S : Finset (Fin n)) :
        (escLE S (tOf S)).card escB n S.card
        theorem Complexity.two_pow_mul_escB_le {n s : } (hs : 1 s) (hsn : 2 * s n) :
        2 ^ s * (n.choose s * escB n s ^ 30) n.factorial ^ 30

        The per-size estimate.

        The geometric slack #

        The union bound #

        theorem Complexity.exists_good_perms (n : ) :
        ∃ (σ : Fin 30Equiv.Perm (Fin n)), ∀ (S : Finset (Fin n)), 2 * S.card nS.Nonempty∃ (i : Fin 30), S.card 10 * escape (σ i) S

        A tuple that expands.