Analysis of Boolean Functions in Lean

9.7. Exercises and notes🔗

Lemma9.7.1
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.1. For arbitrary real numbers 1<b<B, construct a b-reasonable random variable X such that 1+X is not B-reasonable.

Lean code for Lemma9.7.12 declarations
  • defdefined in FABL/Chapter09/Reasonableness.lean
    complete
    def FABL.bernoulliNegOneOrZero (b : Bool) : 
    def FABL.bernoulliNegOneOrZero (b : Bool) : 
    The negative-one-or-zero realization used to witness failure of translation invariance. 
  • theoremdefined in FABL/Chapter09/Reasonableness.lean
    complete
    theorem FABL.exercise9_1 {b B : } (hb : 1 < b) (hbB : b < B) :
       p X,
        FABL.IsReasonable p b X  ¬FABL.IsReasonable p B fun x => 1 + X x
    theorem FABL.exercise9_1 {b B : } (hb : 1 < b)
      (hbB : b < B) :
       p X,
        FABL.IsReasonable p b X 
          ¬FABL.IsReasonable p B fun x =>
              1 + X x
    O'Donnell, Exercise 9.1: reasonableness is not translation invariant, already on a
    two-point finite probability space. 
Lemma9.7.2
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 9.1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.2. Suppose \deg(f)\le1 and its inputs are independent, 3-reasonable random variables satisfying \mathbb E[X_i]=\mathbb E[X_i^3]=0. Prove that f(X) is 3-reasonable.

Lean code for Lemma9.7.24 theorems
  • theoremdefined in FABL/Chapter09/Reasonableness.lean
    complete
    theorem FABL.reasonable_three_add_const.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p : PMF Ω) (X : Ω  ) (c : ) (hmean : FABL.pmfExpectation p X = 0)
      (hthird : (FABL.pmfExpectation p fun x => X x ^ 3) = 0)
      (hX : FABL.IsReasonable p 3 X) :
      FABL.IsReasonable p 3 fun x => c + X x
    theorem FABL.reasonable_three_add_const.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (X : Ω  ) (c : )
      (hmean : FABL.pmfExpectation p X = 0)
      (hthird :
        (FABL.pmfExpectation p fun x =>
            X x ^ 3) =
          0)
      (hX : FABL.IsReasonable p 3 X) :
      FABL.IsReasonable p 3 fun x => c + X x
    Adding a constant preserves the sharp constant `3` for a centered, zero-third-moment,
    `3`-reasonable finite random variable.  This is the affine step in Exercise 9.2. 
  • theoremdefined in FABL/Chapter09/Reasonableness.lean
    complete
    theorem FABL.linearForm_threeReasonable {n : } (a : Fin n  ) :
      FABL.IsReasonable (FABL.uniformPMF (FABL.SignCube n)) 3
        (FABL.linearForm a)
    theorem FABL.linearForm_threeReasonable {n : }
      (a : Fin n  ) :
      FABL.IsReasonable
        (FABL.uniformPMF (FABL.SignCube n)) 3
        (FABL.linearForm a)
    The sharp degree-one Bonami estimate for a Rademacher linear form. 
  • theoremdefined in FABL/Chapter09/Reasonableness.lean
    complete
    theorem FABL.exercise9_2_uniformBits {n : } (c : ) (a : Fin n  ) :
      FABL.IsReasonable (FABL.uniformPMF (FABL.SignCube n)) 3 fun x =>
        c + FABL.linearForm a x
    theorem FABL.exercise9_2_uniformBits {n : }
      (c : ) (a : Fin n  ) :
      FABL.IsReasonable
        (FABL.uniformPMF (FABL.SignCube n)) 3
        fun x => c + FABL.linearForm a x
    O'Donnell, Exercise 9.2 for the displayed finite uniform-bit instance: every affine
    degree-one polynomial of independent uniform signs is `3`-reasonable. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.exercise9_2_independent_threeReasonable.{u_1} {n : }
      {Ω : Fin n  Type u_1} [(i : Fin n)  Fintype (Ω i)]
      (p : (i : Fin n)  PMF (Ω i)) (X : (i : Fin n)  Ω i  )
      (a : Finset (Fin n)  )
      (hmean :  (i : Fin n), FABL.pmfExpectation (p i) (X i) = 0)
      (hthird :
         (i : Fin n), (FABL.pmfExpectation (p i) fun z => X i z ^ 3) = 0)
      (hreasonable :  (i : Fin n), FABL.IsReasonable (p i) 3 (X i))
      (hdegree : FABL.MultilinearDegreeAtMost a 1) :
      FABL.IsReasonable (FABL.independentProductPMF p) 3
        (FABL.productMultilinearRandomVariable a X)
    theorem FABL.exercise9_2_independent_threeReasonable.{u_1}
      {n : } {Ω : Fin n  Type u_1}
      [(i : Fin n)  Fintype (Ω i)]
      (p : (i : Fin n)  PMF (Ω i))
      (X : (i : Fin n)  Ω i  )
      (a : Finset (Fin n)  )
      (hmean :
         (i : Fin n),
          FABL.pmfExpectation (p i) (X i) = 0)
      (hthird :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              X i z ^ 3) =
            0)
      (hreasonable :
         (i : Fin n),
          FABL.IsReasonable (p i) 3 (X i))
      (hdegree :
        FABL.MultilinearDegreeAtMost a 1) :
      FABL.IsReasonable
        (FABL.independentProductPMF p) 3
        (FABL.productMultilinearRandomVariable
          a X)
    Exercise 9.2 in its general independent-variable form: every degree-one multilinear
    polynomial of independent `3`-reasonable variables whose first and third moments vanish is
    itself `3`-reasonable. 
Lemma9.7.3
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.3. Let 3\mid k, n\ge2k, and f(x)=\sum_{|S|=k}x^S. Prove \mathbb E[f^4] \ge \frac{\binom{n}{k/3,k/3,k/3,k/3,k/3,k/3,n-2k}} {\binom nk^2} \mathbb E[f^2]^2. As n\to\infty, prove the ratio is \Theta(k^{-2}9^k) and hence \|f\|_4 \ge\Omega(k^{-1/2})(\sqrt3)^k\|f\|_2.

Lean code for Lemma9.7.359 declarations
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.DisjointBlockChoices.{u} {α : Type u} [DecidableEq α]
      (remaining : Finset α) (d : ) :   Type u
    def FABL.DisjointBlockChoices.{u} {α : Type u}
      [DecidableEq α] (remaining : Finset α)
      (d : ) :   Type u
    Sequentially choose `t` disjoint `d`-element blocks from a finite set of
    remaining points. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.DisjointBlockChoices.blocks.{u_1} {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d : } (t : ) :
      FABL.DisjointBlockChoices remaining d t  List (Finset α)
    def FABL.DisjointBlockChoices.blocks.{u_1}
      {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d : } (t : ) :
      FABL.DisjointBlockChoices remaining d
          t 
        List (Finset α)
    The list of blocks encoded by a sequential disjoint-block choice. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.DisjointBlockChoices.blocks_length.{u_1} {α : Type u_1}
      [DecidableEq α] {remaining : Finset α} {d t : }
      (choice : FABL.DisjointBlockChoices remaining d t) :
      (FABL.DisjointBlockChoices.blocks t choice).length = t
    theorem FABL.DisjointBlockChoices.blocks_length.{u_1}
      {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d t : }
      (choice :
        FABL.DisjointBlockChoices remaining d
          t) :
      (FABL.DisjointBlockChoices.blocks t
            choice).length =
        t
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.DisjointBlockChoices.blocks_card.{u_1} {α : Type u_1}
      [DecidableEq α] {remaining : Finset α} {d t : }
      (choice : FABL.DisjointBlockChoices remaining d t) {block : Finset α}
      (hblock : block  FABL.DisjointBlockChoices.blocks t choice) :
      block.card = d
    theorem FABL.DisjointBlockChoices.blocks_card.{u_1}
      {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d t : }
      (choice :
        FABL.DisjointBlockChoices remaining d
          t)
      {block : Finset α}
      (hblock :
        block 
          FABL.DisjointBlockChoices.blocks t
            choice) :
      block.card = d
    Every chosen block has the requested cardinality. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.DisjointBlockChoices.blocks_subset.{u_1} {α : Type u_1}
      [DecidableEq α] {remaining : Finset α} {d t : }
      (choice : FABL.DisjointBlockChoices remaining d t) {block : Finset α}
      (hblock : block  FABL.DisjointBlockChoices.blocks t choice) :
      block  remaining
    theorem FABL.DisjointBlockChoices.blocks_subset.{u_1}
      {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d t : }
      (choice :
        FABL.DisjointBlockChoices remaining d
          t)
      {block : Finset α}
      (hblock :
        block 
          FABL.DisjointBlockChoices.blocks t
            choice) :
      block  remaining
    Every chosen block is contained in the initial remaining set. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.DisjointBlockChoices.blocks_pairwiseDisjoint.{u_1} {α : Type u_1}
      [DecidableEq α] {remaining : Finset α} {d t : }
      (choice : FABL.DisjointBlockChoices remaining d t) :
      List.Pairwise Disjoint (FABL.DisjointBlockChoices.blocks t choice)
    theorem FABL.DisjointBlockChoices.blocks_pairwiseDisjoint.{u_1}
      {α : Type u_1} [DecidableEq α]
      {remaining : Finset α} {d t : }
      (choice :
        FABL.DisjointBlockChoices remaining d
          t) :
      List.Pairwise Disjoint
        (FABL.DisjointBlockChoices.blocks t
          choice)
    The chosen blocks are pairwise disjoint. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.DisjointBlockChoices.ext_of_blocks_eq.{u} {α : Type u}
      [DecidableEq α] {remaining : Finset α} {d t : }
      (first second : FABL.DisjointBlockChoices remaining d t)
      (hblocks :
        FABL.DisjointBlockChoices.blocks t first =
          FABL.DisjointBlockChoices.blocks t second) :
      first = second
    theorem FABL.DisjointBlockChoices.ext_of_blocks_eq.{u}
      {α : Type u} [DecidableEq α]
      {remaining : Finset α} {d t : }
      (first second :
        FABL.DisjointBlockChoices remaining d
          t)
      (hblocks :
        FABL.DisjointBlockChoices.blocks t
            first =
          FABL.DisjointBlockChoices.blocks t
            second) :
      first = second
    A sequential disjoint-block choice is determined by its block list. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.SixDisjointBlockChoice (n d : ) : Type
    abbrev FABL.SixDisjointBlockChoice (n d : ) :
      Type
    Six disjoint `d`-blocks in `[n]`, in their book ordering. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.disjointBlockChoicesFintype.{u} {α : Type u} [DecidableEq α]
      (remaining : Finset α) (d t : ) :
      Fintype (FABL.DisjointBlockChoices remaining d t)
    def FABL.disjointBlockChoicesFintype.{u}
      {α : Type u} [DecidableEq α]
      (remaining : Finset α) (d t : ) :
      Fintype
        (FABL.DisjointBlockChoices remaining d
          t)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.SixDisjointBlockChoice.block {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) (i : Fin 6) :
      Finset (Fin n)
    def FABL.SixDisjointBlockChoice.block
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      (i : Fin 6) : Finset (Fin n)
    The `i`th of the six blocks. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.block_card {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) (i : Fin 6) :
      (choice.block i).card = d
    theorem FABL.SixDisjointBlockChoice.block_card
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      (i : Fin 6) : (choice.block i).card = d
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.block_pairwiseDisjoint {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) :
      Pairwise fun i j => Disjoint (choice.block i) (choice.block j)
    theorem FABL.SixDisjointBlockChoice.block_pairwiseDisjoint
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d) :
      Pairwise fun i j =>
        Disjoint (choice.block i)
          (choice.block j)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_powersetCardSubtype.{u} {α : Type u} (remaining : Finset α)
      (d : ) :
      Nat.card (Finset.powersetCard d remaining) = remaining.card.choose d
    theorem FABL.natCard_powersetCardSubtype.{u}
      {α : Type u} (remaining : Finset α)
      (d : ) :
      Nat.card
          (Finset.powersetCard d remaining) =
        remaining.card.choose d
    Cardinality of the type of one `d`-block chosen from `remaining`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_disjointBlockChoices.{u} {α : Type u} [DecidableEq α]
      (remaining : Finset α) (d t : ) :
      Nat.card (FABL.DisjointBlockChoices remaining d t) =
         j  Finset.range t, (remaining.card - j * d).choose d
    theorem FABL.natCard_disjointBlockChoices.{u}
      {α : Type u} [DecidableEq α]
      (remaining : Finset α) (d t : ) :
      Nat.card
          (FABL.DisjointBlockChoices remaining
            d t) =
         j  Finset.range t,
          (remaining.card - j * d).choose d
    Exact cardinality of sequential disjoint-block choices. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_sixDisjointBlockChoice (n d : ) :
      Nat.card (FABL.SixDisjointBlockChoice n d) =
         j  Finset.range 6, (n - j * d).choose d
    theorem FABL.natCard_sixDisjointBlockChoice
      (n d : ) :
      Nat.card
          (FABL.SixDisjointBlockChoice n d) =
         j  Finset.range 6,
          (n - j * d).choose d
    The six-block choice cardinal is the sequential multinomial product. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.prod_choose_sub_mul_factorials (n d t : ) (hdt : t * d  n) :
      (∏ j  Finset.range t, (n - j * d).choose d) * d.factorial ^ t *
          (n - t * d).factorial =
        n.factorial
    theorem FABL.prod_choose_sub_mul_factorials
      (n d t : ) (hdt : t * d  n) :
      (∏ j  Finset.range t,
              (n - j * d).choose d) *
            d.factorial ^ t *
          (n - t * d).factorial =
        n.factorial
    Telescoping factorial identity for sequential equal-size block choices. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.sixBlockMultinomial (n d : ) : 
    def FABL.sixBlockMultinomial (n d : ) : 
    The seven-cell multinomial coefficient used in Exercise 9.3: six cells have
    size `d`, and the residual cell has size `n-6d`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_sixDisjointBlockChoice_eq_multinomial (n d : )
      (hnd : 6 * d  n) :
      Nat.card (FABL.SixDisjointBlockChoice n d) =
        FABL.sixBlockMultinomial n d
    theorem FABL.natCard_sixDisjointBlockChoice_eq_multinomial
      (n d : ) (hnd : 6 * d  n) :
      Nat.card
          (FABL.SixDisjointBlockChoice n d) =
        FABL.sixBlockMultinomial n d
    The sequential six-block cardinal equals the book's multinomial coefficient. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.k4EdgeEnds : Fin 6  Fin 4 × Fin 4
    def FABL.k4EdgeEnds : Fin 6  Fin 4 × Fin 4
    The six edges of the complete graph on four labeled vertices, in the order
    `01,02,03,12,13,23`. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.k4IncidentEdges (v : Fin 4) : Finset (Fin 6)
    def FABL.k4IncidentEdges (v : Fin 4) :
      Finset (Fin 6)
    Edges incident to a vertex of `K₄`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_k4IncidentEdges (v : Fin 4) :
      (FABL.k4IncidentEdges v).card = 3
    theorem FABL.card_k4IncidentEdges (v : Fin 4) :
      (FABL.k4IncidentEdges v).card = 3
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.SixDisjointBlockChoice.incidentSupport {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) (v : Fin 4) :
      Finset (Fin n)
    def FABL.SixDisjointBlockChoice.incidentSupport
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      (v : Fin 4) : Finset (Fin n)
    Union of the three blocks labeling edges incident to `v`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.incidentSupport_card {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) (v : Fin 4) :
      (choice.incidentSupport v).card = 3 * d
    theorem FABL.SixDisjointBlockChoice.incidentSupport_card
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      (v : Fin 4) :
      (choice.incidentSupport v).card = 3 * d
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.eq_of_mem_blocks {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) {x : Fin n} {i j : Fin 6}
      (hi : x  choice.block i) (hj : x  choice.block j) : i = j
    theorem FABL.SixDisjointBlockChoice.eq_of_mem_blocks
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      {x : Fin n} {i j : Fin 6}
      (hi : x  choice.block i)
      (hj : x  choice.block j) : i = j
    A point belongs to at most one of the six disjoint blocks. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.tupleSymmDiff_finFour.{u_1} {α : Type u_1} [DecidableEq α]
      (sets : Fin 4  Finset α) :
      FABL.tupleSymmDiff sets =
        symmDiff (sets 0)
          (symmDiff (sets 1) (symmDiff (sets 2) (symmDiff (sets 3) )))
    theorem FABL.tupleSymmDiff_finFour.{u_1}
      {α : Type u_1} [DecidableEq α]
      (sets : Fin 4  Finset α) :
      FABL.tupleSymmDiff sets =
        symmDiff (sets 0)
          (symmDiff (sets 1)
            (symmDiff (sets 2)
              (symmDiff (sets 3) )))
    Expanding a four-tuple's symmetric difference. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.tupleSymmDiff_incidentSupport {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) :
      (FABL.tupleSymmDiff fun v => choice.incidentSupport v) = 
    theorem FABL.SixDisjointBlockChoice.tupleSymmDiff_incidentSupport
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d) :
      (FABL.tupleSymmDiff fun v =>
          choice.incidentSupport v) =
        
    Every block labels one edge and hence occurs in exactly two of the four incident
    supports; their total symmetric difference is empty. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.block_eq_incidentSupport_inter {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) (edge : Fin 6) :
      choice.block edge =
        choice.incidentSupport (FABL.k4EdgeEnds edge).1 
          choice.incidentSupport (FABL.k4EdgeEnds edge).2
    theorem FABL.SixDisjointBlockChoice.block_eq_incidentSupport_inter
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d)
      (edge : Fin 6) :
      choice.block edge =
        choice.incidentSupport
            (FABL.k4EdgeEnds edge).1 
          choice.incidentSupport
            (FABL.k4EdgeEnds edge).2
    Recover an edge block as the intersection of its two endpoint supports. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.levelKPolynomial {n : } (k : ) : FABL.SignCube n  
    def FABL.levelKPolynomial {n : } (k : ) :
      FABL.SignCube n  
    The sum of all Walsh monomials at level `k`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.fourierCoeff_levelKPolynomial {n : } (k : )
      (T : Finset (Fin n)) :
      FABL.fourierCoeff (FABL.levelKPolynomial k) T =
        if T.card = k then 1 else 0
    theorem FABL.fourierCoeff_levelKPolynomial {n : }
      (k : ) (T : Finset (Fin n)) :
      FABL.fourierCoeff
          (FABL.levelKPolynomial k) T =
        if T.card = k then 1 else 0
    Fourier coefficients of the level-`k` monomial sum. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_levelKPolynomial_sq (n k : ) :
      (Finset.univ.expect fun x => FABL.levelKPolynomial k x ^ 2) =
        (n.choose k)
    theorem FABL.expect_levelKPolynomial_sq
      (n k : ) :
      (Finset.univ.expect fun x =>
          FABL.levelKPolynomial k x ^ 2) =
        (n.choose k)
    The second moment of the level-`k` monomial sum is `n choose k`. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.LevelKParityTuple (n k q : ) : Type
    def FABL.LevelKParityTuple (n k q : ) : Type
    A tuple of level-`k` supports whose total symmetric difference is empty. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.SixDisjointBlockChoice.toParityTuple {n d : }
      (choice : FABL.SixDisjointBlockChoice n d) :
      FABL.LevelKParityTuple n (3 * d) 4
    def FABL.SixDisjointBlockChoice.toParityTuple
      {n d : }
      (choice :
        FABL.SixDisjointBlockChoice n d) :
      FABL.LevelKParityTuple n (3 * d) 4
    The four level-`3d` supports constructed from six disjoint `d`-blocks. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.SixDisjointBlockChoice.toParityTuple_injective {n d : } :
      Function.Injective FABL.SixDisjointBlockChoice.toParityTuple
    theorem FABL.SixDisjointBlockChoice.toParityTuple_injective
      {n d : } :
      Function.Injective
        FABL.SixDisjointBlockChoice.toParityTuple
    The six-block construction is injective: every edge block is recovered as the
    intersection of its endpoint supports. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_levelKPolynomial_pow_eq_natCard_parityTuple (n k q : ) :
      (Finset.univ.expect fun x => FABL.levelKPolynomial k x ^ q) =
        (Nat.card (FABL.LevelKParityTuple n k q))
    theorem FABL.expect_levelKPolynomial_pow_eq_natCard_parityTuple
      (n k q : ) :
      (Finset.univ.expect fun x =>
          FABL.levelKPolynomial k x ^ q) =
        (Nat.card
            (FABL.LevelKParityTuple n k q))
    The moment of the level-`k` monomial sum counts its parity-zero support tuples. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_le_fourthMoment_levelKPolynomial_of_injective.{u_1}
      {W : Type u_1} [Finite W] (n k : )
      (encode : W  FABL.LevelKParityTuple n k 4)
      (hencode : Function.Injective encode) :
      (Nat.card W) 
        Finset.univ.expect fun x => FABL.levelKPolynomial k x ^ 4
    theorem FABL.natCard_le_fourthMoment_levelKPolynomial_of_injective.{u_1}
      {W : Type u_1} [Finite W] (n k : )
      (encode :
        W  FABL.LevelKParityTuple n k 4)
      (hencode : Function.Injective encode) :
      (Nat.card W) 
        Finset.univ.expect fun x =>
          FABL.levelKPolynomial k x ^ 4
    Any explicitly injected family of parity-zero level-`k` tuples gives a fourth-moment
    lower bound.  Exercise 9.3 uses the family of six disjoint `k/3`-blocks. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sixBlockMultinomial_le_fourthMoment_levelKPolynomial (n d : )
      (hnd : 6 * d  n) :
      (FABL.sixBlockMultinomial n d) 
        Finset.univ.expect fun x => FABL.levelKPolynomial (3 * d) x ^ 4
    theorem FABL.sixBlockMultinomial_le_fourthMoment_levelKPolynomial
      (n d : ) (hnd : 6 * d  n) :
      (FABL.sixBlockMultinomial n d) 
        Finset.univ.expect fun x =>
          FABL.levelKPolynomial (3 * d) x ^ 4
    Exercise 9.3(a), finite combinatorial core: six disjoint `d`-blocks inject into
    the fourth-moment parity tuples at level `3d`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.exercise9_3_fourthMoment_lower_bound (n d : ) (hnd : 6 * d  n) :
      (FABL.sixBlockMultinomial n d) / (n.choose (3 * d)) ^ 2 *
          (Finset.univ.expect fun x =>
              FABL.levelKPolynomial (3 * d) x ^ 2) ^
            2 
        Finset.univ.expect fun x => FABL.levelKPolynomial (3 * d) x ^ 4
    theorem FABL.exercise9_3_fourthMoment_lower_bound
      (n d : ) (hnd : 6 * d  n) :
      (FABL.sixBlockMultinomial n d) /
            (n.choose (3 * d)) ^ 2 *
          (Finset.univ.expect fun x =>
              FABL.levelKPolynomial (3 * d)
                  x ^
                2) ^
            2 
        Finset.univ.expect fun x =>
          FABL.levelKPolynomial (3 * d) x ^ 4
    Exercise 9.3(a) in the book's ratio-times-second-moment-squared form. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.exercise9_3_fourthMoment_lower_bound_of_dvd (n k : )
      (_hkpos : 0 < k) (hk : 3  k) (hn : 2 * k  n) :
      (FABL.sixBlockMultinomial n (k / 3)) / (n.choose k) ^ 2 *
          (Finset.univ.expect fun x => FABL.levelKPolynomial k x ^ 2) ^ 2 
        Finset.univ.expect fun x => FABL.levelKPolynomial k x ^ 4
    theorem FABL.exercise9_3_fourthMoment_lower_bound_of_dvd
      (n k : ) (_hkpos : 0 < k) (hk : 3  k)
      (hn : 2 * k  n) :
      (FABL.sixBlockMultinomial n (k / 3)) /
            (n.choose k) ^ 2 *
          (Finset.univ.expect fun x =>
              FABL.levelKPolynomial k x ^ 2) ^
            2 
        Finset.univ.expect fun x =>
          FABL.levelKPolynomial k x ^ 4
    Exercise 9.3(a), specialized from the book's hypotheses `3 ∣ k` and `n ≥ 2k`. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.fixedShiftFactorialRatio (m d : ) : 
    def FABL.fixedShiftFactorialRatio (m d : ) :
      
    The finite shift quotient left after cancelling the two multinomial coefficients
    in Exercise 9.3(b). 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.tendsto_fixedShiftFactorialRatio (d : ) :
      Filter.Tendsto (fun m => FABL.fixedShiftFactorialRatio m d)
        Filter.atTop (nhds 1)
    theorem FABL.tendsto_fixedShiftFactorialRatio
      (d : ) :
      Filter.Tendsto
        (fun m =>
          FABL.fixedShiftFactorialRatio m d)
        Filter.atTop (nhds 1)
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.fixedShiftFactorialRatio_eq_factorial_ratio (m d : ) :
      FABL.fixedShiftFactorialRatio m d =
        (m + 3 * d).factorial ^ 2 / ((m + 6 * d).factorial * m.factorial)
    theorem FABL.fixedShiftFactorialRatio_eq_factorial_ratio
      (m d : ) :
      FABL.fixedShiftFactorialRatio m d =
        (m + 3 * d).factorial ^ 2 /
          ((m + 6 * d).factorial *
            m.factorial)
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.sixBlockMultinomial_shift_mul_factorials (m d : ) :
      FABL.sixBlockMultinomial (m + 6 * d) d * d.factorial ^ 6 *
          m.factorial =
        (m + 6 * d).factorial
    theorem FABL.sixBlockMultinomial_shift_mul_factorials
      (m d : ) :
      FABL.sixBlockMultinomial (m + 6 * d) d *
            d.factorial ^ 6 *
          m.factorial =
        (m + 6 * d).factorial
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.choose_three_mul_shift_mul_factorials (m d : ) :
      (m + 6 * d).choose (3 * d) * (3 * d).factorial *
          (m + 3 * d).factorial =
        (m + 6 * d).factorial
    theorem FABL.choose_three_mul_shift_mul_factorials
      (m d : ) :
      (m + 6 * d).choose (3 * d) *
            (3 * d).factorial *
          (m + 3 * d).factorial =
        (m + 6 * d).factorial
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.exercise9_3_ratio_shift_eq (m d : ) :
      (FABL.sixBlockMultinomial (m + 6 * d) d) /
          ((m + 6 * d).choose (3 * d)) ^ 2 =
        (3 * d).factorial ^ 2 / d.factorial ^ 6 *
          FABL.fixedShiftFactorialRatio m d
    theorem FABL.exercise9_3_ratio_shift_eq
      (m d : ) :
      (FABL.sixBlockMultinomial (m + 6 * d)
              d) /
          ((m + 6 * d).choose (3 * d)) ^ 2 =
        (3 * d).factorial ^ 2 /
            d.factorial ^ 6 *
          FABL.fixedShiftFactorialRatio m d
    Exercise 9.3(b), exact finite bridge along `n=m+6d`.  This is precisely the
    book's `k=3d`, `n≥2k` regime. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.tendsto_exercise9_3_multinomial_ratio (d : ) :
      Filter.Tendsto
        (fun m =>
          (FABL.sixBlockMultinomial (m + 6 * d) d) /
            ((m + 6 * d).choose (3 * d)) ^ 2)
        Filter.atTop (nhds ((3 * d).factorial ^ 2 / d.factorial ^ 6))
    theorem FABL.tendsto_exercise9_3_multinomial_ratio
      (d : ) :
      Filter.Tendsto
        (fun m =>
          (FABL.sixBlockMultinomial
                (m + 6 * d) d) /
            ((m + 6 * d).choose (3 * d)) ^ 2)
        Filter.atTop
        (nhds
          ((3 * d).factorial ^ 2 /
            d.factorial ^ 6))
    Exercise 9.3(b): for fixed `d`, the multinomial ratio converges to the
    factorial constant claimed in the book. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.factorialStirlingApprox (n : ) : 
    def FABL.factorialStirlingApprox (n : ) : 
    The exact comparison function in Mathlib's Stirling equivalence. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.factorial_isEquivalent_factorialStirlingApprox :
      Asymptotics.IsEquivalent Filter.atTop (fun n => n.factorial)
        FABL.factorialStirlingApprox
    theorem FABL.factorial_isEquivalent_factorialStirlingApprox :
      Asymptotics.IsEquivalent Filter.atTop
        (fun n => n.factorial)
        FABL.factorialStirlingApprox
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.factorialStirlingApprox_three_ratio_eq (d : ) (hd : 0 < d) :
      FABL.factorialStirlingApprox (3 * d) ^ 2 /
          FABL.factorialStirlingApprox d ^ 6 =
        3 / (4 * Real.pi ^ 2) * (1 / d ^ 2 * 3 ^ (6 * d))
    theorem FABL.factorialStirlingApprox_three_ratio_eq
      (d : ) (hd : 0 < d) :
      FABL.factorialStirlingApprox (3 * d) ^
            2 /
          FABL.factorialStirlingApprox d ^ 6 =
        3 / (4 * Real.pi ^ 2) *
          (1 / d ^ 2 * 3 ^ (6 * d))
    The exact cancellation of the Stirling comparison functions for `3d` and `d`.
    The restriction `d>0` is harmless for the ensuing `atTop` statement. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.levelThreeFactorialConstant (d : ) : 
    def FABL.levelThreeFactorialConstant (d : ) :
      
    The limiting factorial constant from Exercise 9.3(b). 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.levelThreeGrowth (d : ) : 
    def FABL.levelThreeGrowth (d : ) : 
    The `d`-parameter growth scale in Exercise 9.3(b). 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeFactorialConstant_isEquivalent :
      Asymptotics.IsEquivalent Filter.atTop FABL.levelThreeFactorialConstant
        fun d => 3 / (4 * Real.pi ^ 2) * FABL.levelThreeGrowth d
    theorem FABL.levelThreeFactorialConstant_isEquivalent :
      Asymptotics.IsEquivalent Filter.atTop
        FABL.levelThreeFactorialConstant
        fun d =>
        3 / (4 * Real.pi ^ 2) *
          FABL.levelThreeGrowth d
    The stronger Stirling equivalence underlying Exercise 9.3(b), including its
    nonzero leading constant `3/(4π²)`. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeFactorialConstant_isTheta :
      FABL.levelThreeFactorialConstant =Θ[Filter.atTop]
        FABL.levelThreeGrowth
    theorem FABL.levelThreeFactorialConstant_isTheta :
      FABL.levelThreeFactorialConstant =Θ[Filter.atTop]
        FABL.levelThreeGrowth
    Exercise 9.3(b): the limiting multinomial constant is genuinely
    `Θ(d⁻² 3^(6d))`. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.levelThreeBookGrowth (d : ) : 
    def FABL.levelThreeBookGrowth (d : ) : 
    The same growth scale in the book's original `k=3d` notation. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeGrowth_eq_nine_mul_bookGrowth (d : ) :
      FABL.levelThreeGrowth d = 9 * FABL.levelThreeBookGrowth d
    theorem FABL.levelThreeGrowth_eq_nine_mul_bookGrowth
      (d : ) :
      FABL.levelThreeGrowth d =
        9 * FABL.levelThreeBookGrowth d
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeFactorialConstant_isTheta_bookGrowth :
      FABL.levelThreeFactorialConstant =Θ[Filter.atTop]
        FABL.levelThreeBookGrowth
    theorem FABL.levelThreeFactorialConstant_isTheta_bookGrowth :
      FABL.levelThreeFactorialConstant =Θ[Filter.atTop]
        FABL.levelThreeBookGrowth
    Exercise 9.3(b), exactly in the book's `Θ(k⁻² 9^k)` parameterization
    along the divisible subsequence `k=3d`. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.exercise9_3_uniformLpNorm_lower_bound (n d : ) (hnd : 6 * d  n) :
      ((FABL.sixBlockMultinomial n d) / (n.choose (3 * d)) ^ 2).rpow
            (1 / 4) *
          FABL.uniformLpNorm 2 (FABL.levelKPolynomial (3 * d)) 
        FABL.uniformLpNorm 4 (FABL.levelKPolynomial (3 * d))
    theorem FABL.exercise9_3_uniformLpNorm_lower_bound
      (n d : ) (hnd : 6 * d  n) :
      ((FABL.sixBlockMultinomial n d) /
                (n.choose (3 * d)) ^ 2).rpow
            (1 / 4) *
          FABL.uniformLpNorm 2
            (FABL.levelKPolynomial (3 * d)) 
        FABL.uniformLpNorm 4
          (FABL.levelKPolynomial (3 * d))
    Exercise 9.3(b), finite norm consequence before taking either asymptotic limit. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.levelThreeBookNormGrowth (d : ) : 
    def FABL.levelThreeBookNormGrowth (d : ) : 
    The fourth-root scale in the original `k=3d` notation. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeBookGrowth_fourthRoot_eq_normGrowth (d : )
      (hd : 0 < d) :
      (FABL.levelThreeBookGrowth d).rpow (1 / 4) =
        FABL.levelThreeBookNormGrowth d
    theorem FABL.levelThreeBookGrowth_fourthRoot_eq_normGrowth
      (d : ) (hd : 0 < d) :
      (FABL.levelThreeBookGrowth d).rpow
          (1 / 4) =
        FABL.levelThreeBookNormGrowth d
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.levelThreeFactorialConstant_fourthRoot_isTheta_normGrowth :
      (fun d =>
          (FABL.levelThreeFactorialConstant d).rpow
            (1 / 4)) =Θ[Filter.atTop]
        FABL.levelThreeBookNormGrowth
    theorem FABL.levelThreeFactorialConstant_fourthRoot_isTheta_normGrowth :
      (fun d =>
          (FABL.levelThreeFactorialConstant
                d).rpow
            (1 / 4)) =Θ[Filter.atTop]
        FABL.levelThreeBookNormGrowth
    Exercise 9.3(b), formal fourth-root asymptotic.  Combined with
    `exercise9_3_uniformLpNorm_lower_bound`, this is the book's
    `‖f‖₄ ≥ Ω(k⁻¹/²(√3)^k)‖f‖₂` family along `k=3d`. 
Lemma9.7.4
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 9.1.10
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.4. Prove Corollary 9.6 by induction, retaining the exact \max(B,9)^k constant for independent, nonidentically distributed inputs.

Lean code for Lemma9.7.410 theorems
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.multilinearEvenCoefficients_degreeAtMost {n : }
      {a : Finset (Fin (n + 1))  } {k : }
      (ha : FABL.MultilinearDegreeAtMost a k) :
      FABL.MultilinearDegreeAtMost (FABL.multilinearEvenCoefficients a) k
    theorem FABL.multilinearEvenCoefficients_degreeAtMost
      {n : } {a : Finset (Fin (n + 1))  }
      {k : }
      (ha :
        FABL.MultilinearDegreeAtMost a k) :
      FABL.MultilinearDegreeAtMost
        (FABL.multilinearEvenCoefficients a) k
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.multilinearOddCoefficients_degreeAtMost {n : }
      {a : Finset (Fin (n + 1))  } {k : }
      (ha : FABL.MultilinearDegreeAtMost a (k + 1)) :
      FABL.MultilinearDegreeAtMost (FABL.multilinearOddCoefficients a) k
    theorem FABL.multilinearOddCoefficients_degreeAtMost
      {n : } {a : Finset (Fin (n + 1))  }
      {k : }
      (ha :
        FABL.MultilinearDegreeAtMost a
          (k + 1)) :
      FABL.MultilinearDegreeAtMost
        (FABL.multilinearOddCoefficients a) k
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.productMultilinearPolynomial_eq_const_of_degree_zero {n : }
      (a : Finset (Fin n)  ) (ha : FABL.MultilinearDegreeAtMost a 0)
      (x : Fin n  ) : FABL.productMultilinearPolynomial a x = a 
    theorem FABL.productMultilinearPolynomial_eq_const_of_degree_zero
      {n : } (a : Finset (Fin n)  )
      (ha : FABL.MultilinearDegreeAtMost a 0)
      (x : Fin n  ) :
      FABL.productMultilinearPolynomial a x =
        a 
    A degree-zero coefficient family evaluates to its constant coefficient. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.pmfExpectation_independentProductPMF_cons.{u_1} {n : }
      {Ω : Fin (n + 1)  Type u_1} [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i))
      (f : ((i : Fin (n + 1))  Ω i)  ) :
      FABL.pmfExpectation (FABL.independentProductPMF p) f =
        FABL.pmfExpectation (FABL.independentProductPMF fun i => p i.succ)
          fun x => FABL.pmfExpectation (p 0) fun z => f (Fin.cons z x)
    theorem FABL.pmfExpectation_independentProductPMF_cons.{u_1}
      {n : } {Ω : Fin (n + 1)  Type u_1}
      [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i))
      (f : ((i : Fin (n + 1))  Ω i)  ) :
      FABL.pmfExpectation
          (FABL.independentProductPMF p) f =
        FABL.pmfExpectation
          (FABL.independentProductPMF fun i =>
            p i.succ)
          fun x =>
          FABL.pmfExpectation (p 0) fun z =>
            f (Fin.cons z x)
    Fubini for an independent finite product, with the first coordinate integrated inside.
    The coordinate sample types may differ. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.pmfExpectation_centered_affine_sq.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p : PMF Ω) (X : Ω  ) (d e : )
      (hmean : FABL.pmfExpectation p X = 0) :
      (FABL.pmfExpectation p fun z => (X z * d + e) ^ 2) =
        (FABL.pmfExpectation p fun z => X z ^ 2) * d ^ 2 + e ^ 2
    theorem FABL.pmfExpectation_centered_affine_sq.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (X : Ω  ) (d e : )
      (hmean : FABL.pmfExpectation p X = 0) :
      (FABL.pmfExpectation p fun z =>
          (X z * d + e) ^ 2) =
        (FABL.pmfExpectation p fun z =>
              X z ^ 2) *
            d ^ 2 +
          e ^ 2
    The second moment of an affine function of a centered finite random variable. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.pmfExpectation_centered_affine_fourth.{u_1} {Ω : Type u_1}
      [Fintype Ω] (p : PMF Ω) (X : Ω  ) (d e : )
      (hmean : FABL.pmfExpectation p X = 0)
      (hthird : (FABL.pmfExpectation p fun z => X z ^ 3) = 0) :
      (FABL.pmfExpectation p fun z => (X z * d + e) ^ 4) =
        (FABL.pmfExpectation p fun z => X z ^ 4) * d ^ 4 +
            (6 * FABL.pmfExpectation p fun z => X z ^ 2) * d ^ 2 * e ^ 2 +
          e ^ 4
    theorem FABL.pmfExpectation_centered_affine_fourth.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (X : Ω  ) (d e : )
      (hmean : FABL.pmfExpectation p X = 0)
      (hthird :
        (FABL.pmfExpectation p fun z =>
            X z ^ 3) =
          0) :
      (FABL.pmfExpectation p fun z =>
          (X z * d + e) ^ 4) =
        (FABL.pmfExpectation p fun z =>
                X z ^ 4) *
              d ^ 4 +
            (6 *
                  FABL.pmfExpectation p
                    fun z => X z ^ 2) *
                d ^ 2 *
              e ^ 2 +
          e ^ 4
    The fourth moment of an affine function when the first and third moments vanish. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.productMultilinearRandomVariable_secondMoment_cons.{u_1} {n : }
      {Ω : Fin (n + 1)  Type u_1} [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i)) (X : (i : Fin (n + 1))  Ω i  )
      (a : Finset (Fin (n + 1))  )
      (hmean : FABL.pmfExpectation (p 0) (X 0) = 0) :
      (FABL.pmfExpectation (FABL.independentProductPMF p) fun ω =>
          FABL.productMultilinearRandomVariable a X ω ^ 2) =
        ((FABL.pmfExpectation (p 0) fun z => X 0 z ^ 2) *
            FABL.pmfExpectation
              (FABL.independentProductPMF fun i => p i.succ) fun ω =>
              FABL.productMultilinearRandomVariable
                  (FABL.multilinearOddCoefficients a) (fun i => X i.succ)
                  ω ^
                2) +
          FABL.pmfExpectation (FABL.independentProductPMF fun i => p i.succ)
            fun ω =>
            FABL.productMultilinearRandomVariable
                (FABL.multilinearEvenCoefficients a) (fun i => X i.succ) ω ^
              2
    theorem FABL.productMultilinearRandomVariable_secondMoment_cons.{u_1}
      {n : } {Ω : Fin (n + 1)  Type u_1}
      [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i))
      (X : (i : Fin (n + 1))  Ω i  )
      (a : Finset (Fin (n + 1))  )
      (hmean :
        FABL.pmfExpectation (p 0) (X 0) = 0) :
      (FABL.pmfExpectation
          (FABL.independentProductPMF p)
          fun ω =>
          FABL.productMultilinearRandomVariable
              a X ω ^
            2) =
        ((FABL.pmfExpectation (p 0) fun z =>
              X 0 z ^ 2) *
            FABL.pmfExpectation
              (FABL.independentProductPMF
                fun i => p i.succ)
              fun ω =>
              FABL.productMultilinearRandomVariable
                  (FABL.multilinearOddCoefficients
                    a)
                  (fun i => X i.succ) ω ^
                2) +
          FABL.pmfExpectation
            (FABL.independentProductPMF
              fun i => p i.succ)
            fun ω =>
            FABL.productMultilinearRandomVariable
                (FABL.multilinearEvenCoefficients
                  a)
                (fun i => X i.succ) ω ^
              2
    Equation (9.2) for a general centered first coordinate and arbitrary independent finite
    tail. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.productMultilinearRandomVariable_fourthMoment_cons.{u_1} {n : }
      {Ω : Fin (n + 1)  Type u_1} [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i)) (X : (i : Fin (n + 1))  Ω i  )
      (a : Finset (Fin (n + 1))  )
      (hmean : FABL.pmfExpectation (p 0) (X 0) = 0)
      (hthird : (FABL.pmfExpectation (p 0) fun z => X 0 z ^ 3) = 0) :
      (FABL.pmfExpectation (FABL.independentProductPMF p) fun ω =>
          FABL.productMultilinearRandomVariable a X ω ^ 4) =
        (((FABL.pmfExpectation (p 0) fun z => X 0 z ^ 4) *
              FABL.pmfExpectation
                (FABL.independentProductPMF fun i => p i.succ) fun ω =>
                FABL.productMultilinearRandomVariable
                    (FABL.multilinearOddCoefficients a) (fun i => X i.succ)
                    ω ^
                  4) +
            (6 * FABL.pmfExpectation (p 0) fun z => X 0 z ^ 2) *
              FABL.pmfExpectation
                (FABL.independentProductPMF fun i => p i.succ) fun ω =>
                FABL.productMultilinearRandomVariable
                      (FABL.multilinearOddCoefficients a)
                      (fun i => X i.succ) ω ^
                    2 *
                  FABL.productMultilinearRandomVariable
                      (FABL.multilinearEvenCoefficients a)
                      (fun i => X i.succ) ω ^
                    2) +
          FABL.pmfExpectation (FABL.independentProductPMF fun i => p i.succ)
            fun ω =>
            FABL.productMultilinearRandomVariable
                (FABL.multilinearEvenCoefficients a) (fun i => X i.succ) ω ^
              4
    theorem FABL.productMultilinearRandomVariable_fourthMoment_cons.{u_1}
      {n : } {Ω : Fin (n + 1)  Type u_1}
      [(i : Fin (n + 1))  Fintype (Ω i)]
      (p : (i : Fin (n + 1))  PMF (Ω i))
      (X : (i : Fin (n + 1))  Ω i  )
      (a : Finset (Fin (n + 1))  )
      (hmean :
        FABL.pmfExpectation (p 0) (X 0) = 0)
      (hthird :
        (FABL.pmfExpectation (p 0) fun z =>
            X 0 z ^ 3) =
          0) :
      (FABL.pmfExpectation
          (FABL.independentProductPMF p)
          fun ω =>
          FABL.productMultilinearRandomVariable
              a X ω ^
            4) =
        (((FABL.pmfExpectation (p 0) fun z =>
                X 0 z ^ 4) *
              FABL.pmfExpectation
                (FABL.independentProductPMF
                  fun i => p i.succ)
                fun ω =>
                FABL.productMultilinearRandomVariable
                    (FABL.multilinearOddCoefficients
                      a)
                    (fun i => X i.succ) ω ^
                  4) +
            (6 *
                FABL.pmfExpectation (p 0)
                  fun z => X 0 z ^ 2) *
              FABL.pmfExpectation
                (FABL.independentProductPMF
                  fun i => p i.succ)
                fun ω =>
                FABL.productMultilinearRandomVariable
                      (FABL.multilinearOddCoefficients
                        a)
                      (fun i => X i.succ) ω ^
                    2 *
                  FABL.productMultilinearRandomVariable
                      (FABL.multilinearEvenCoefficients
                        a)
                      (fun i => X i.succ) ω ^
                    2) +
          FABL.pmfExpectation
            (FABL.independentProductPMF
              fun i => p i.succ)
            fun ω =>
            FABL.productMultilinearRandomVariable
                (FABL.multilinearEvenCoefficients
                  a)
                (fun i => X i.succ) ω ^
              4
    Equation (9.1) for a general first coordinate whose first and third moments vanish. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.pmfExpectation_sq_mul_sq_sq_le.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p : PMF Ω) (d e : Ω  ) :
      (FABL.pmfExpectation p fun x => d x ^ 2 * e x ^ 2) ^ 2 
        (FABL.pmfExpectation p fun x => d x ^ 4) *
          FABL.pmfExpectation p fun x => e x ^ 4
    theorem FABL.pmfExpectation_sq_mul_sq_sq_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (d e : Ω  ) :
      (FABL.pmfExpectation p fun x =>
            d x ^ 2 * e x ^ 2) ^
          2 
        (FABL.pmfExpectation p fun x =>
            d x ^ 4) *
          FABL.pmfExpectation p fun x =>
            e x ^ 4
    Cauchy--Schwarz in the exact fourth-moment form needed by Bonami's induction. 
  • theoremdefined in FABL/Chapter09/ReasonableProductPolynomials.lean
    complete
    theorem FABL.reasonableProductPolynomial_fourthMoment.{u_1} {n : }
      {Ω : Fin n  Type u_1} [(i : Fin n)  Fintype (Ω i)]
      (p : (i : Fin n)  PMF (Ω i)) (X : (i : Fin n)  Ω i  ) (B : )
      (a : Finset (Fin n)  ) (k : )
      (hmean :  (i : Fin n), FABL.pmfExpectation (p i) (X i) = 0)
      (hthird :
         (i : Fin n), (FABL.pmfExpectation (p i) fun z => X i z ^ 3) = 0)
      (hreasonable :  (i : Fin n), FABL.IsReasonable (p i) B (X i))
      (hdegree : FABL.MultilinearDegreeAtMost a k) :
      (FABL.pmfExpectation (FABL.independentProductPMF p) fun ω =>
          FABL.productMultilinearRandomVariable a X ω ^ 4) 
        max B 9 ^ k *
          (FABL.pmfExpectation (FABL.independentProductPMF p) fun ω =>
              FABL.productMultilinearRandomVariable a X ω ^ 2) ^
            2
    theorem FABL.reasonableProductPolynomial_fourthMoment.{u_1}
      {n : } {Ω : Fin n  Type u_1}
      [(i : Fin n)  Fintype (Ω i)]
      (p : (i : Fin n)  PMF (Ω i))
      (X : (i : Fin n)  Ω i  ) (B : )
      (a : Finset (Fin n)  ) (k : )
      (hmean :
         (i : Fin n),
          FABL.pmfExpectation (p i) (X i) = 0)
      (hthird :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              X i z ^ 3) =
            0)
      (hreasonable :
         (i : Fin n),
          FABL.IsReasonable (p i) B (X i))
      (hdegree :
        FABL.MultilinearDegreeAtMost a k) :
      (FABL.pmfExpectation
          (FABL.independentProductPMF p)
          fun ω =>
          FABL.productMultilinearRandomVariable
              a X ω ^
            4) 
        max B 9 ^ k *
          (FABL.pmfExpectation
              (FABL.independentProductPMF p)
              fun ω =>
              FABL.productMultilinearRandomVariable
                  a X ω ^
                2) ^
            2
    Exercise 9.4 / Corollary 9.6 in fourth-moment form for independent finite random
    variables with possibly different sample types and laws. 
Lemma9.7.5
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1
Used by 2
Reverse dependency previews
Preview
Theorem 9.1.14
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Exercise 9.5. If 0\le\delta\le1/1600, |f|=1, and |\ell^2-1|>39\sqrt\delta, prove |f-\ell|^2\ge169\delta.

Lean code for Lemma9.7.51 theorem
  • theoremdefined in FABL/Chapter02/FKN.lean
    complete
    theorem FABL.exercise9_5 (s t δ : ) (hs : s ^ 2 = 1) (hδ₀ : 0  δ)
      ( : δ  1 / 1600) (hfar : 1521 * δ < (t ^ 2 - 1) ^ 2) :
      169 * δ  (s - t) ^ 2
    theorem FABL.exercise9_5 (s t δ : )
      (hs : s ^ 2 = 1) (hδ₀ : 0  δ)
      ( : δ  1 / 1600)
      (hfar : 1521 * δ < (t ^ 2 - 1) ^ 2) :
      169 * δ  (s - t) ^ 2
    O'Donnell, Exercise 9.5 with the constants used in the FKN proof. 
Lemma9.7.6
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.1.13
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

In the Section 9.1 proof of FKN, if \operatorname{Var}[\ell^2]>6400\delta, then \frac1{144} \le\Pr[|\ell^2-(1-\delta)|>40\sqrt\delta] \le\Pr[|\ell^2-1|>39\sqrt\delta]. \tag{9.3}

Lean code for Lemma9.7.61 theorem
  • theoremdefined in FABL/Chapter02/FKN.lean
    complete
    theorem FABL.one_div_144_le_uniformProbability_four_mul_sq_ge_secondMoment.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (g : Ω  )
      (hsecond : 0 < Finset.univ.expect fun x => g x ^ 2)
      (hfourth :
        (Finset.univ.expect fun x => g x ^ 4) 
          81 * (Finset.univ.expect fun x => g x ^ 2) ^ 2) :
      1 / 144 
        FABL.uniformProbability fun x =>
          (Finset.univ.expect fun y => g y ^ 2)  4 * g x ^ 2
    theorem FABL.one_div_144_le_uniformProbability_four_mul_sq_ge_secondMoment.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (g : Ω  )
      (hsecond :
        0 <
          Finset.univ.expect fun x => g x ^ 2)
      (hfourth :
        (Finset.univ.expect fun x =>
            g x ^ 4) 
          81 *
            (Finset.univ.expect fun x =>
                g x ^ 2) ^
              2) :
      1 / 144 
        FABL.uniformProbability fun x =>
          (Finset.univ.expect fun y =>
              g y ^ 2) 
            4 * g x ^ 2
    The finite Paley--Zygmund estimate used by FKN. A fourth-moment constant of `81` gives
    probability at least `1/144` of reaching one half of the root second moment. 
Lemma9.7.7
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.1.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.6. Reconstruct (2,4) hypercontractivity from Bonami. First prove, for \delta>0, \|T_{(1-\delta)/\sqrt3}f\|_4 \le\sum_{k\ge0}(1-\delta)^k\|f^{=k}\|_2 \le\delta^{-1}\|f\|_2. For tensor powers g^{\oplus d}, prove \|T_\rho(g^{\oplus d})\|_p=\|T_\rho g\|_p^d. Let d\to\infty to remove \delta^{-1}, then let \delta\to0^+ to obtain the sharp (2,4) theorem.

Lean code for Lemma9.7.77 declarations
  • defdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    def FABL.pmfTensorPower.{u_1} {Ω : Type u_1} (d : ) (g : Ω  )
      (x : Fin d  Ω) : 
    def FABL.pmfTensorPower.{u_1} {Ω : Type u_1}
      (d : ) (g : Ω  ) (x : Fin d  Ω) : 
    The tensor power used in Exercise 9.6(b), represented on its canonical product domain. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_tensorPower_moment.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p : PMF Ω) (d m : ) (g : Ω  ) :
      (FABL.pmfExpectation (FABL.independentProductPMF fun x => p) fun x =>
          FABL.pmfTensorPower d g x ^ m) =
        (FABL.pmfExpectation p fun x => g x ^ m) ^ d
    theorem FABL.exercise9_6_tensorPower_moment.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : PMF Ω)
      (d m : ) (g : Ω  ) :
      (FABL.pmfExpectation
          (FABL.independentProductPMF fun x =>
            p)
          fun x =>
          FABL.pmfTensorPower d g x ^ m) =
        (FABL.pmfExpectation p fun x =>
            g x ^ m) ^
          d
    Exercise 9.6(b), moment form: moments of a tensor power factor exactly under an independent
    product law.  Taking the relevant roots gives the book's `Lᵖ` multiplicativity; `m = 2,4`
    are the two cases used by the power trick. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_scaledNoise_decomposition {n : } (δ : )
      (f : FABL.SignCube n  ) (x : FABL.SignCube n) :
      (FABL.noiseOperator ((1 - δ) * FABL.twoFourNoiseRoot)) f x =
         k  Finset.range (n + 1),
          (1 - δ) ^ k *
            (FABL.noiseOperator FABL.twoFourNoiseRoot) (FABL.degreePart k f)
              x
    theorem FABL.exercise9_6_scaledNoise_decomposition
      {n : } (δ : )
      (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      (FABL.noiseOperator
            ((1 - δ) * FABL.twoFourNoiseRoot))
          f x =
         k  Finset.range (n + 1),
          (1 - δ) ^ k *
            (FABL.noiseOperator
                FABL.twoFourNoiseRoot)
              (FABL.degreePart k f) x
    Exercise 9.6(a), algebraic decomposition: scaling the one-third noise parameter inserts
    the geometric factor `(1-δ)ᵏ` on the `k`-th homogeneous component. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_scaledNoise_norm_le_sum {n : } (δ : )
      ( : δ  Set.Ioc 0 1) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator ((1 - δ) * FABL.twoFourNoiseRoot)) f) 
         k  Finset.range (n + 1),
          (1 - δ) ^ k * FABL.uniformLpNorm 2 (FABL.degreePart k f)
    theorem FABL.exercise9_6_scaledNoise_norm_le_sum
      {n : } (δ : ) ( : δ  Set.Ioc 0 1)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator
              ((1 - δ) *
                FABL.twoFourNoiseRoot))
            f) 
         k  Finset.range (n + 1),
          (1 - δ) ^ k *
            FABL.uniformLpNorm 2
              (FABL.degreePart k f)
    Exercise 9.6(a), first inequality: Bonami on each homogeneous component followed by
    Minkowski's inequality. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_sum_le_inv_mul_norm {n : } (δ : )
      ( : δ  Set.Ioc 0 1) (f : FABL.SignCube n  ) :
       k  Finset.range (n + 1),
          (1 - δ) ^ k * FABL.uniformLpNorm 2 (FABL.degreePart k f) 
        δ⁻¹ * FABL.uniformLpNorm 2 f
    theorem FABL.exercise9_6_sum_le_inv_mul_norm
      {n : } (δ : ) ( : δ  Set.Ioc 0 1)
      (f : FABL.SignCube n  ) :
       k  Finset.range (n + 1),
          (1 - δ) ^ k *
            FABL.uniformLpNorm 2
              (FABL.degreePart k f) 
        δ⁻¹ * FABL.uniformLpNorm 2 f
    Exercise 9.6(a), second inequality. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_scaledNoise_norm_le_inv {n : } (δ : )
      ( : δ  Set.Ioc 0 1) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator ((1 - δ) * FABL.twoFourNoiseRoot)) f) 
        δ⁻¹ * FABL.uniformLpNorm 2 f
    theorem FABL.exercise9_6_scaledNoise_norm_le_inv
      {n : } (δ : ) ( : δ  Set.Ioc 0 1)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator
              ((1 - δ) *
                FABL.twoFourNoiseRoot))
            f) 
        δ⁻¹ * FABL.uniformLpNorm 2 f
    Exercise 9.6(a), combined sharp geometric-sum form. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_6_twoFour_conclusion {n : } (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4 ((FABL.noiseOperator FABL.twoFourNoiseRoot) f) 
        FABL.uniformLpNorm 2 f
    theorem FABL.exercise9_6_twoFour_conclusion
      {n : } (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator
              FABL.twoFourNoiseRoot)
            f) 
        FABL.uniformLpNorm 2 f
    Exercise 9.6(d): the Bonami route and the direct induction close at the same sharp
    `(2,4)` statement.  The production theorem is `twoFourHypercontractivity`; this alias is the
    book-facing exercise conclusion. 
Lemma9.7.8
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.7. To prove an inequality \|T_\rho f\|_q\le\|f\|_p, it is enough to prove it for nonnegative functions f.

Lean code for Lemma9.7.86 theorems
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.noiseOperator_nonneg {n : } (ρ : ) ( : ρ  Set.Icc (-1) 1)
      (f : FABL.SignCube n  ) (hf :  (x : FABL.SignCube n), 0  f x)
      (x : FABL.SignCube n) : 0  (FABL.noiseOperator ρ) f x
    theorem FABL.noiseOperator_nonneg {n : } (ρ : )
      ( : ρ  Set.Icc (-1) 1)
      (f : FABL.SignCube n  )
      (hf :  (x : FABL.SignCube n), 0  f x)
      (x : FABL.SignCube n) :
      0  (FABL.noiseOperator ρ) f x
    Exercise 9.7's pointwise input: a noise operator applied to a nonnegative function remains
    nonnegative. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.abs_noiseOperator_le_noiseOperator_abs {n : } (ρ : )
      ( : ρ  Set.Icc (-1) 1) (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      |(FABL.noiseOperator ρ) f x| 
        (FABL.noiseOperator ρ) (fun y => |f y|) x
    theorem FABL.abs_noiseOperator_le_noiseOperator_abs
      {n : } (ρ : )
      ( : ρ  Set.Icc (-1) 1)
      (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      |(FABL.noiseOperator ρ) f x| 
        (FABL.noiseOperator ρ)
          (fun y => |f y|) x
    Exercise 2.34, used in Exercise 9.7: taking absolute values before applying noise can only
    increase the result. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.uniformLpNorm_four_mono_abs.{u_1} {Ω : Type u_1} [Fintype Ω]
      (f g : Ω  ) (hfg :  (x : Ω), |f x|  g x) :
      FABL.uniformLpNorm 4 f  FABL.uniformLpNorm 4 g
    theorem FABL.uniformLpNorm_four_mono_abs.{u_1}
      {Ω : Type u_1} [Fintype Ω] (f g : Ω  )
      (hfg :  (x : Ω), |f x|  g x) :
      FABL.uniformLpNorm 4 f 
        FABL.uniformLpNorm 4 g
    Monotonicity of the normalized `L⁴` quantity under pointwise absolute-value domination. 
  • theoremdefined in FABL/Chapter09/SmallSetExpansion.lean
    complete
    theorem FABL.exercise9_7_twoFour_nonnegative_reduction {n : }
      (h_nonnegative :
         (f : FABL.SignCube n  ),
          (∀ (x : FABL.SignCube n), 0  f x) 
            FABL.uniformLpNorm 4
                ((FABL.noiseOperator FABL.twoFourNoiseRoot) f) 
              FABL.uniformLpNorm 2 f)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4 ((FABL.noiseOperator FABL.twoFourNoiseRoot) f) 
        FABL.uniformLpNorm 2 f
    theorem FABL.exercise9_7_twoFour_nonnegative_reduction
      {n : }
      (h_nonnegative :
         (f : FABL.SignCube n  ),
          (∀ (x : FABL.SignCube n), 0  f x) 
            FABL.uniformLpNorm 4
                ((FABL.noiseOperator
                    FABL.twoFourNoiseRoot)
                  f) 
              FABL.uniformLpNorm 2 f)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4
          ((FABL.noiseOperator
              FABL.twoFourNoiseRoot)
            f) 
        FABL.uniformLpNorm 2 f
    Exercise 9.7 for the `(2,4)` special case: proving the theorem for nonnegative functions
    suffices for all real-valued functions. 
  • theoremdefined in FABL/Chapter09/NonnegativeReduction.lean
    complete
    theorem FABL.uniformLpNorm_abs.{u_1} {Ω : Type u_1} [Fintype Ω] (p : )
      (f : Ω  ) :
      (FABL.uniformLpNorm p fun x => |f x|) = FABL.uniformLpNorm p f
    theorem FABL.uniformLpNorm_abs.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p : )
      (f : Ω  ) :
      (FABL.uniformLpNorm p fun x => |f x|) =
        FABL.uniformLpNorm p f
    Taking pointwise absolute values does not change a positive finite uniform `L^p` norm. 
  • theoremdefined in FABL/Chapter09/NonnegativeReduction.lean
    complete
    theorem FABL.exercise9_7_nonnegative_reduction {n : } (p q rho : )
      (_hp : 0 < p) (hq : 0 < q) (hrho : rho  Set.Icc (-1) 1)
      (h_nonnegative :
         (g : FABL.SignCube n  ),
          (∀ (x : FABL.SignCube n), 0  g x) 
            FABL.uniformLpNorm q ((FABL.noiseOperator rho) g) 
              FABL.uniformLpNorm p g)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q ((FABL.noiseOperator rho) f) 
        FABL.uniformLpNorm p f
    theorem FABL.exercise9_7_nonnegative_reduction
      {n : } (p q rho : ) (_hp : 0 < p)
      (hq : 0 < q)
      (hrho : rho  Set.Icc (-1) 1)
      (h_nonnegative :
         (g : FABL.SignCube n  ),
          (∀ (x : FABL.SignCube n), 0  g x) 
            FABL.uniformLpNorm q
                ((FABL.noiseOperator rho) g) 
              FABL.uniformLpNorm p g)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator rho) f) 
        FABL.uniformLpNorm p f
    Exercise 9.7 for arbitrary positive finite exponents: it is enough to prove a noise-operator
    norm inequality on nonnegative functions. 
Lemma9.7.9
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.1.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.8. For every 1<q<\infty, prove that degree truncation is a bounded operator. If q\ge2, prove \|f^{\le k}\|_q\le(\sqrt{q-1})^k\|f\|_q; if 1<q\le2, prove \|f^{\le k}\|_q\le(1/\sqrt{q-1})^k\|f\|_q.

Lean code for Lemma9.7.98 declarations
  • defdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    def FABL.degreeTruncation {n : } (k : ) (f : FABL.SignCube n  ) :
      FABL.SignCube n  
    def FABL.degreeTruncation {n : } (k : )
      (f : FABL.SignCube n  ) :
      FABL.SignCube n  
    Fourier projection through degree `k`. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.fourierCoeff_degreeTruncation {n : } (k : )
      (f : FABL.SignCube n  ) (T : Finset (Fin n)) :
      FABL.fourierCoeff (FABL.degreeTruncation k f) T =
        if T.card  k then FABL.fourierCoeff f T else 0
    theorem FABL.fourierCoeff_degreeTruncation {n : }
      (k : ) (f : FABL.SignCube n  )
      (T : Finset (Fin n)) :
      FABL.fourierCoeff
          (FABL.degreeTruncation k f) T =
        if T.card  k then
          FABL.fourierCoeff f T
        else 0
    Degree truncation retains exactly the coefficients through level `k`. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.fourierDegree_degreeTruncation_le {n : } (k : )
      (f : FABL.SignCube n  ) :
      FABL.fourierDegree (FABL.degreeTruncation k f)  k
    theorem FABL.fourierDegree_degreeTruncation_le
      {n : } (k : )
      (f : FABL.SignCube n  ) :
      FABL.fourierDegree
          (FABL.degreeTruncation k f) 
        k
    The Fourier degree of a truncation is at most its cutoff. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.degreeTruncation_selfAdjoint {n : } (k : )
      (f g : FABL.SignCube n  ) :
      FABL.uniformInner (FABL.degreeTruncation k f) g =
        FABL.uniformInner f (FABL.degreeTruncation k g)
    theorem FABL.degreeTruncation_selfAdjoint {n : }
      (k : ) (f g : FABL.SignCube n  ) :
      FABL.uniformInner
          (FABL.degreeTruncation k f) g =
        FABL.uniformInner f
          (FABL.degreeTruncation k g)
    Degree truncation is self-adjoint under the uniform inner product. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.uniformLpNorm_two_degreeTruncation_le {n : } (k : )
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 2 (FABL.degreeTruncation k f) 
        FABL.uniformLpNorm 2 f
    theorem FABL.uniformLpNorm_two_degreeTruncation_le
      {n : } (k : )
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 2
          (FABL.degreeTruncation k f) 
        FABL.uniformLpNorm 2 f
    Orthogonal degree truncation contracts `L²`. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.degreeTruncation_norm_le_of_two_le {n : } (k : )
      (f : FABL.SignCube n  ) (q : ) (hq : 2  q) :
      FABL.uniformLpNorm q (FABL.degreeTruncation k f) 
        (q - 1) ^ k * FABL.uniformLpNorm q f
    theorem FABL.degreeTruncation_norm_le_of_two_le
      {n : } (k : )
      (f : FABL.SignCube n  ) (q : )
      (hq : 2  q) :
      FABL.uniformLpNorm q
          (FABL.degreeTruncation k f) 
        (q - 1) ^ k * FABL.uniformLpNorm q f
    Exercise 9.8(a): degree truncation on `L^q`, `q ≥ 2`. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.degreeTruncation_norm_le_two_of_two_le {n : } (k : )
      (f : FABL.SignCube n  ) (q : ) (hq : 2  q) :
      FABL.uniformLpNorm q (FABL.degreeTruncation k f) 
        (q - 1) ^ k * FABL.uniformLpNorm 2 f
    theorem FABL.degreeTruncation_norm_le_two_of_two_le
      {n : } (k : )
      (f : FABL.SignCube n  ) (q : )
      (hq : 2  q) :
      FABL.uniformLpNorm q
          (FABL.degreeTruncation k f) 
        (q - 1) ^ k * FABL.uniformLpNorm 2 f
    The stronger `L²`-to-`L^q` form of Exercise 9.8(a). 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.degreeTruncation_norm_le_of_one_lt_le_two {n : } (k : )
      (f : FABL.SignCube n  ) (q : ) (hq1 : 1 < q) (hq2 : q  2) :
      FABL.uniformLpNorm q (FABL.degreeTruncation k f) 
        (1 / (q - 1)) ^ k * FABL.uniformLpNorm q f
    theorem FABL.degreeTruncation_norm_le_of_one_lt_le_two
      {n : } (k : )
      (f : FABL.SignCube n  ) (q : )
      (hq1 : 1 < q) (hq2 : q  2) :
      FABL.uniformLpNorm q
          (FABL.degreeTruncation k f) 
        (1 / (q - 1)) ^ k *
          FABL.uniformLpNorm q f
    Exercise 9.8(b): degree truncation on `L^q`, `1 < q ≤ 2`. 
Lemma9.7.10
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.9. If X is (p,q,\rho)-hypercontractive, prove that cX is also (p,q,\rho)-hypercontractive for every c\in\mathbb R, and prove the necessary bound \rho\le\frac{\|X\|_p}{\|X\|_q}.

Lean code for Lemma9.7.103 theorems
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.const_mul.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {p q : ENNReal} {ρ c : } {X : Ω  }
      (hX : FABL.IsHypercontractiveRandomVariable p q ρ X) :
      FABL.IsHypercontractiveRandomVariable p q ρ fun x => c * X x
    theorem FABL.IsHypercontractiveRandomVariable.const_mul.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {p q : ENNReal} {ρ c : } {X : Ω  }
      (hX :
        FABL.IsHypercontractiveRandomVariable
          p q ρ X) :
      FABL.IsHypercontractiveRandomVariable p
        q ρ fun x => c * X x
    Exercise 9.9(a): multiplying a hypercontractive random variable by a scalar preserves the
    property. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.rho_mul_norm_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {p q : ENNReal} (hq : q  0)
      {ρ : } ( : 0  ρ) {X : Ω  }
      (hX : FABL.IsHypercontractiveRandomVariable p q ρ X) :
      ρ * FABL.uniformLpNormENNReal q X  FABL.uniformLpNormENNReal p X
    theorem FABL.IsHypercontractiveRandomVariable.rho_mul_norm_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {p q : ENNReal} (hq : q  0) {ρ : }
      ( : 0  ρ) {X : Ω  }
      (hX :
        FABL.IsHypercontractiveRandomVariable
          p q ρ X) :
      ρ * FABL.uniformLpNormENNReal q X 
        FABL.uniformLpNormENNReal p X
    Exercise 9.9(b), before division: hypercontractivity forces
    `ρ ‖X‖_q ≤ ‖X‖_p`. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.rho_le_norm_ratio.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {p q : ENNReal} (hq : q  0)
      {ρ : } ( : 0  ρ) {X : Ω  }
      (hX : FABL.IsHypercontractiveRandomVariable p q ρ X)
      (hXq : 0 < FABL.uniformLpNormENNReal q X) :
      ρ  FABL.uniformLpNormENNReal p X / FABL.uniformLpNormENNReal q X
    theorem FABL.IsHypercontractiveRandomVariable.rho_le_norm_ratio.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {p q : ENNReal} (hq : q  0) {ρ : }
      ( : 0  ρ) {X : Ω  }
      (hX :
        FABL.IsHypercontractiveRandomVariable
          p q ρ X)
      (hXq :
        0 < FABL.uniformLpNormENNReal q X) :
      ρ 
        FABL.uniformLpNormENNReal p X /
          FABL.uniformLpNormENNReal q X
    Exercise 9.9(b), ratio form for a nonzero `L^q` norm. 
Lemma9.7.11
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 9.10 (corrected). If X is (p,q,\rho)-hypercontractive with \rho>0, then \mathbb E[X]=0. If moreover X\not\equiv0, then \rho\le\sqrt{\frac{p-1}{q-1}}. The nonzero hypothesis is necessary for the second assertion: the identically zero random variable is (1,2,1/2)-hypercontractive but violates the printed bound.

Lean code for Lemma9.7.1110 declarations
  • defdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    def FABL.affineMoment.{u_1} {Ω : Type u_1} [Fintype Ω] (r c : ) (X : Ω  )
      (t : ) : 
    def FABL.affineMoment.{u_1} {Ω : Type u_1}
      [Fintype Ω] (r c : ) (X : Ω  )
      (t : ) : 
    The real `r`-moment of the affine perturbation `1 + c t X`. 
  • defdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    def FABL.affineMomentDeriv.{u_1} {Ω : Type u_1} [Fintype Ω] (r c : )
      (X : Ω  ) (t : ) : 
    def FABL.affineMomentDeriv.{u_1}
      {Ω : Type u_1} [Fintype Ω] (r c : )
      (X : Ω  ) (t : ) : 
    The pointwise first-derivative expression for `affineMoment`. 
  • defdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    def FABL.affineMomentDeriv2.{u_1} {Ω : Type u_1} [Fintype Ω] (r c : )
      (X : Ω  ) (t : ) : 
    def FABL.affineMomentDeriv2.{u_1}
      {Ω : Type u_1} [Fintype Ω] (r c : )
      (X : Ω  ) (t : ) : 
    The pointwise second-derivative expression for `affineMoment`. 
  • defdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    def FABL.hypercontractiveMomentGap.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p q rho : ) (X : Ω  ) (t : ) : 
    def FABL.hypercontractiveMomentGap.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p q rho : )
      (X : Ω  ) (t : ) : 
    The cross-powered moment gap whose nonnegativity is equivalent locally to the defining
    hypercontractive norm comparison. 
  • defdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    def FABL.hypercontractiveMomentGapDeriv.{u_1} {Ω : Type u_1} [Fintype Ω]
      (p q rho : ) (X : Ω  ) (t : ) : 
    def FABL.hypercontractiveMomentGapDeriv.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p q rho : )
      (X : Ω  ) (t : ) : 
    The first-derivative expression for `hypercontractiveMomentGap`. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.mean_eq_zero.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (p q : NNReal) (hp : 0 < p) (hq : 0 < q)
      {rho : } (hrho : rho < 1) (X : Ω  )
      (hX : FABL.IsHypercontractiveRandomVariable (↑p) (↑q) rho X) :
      (Finset.univ.expect fun x => X x) = 0
    theorem FABL.IsHypercontractiveRandomVariable.mean_eq_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (p q : NNReal) (hp : 0 < p)
      (hq : 0 < q) {rho : } (hrho : rho < 1)
      (X : Ω  )
      (hX :
        FABL.IsHypercontractiveRandomVariable
          (↑p) (↑q) rho X) :
      (Finset.univ.expect fun x => X x) = 0
    Exercise 9.10(a), finite-uniform form: positive-exponent hypercontractivity with `rho < 1`
    forces the random variable to have mean zero. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.rho_sq_bound.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (p q : NNReal) (hp : 0 < p) (hq : 0 < q)
      {rho : } (hrho : rho < 1) (X : Ω  )
      (hX : FABL.IsHypercontractiveRandomVariable (↑p) (↑q) rho X)
      (hX2 : 0 < Finset.univ.expect fun x => X x ^ 2) :
      (q - 1) * rho ^ 2  p - 1
    theorem FABL.IsHypercontractiveRandomVariable.rho_sq_bound.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (p q : NNReal) (hp : 0 < p)
      (hq : 0 < q) {rho : } (hrho : rho < 1)
      (X : Ω  )
      (hX :
        FABL.IsHypercontractiveRandomVariable
          (↑p) (↑q) rho X)
      (hX2 :
        0 <
          Finset.univ.expect fun x =>
            X x ^ 2) :
      (q - 1) * rho ^ 2  p - 1
    Exercise 9.10(b), corrected finite-uniform squared form for a nonzero random variable. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.rho_le_sqrt_ratio.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (p q : NNReal) (hp1 : 1  p)
      (hq1 : 1 < q) {rho : } (hrho1 : rho < 1) (X : Ω  )
      (hX : FABL.IsHypercontractiveRandomVariable (↑p) (↑q) rho X)
      (hX2 : 0 < Finset.univ.expect fun x => X x ^ 2) :
      rho  ((p - 1) / (q - 1))
    theorem FABL.IsHypercontractiveRandomVariable.rho_le_sqrt_ratio.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (p q : NNReal) (hp1 : 1  p)
      (hq1 : 1 < q) {rho : }
      (hrho1 : rho < 1) (X : Ω  )
      (hX :
        FABL.IsHypercontractiveRandomVariable
          (↑p) (↑q) rho X)
      (hX2 :
        0 <
          Finset.univ.expect fun x =>
            X x ^ 2) :
      rho  ((p - 1) / (q - 1))
    Exercise 9.10(b), corrected finite-uniform ratio form for a nonzero random variable. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.zeroVariable_one_two_half_hypercontractive :
      FABL.IsHypercontractiveRandomVariable 1 2 (1 / 2) fun x => 0
    theorem FABL.zeroVariable_one_two_half_hypercontractive :
      FABL.IsHypercontractiveRandomVariable 1
        2 (1 / 2) fun x => 0
    The zero random variable is `(1,2,1/2)`-hypercontractive, showing that Exercise 9.10(b)
    requires a nonzero hypothesis. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.exercise9_10_nonzero_hypothesis_necessary :
      ¬1 / 2  ((1 - 1) / (2 - 1))
    theorem FABL.exercise9_10_nonzero_hypothesis_necessary :
      ¬1 / 2  ((1 - 1) / (2 - 1))
    The zero-variable example violates the printed bound in Exercise 9.10(b). 
Lemma9.7.12
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 9.11. If \mathbb E[X]=0, prove that X is (q,q,0)-hypercontractive and then (q,q,\rho)-hypercontractive for every 0\le\rho<1. Deduce monotonicity of hypercontractivity under decreasing \rho.

Lean code for Lemma9.7.125 theorems
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.abs_expect_le_uniformLpNorm.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (q : ) (hq : 1  q) (f : Ω  ) :
      |Finset.univ.expect fun x => f x|  FABL.uniformLpNorm q f
    theorem FABL.abs_expect_le_uniformLpNorm.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (q : ) (hq : 1  q) (f : Ω  ) :
      |Finset.univ.expect fun x => f x| 
        FABL.uniformLpNorm q f
    The absolute uniform expectation is bounded by every `L^q` norm with `q ≥ 1`. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.uniformLpNorm_add_le.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (q : ) (hq : 1  q) (f g : Ω  ) :
      (FABL.uniformLpNorm q fun x => f x + g x) 
        FABL.uniformLpNorm q f + FABL.uniformLpNorm q g
    theorem FABL.uniformLpNorm_add_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (q : ) (hq : 1  q) (f g : Ω  ) :
      (FABL.uniformLpNorm q fun x =>
          f x + g x) 
        FABL.uniformLpNorm q f +
          FABL.uniformLpNorm q g
    Minkowski's inequality for normalized finite-uniform `L^q` norms. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.meanZero_qq_hypercontractive_real.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0) (q : ) (hq : 1  q)
      (ρ : ) (hρ0 : 0  ρ) (hρ1 : ρ  1) (a b : ) :
      (FABL.uniformLpNorm q fun x => a + ρ * b * X x) 
        FABL.uniformLpNorm q fun x => a + b * X x
    theorem FABL.meanZero_qq_hypercontractive_real.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (q : ) (hq : 1  q) (ρ : )
      (hρ0 : 0  ρ) (hρ1 : ρ  1) (a b : ) :
      (FABL.uniformLpNorm q fun x =>
          a + ρ * b * X x) 
        FABL.uniformLpNorm q fun x =>
          a + b * X x
    Exercise 9.11(a,b), finite-uniform form: a mean-zero variable is
    `(q,q,ρ)`-hypercontractive for every `q ≥ 1` and `0 ≤ ρ ≤ 1`. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.meanZero_qq_hypercontractive.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0) (q : NNReal)
      (hq : 1  q) (ρ : ) (hρ0 : 0  ρ) (hρ1 : ρ  1) :
      FABL.IsHypercontractiveRandomVariable (↑q) (↑q) ρ X
    theorem FABL.meanZero_qq_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (q : NNReal) (hq : 1  q) (ρ : )
      (hρ0 : 0  ρ) (hρ1 : ρ  1) :
      FABL.IsHypercontractiveRandomVariable
        (↑q) (↑q) ρ X
    Exercise 9.11(a,b) in Definition 9.13's finite-exponent interface. 
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.mono_rho_of_meanZero.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] {p q : NNReal} {X : Ω  }
      {rho rho' : }
      (hX : FABL.IsHypercontractiveRandomVariable (↑p) (↑q) rho X)
      (hmean : (Finset.univ.expect fun x => X x) = 0) (hp : 1  p)
      (hrho : 0 < rho) (hrho'0 : 0  rho') (hrho' : rho'  rho) :
      FABL.IsHypercontractiveRandomVariable (↑p) (↑q) rho' X
    theorem FABL.IsHypercontractiveRandomVariable.mono_rho_of_meanZero.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {p q : NNReal} {X : Ω  }
      {rho rho' : }
      (hX :
        FABL.IsHypercontractiveRandomVariable
          (↑p) (↑q) rho X)
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (hp : 1  p) (hrho : 0 < rho)
      (hrho'0 : 0  rho')
      (hrho' : rho'  rho) :
      FABL.IsHypercontractiveRandomVariable
        (↑p) (↑q) rho' X
    Exercise 9.11(c): for a mean-zero finite variable, hypercontractivity is monotone when the
    correlation is decreased. 
Lemma9.7.13
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 9.1.8
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.12. If nonconstant X is (2,4,\rho)-hypercontractive, prove for every \theta\in\mathbb R and 0<t<1, \Pr[|X-\theta|>t\|X\|_2] \ge(1-t^2)^2\rho^4. After normalizing \|X\|_2=1 and putting Y=(X-\theta)^2, establish \mathbb E[Y]=1+\theta^2, \qquad \mathbb E[Y^2]\le(\rho^{-2}+\theta^2)^2, and the sharper intermediate bound \Pr[|X-\theta|>t] \ge \left( \frac{\rho^2(1-t^2)+\rho^2\theta^2} {1+\rho^2\theta^2} \right)^2.

Lean code for Lemma9.7.138 theorems
  • theoremdefined in FABL/Chapter09/HypercontractiveAnticoncentration.lean
    complete
    theorem FABL.uniformLpNorm_two_sub_const_sq.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0) (theta : ) :
      (FABL.uniformLpNorm 2 fun x => X x - theta) ^ 2 =
        FABL.uniformLpNorm 2 X ^ 2 + theta ^ 2
    theorem FABL.uniformLpNorm_two_sub_const_sq.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (theta : ) :
      (FABL.uniformLpNorm 2 fun x =>
            X x - theta) ^
          2 =
        FABL.uniformLpNorm 2 X ^ 2 + theta ^ 2
    Exact second moment after translating a mean-zero finite-uniform random variable. 
  • theoremdefined in FABL/Chapter09/HypercontractiveAnticoncentration.lean
    complete
    theorem FABL.translated_fourthMoment_le.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0)
      (hnorm : FABL.uniformLpNorm 2 X = 1) (rho : ) (hrho : 0 < rho)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta : ) :
      (Finset.univ.expect fun x => (X x - theta) ^ 4) 
        ((rho ^ 2)⁻¹ + theta ^ 2) ^ 2
    theorem FABL.translated_fourthMoment_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (hnorm : FABL.uniformLpNorm 2 X = 1)
      (rho : ) (hrho : 0 < rho)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta : ) :
      (Finset.univ.expect fun x =>
          (X x - theta) ^ 4) 
        ((rho ^ 2)⁻¹ + theta ^ 2) ^ 2
    A normalized `(2,4,rho)`-hypercontractive variable has the translated fourth-moment bound
    used in Exercise 9.12. 
  • theoremdefined in FABL/Chapter09/HypercontractiveAnticoncentration.lean
    complete
    theorem FABL.translated_anticoncentration_normalized.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0)
      (hnorm : FABL.uniformLpNorm 2 X = 1) (rho : ) (hrho : 0 < rho)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta t : )
      (ht0 : 0 < t) (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) + rho ^ 2 * theta ^ 2) /
            (1 + rho ^ 2 * theta ^ 2)) ^
          2 
        FABL.uniformProbability fun x => t < |X x - theta|
    theorem FABL.translated_anticoncentration_normalized.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (hnorm : FABL.uniformLpNorm 2 X = 1)
      (rho : ) (hrho : 0 < rho)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta t : ) (ht0 : 0 < t)
      (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) +
              rho ^ 2 * theta ^ 2) /
            (1 + rho ^ 2 * theta ^ 2)) ^
          2 
        FABL.uniformProbability fun x =>
          t < |X x - theta|
    The exact Paley--Zygmund lower bound before the final simplification in Exercise 9.12. 
  • theoremdefined in FABL/Chapter09/HypercontractiveAnticoncentration.lean
    complete
    theorem FABL.translated_anticoncentration_exact.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0)
      (hL : 0 < FABL.uniformLpNorm 2 X) (rho : ) (hrho : 0 < rho)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta t : )
      (ht0 : 0 < t) (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) +
              rho ^ 2 * (theta / FABL.uniformLpNorm 2 X) ^ 2) /
            (1 + rho ^ 2 * (theta / FABL.uniformLpNorm 2 X) ^ 2)) ^
          2 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X < |X x - theta|
    theorem FABL.translated_anticoncentration_exact.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (hL : 0 < FABL.uniformLpNorm 2 X)
      (rho : ) (hrho : 0 < rho)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta t : ) (ht0 : 0 < t)
      (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) +
              rho ^ 2 *
                (theta /
                    FABL.uniformLpNorm 2 X) ^
                  2) /
            (1 +
              rho ^ 2 *
                (theta /
                    FABL.uniformLpNorm 2 X) ^
                  2)) ^
          2 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X <
            |X x - theta|
    Exercise 9.12 before its final simplification, without the normalization `‖X‖₂ = 1`. 
  • theoremdefined in FABL/Chapter09/HypercontractiveAnticoncentration.lean
    complete
    theorem FABL.translated_anticoncentration.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (X : Ω  )
      (hmean : (Finset.univ.expect fun x => X x) = 0)
      (hL : 0 < FABL.uniformLpNorm 2 X) (rho : ) (hrho : 0 < rho)
      (hrho1 : rho  1)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta t : )
      (ht0 : 0 < t) (ht1 : t < 1) :
      (1 - t ^ 2) ^ 2 * rho ^ 4 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X < |X x - theta|
    theorem FABL.translated_anticoncentration.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hmean :
        (Finset.univ.expect fun x => X x) = 0)
      (hL : 0 < FABL.uniformLpNorm 2 X)
      (rho : ) (hrho : 0 < rho)
      (hrho1 : rho  1)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta t : ) (ht0 : 0 < t)
      (ht1 : t < 1) :
      (1 - t ^ 2) ^ 2 * rho ^ 4 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X <
            |X x - theta|
    Exercise 9.12's displayed translation anticoncentration bound. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.expect_sq_pos_of_uniformLpNorm_two_pos.{u_1} {Ω : Type u_1}
      [Fintype Ω] (X : Ω  ) (hX : 0 < FABL.uniformLpNorm 2 X) :
      0 < Finset.univ.expect fun x => X x ^ 2
    theorem FABL.expect_sq_pos_of_uniformLpNorm_two_pos.{u_1}
      {Ω : Type u_1} [Fintype Ω] (X : Ω  )
      (hX : 0 < FABL.uniformLpNorm 2 X) :
      0 < Finset.univ.expect fun x => X x ^ 2
    Positivity of the uniform `L²` norm is equivalent to positivity of the second moment in the
    direction needed by Exercise 9.12. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.translated_anticoncentration_exact_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (X : Ω  )
      (hL : 0 < FABL.uniformLpNorm 2 X) (rho : ) (hrho : 0 < rho)
      (hrhoLT : rho < 1)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta t : )
      (ht0 : 0 < t) (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) +
              rho ^ 2 * (theta / FABL.uniformLpNorm 2 X) ^ 2) /
            (1 + rho ^ 2 * (theta / FABL.uniformLpNorm 2 X) ^ 2)) ^
          2 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X < |X x - theta|
    theorem FABL.translated_anticoncentration_exact_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hL : 0 < FABL.uniformLpNorm 2 X)
      (rho : ) (hrho : 0 < rho)
      (hrhoLT : rho < 1)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta t : ) (ht0 : 0 < t)
      (ht1 : t < 1) :
      ((rho ^ 2 * (1 - t ^ 2) +
              rho ^ 2 *
                (theta /
                    FABL.uniformLpNorm 2 X) ^
                  2) /
            (1 +
              rho ^ 2 *
                (theta /
                    FABL.uniformLpNorm 2 X) ^
                  2)) ^
          2 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X <
            |X x - theta|
    Exercise 9.12's sharp intermediate bound, with mean zero derived from the stated
    hypercontractivity hypothesis. 
  • theoremdefined in FABL/Chapter09/HypercontractiveNecessity.lean
    complete
    theorem FABL.translated_anticoncentration_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω] (X : Ω  )
      (hL : 0 < FABL.uniformLpNorm 2 X) (rho : ) (hrho : 0 < rho)
      (hrhoLT : rho < 1)
      (hX : FABL.IsHypercontractiveRandomVariable 2 4 rho X) (theta t : )
      (ht0 : 0 < t) (ht1 : t < 1) :
      (1 - t ^ 2) ^ 2 * rho ^ 4 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X < |X x - theta|
    theorem FABL.translated_anticoncentration_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (X : Ω  )
      (hL : 0 < FABL.uniformLpNorm 2 X)
      (rho : ) (hrho : 0 < rho)
      (hrhoLT : rho < 1)
      (hX :
        FABL.IsHypercontractiveRandomVariable
          2 4 rho X)
      (theta t : ) (ht0 : 0 < t)
      (ht1 : t < 1) :
      (1 - t ^ 2) ^ 2 * rho ^ 4 
        FABL.uniformProbability fun x =>
          t * FABL.uniformLpNorm 2 X <
            |X x - theta|
    Exercise 9.12's displayed translation-anticoncentration bound, with no additional mean-zero
    hypothesis. 
Lemma9.7.14
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.13. Let f:\{-1,1\}^n\to[m] be unbiased, so each output has probability 1/m. If (x,y) is \rho-correlated, prove \Pr[f(x)=f(y)] \le(1/m)^{(1-\rho)/(1+\rho)}.

Lean code for Lemma9.7.141 theorem
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.unbiasedLabel_collisionProbability {n : } (m : ) [NeZero m]
      (label : FABL.SignCube n  Fin m) (ρ : ) ( : ρ  Set.Icc 0 1)
      (hunbiased :
         (j : Fin m),
          (FABL.uniformProbability fun x => label x = j) = 1 / m) :
      (FABL.pmfEventProbability (FABL.correlatedPairPMF ρ ) fun xy =>
          label xy.1 = label xy.2) 
        (1 / m) ^ ((1 - ρ) / (1 + ρ))
    theorem FABL.unbiasedLabel_collisionProbability
      {n : } (m : ) [NeZero m]
      (label : FABL.SignCube n  Fin m)
      (ρ : ) ( : ρ  Set.Icc 0 1)
      (hunbiased :
         (j : Fin m),
          (FABL.uniformProbability fun x =>
              label x = j) =
            1 / m) :
      (FABL.pmfEventProbability
          (FABL.correlatedPairPMF ρ )
          fun xy => label xy.1 = label xy.2) 
        (1 / m) ^ ((1 - ρ) / (1 + ρ))
    Exercise 9.13: collision probability of an unbiased finite-valued function. 
Lemma9.7.15
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.14. If \deg(f)\le k and 1\le p<2, prove \|f\|_2\le(1/\sqrt{p-1})^k\|f\|_p. Also prove the strict numerical comparison e^{2/p-1}<1/\sqrt{p-1}.

Lean code for Lemma9.7.154 theorems
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.degreeTruncation_eq_self_of_fourierDegree_le {n : } (k : )
      (f : FABL.SignCube n  ) (hdegree : FABL.fourierDegree f  k) :
      FABL.degreeTruncation k f = f
    theorem FABL.degreeTruncation_eq_self_of_fourierDegree_le
      {n : } (k : )
      (f : FABL.SignCube n  )
      (hdegree : FABL.fourierDegree f  k) :
      FABL.degreeTruncation k f = f
    A function of Fourier degree at most `k` is fixed by degree truncation at `k`. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.lowDegree_uniformLpNorm_two_le_weak {n : } (p : ) (hp1 : 1 < p)
      (hp2 : p < 2) (f : FABL.SignCube n  ) (k : )
      (hdegree : FABL.fourierDegree f  k) :
      FABL.uniformLpNorm 2 f  (1 / (p - 1)) ^ k * FABL.uniformLpNorm p f
    theorem FABL.lowDegree_uniformLpNorm_two_le_weak
      {n : } (p : ) (hp1 : 1 < p)
      (hp2 : p < 2) (f : FABL.SignCube n  )
      (k : )
      (hdegree : FABL.fourierDegree f  k) :
      FABL.uniformLpNorm 2 f 
        (1 / (p - 1)) ^ k *
          FABL.uniformLpNorm p f
    Exercise 9.14's weak low-degree estimate.  The real-valued formulation starts at
    `p > 1`; at `p = 1` the displayed constant is infinite rather than a real number. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.two_mul_one_sub_div_one_add_lt_neg_log (x : ) (hx0 : 0 < x)
      (hx1 : x < 1) : 2 * (1 - x) / (1 + x) < -Real.log x
    theorem FABL.two_mul_one_sub_div_one_add_lt_neg_log
      (x : ) (hx0 : 0 < x) (hx1 : x < 1) :
      2 * (1 - x) / (1 + x) < -Real.log x
    The strict logarithmic estimate behind the comparison in Exercise 9.14. 
  • theoremdefined in FABL/Chapter09/HypercontractivityExercises.lean
    complete
    theorem FABL.exp_two_div_sub_one_lt_inv_sqrt_sub_one (p : ) (hp1 : 1 < p)
      (hp2 : p < 2) : Real.exp (2 / p - 1) < 1 / (p - 1)
    theorem FABL.exp_two_div_sub_one_lt_inv_sqrt_sub_one
      (p : ) (hp1 : 1 < p) (hp2 : p < 2) :
      Real.exp (2 / p - 1) < 1 / (p - 1)
    Exercise 9.14: the sharp exponential constant is strictly better than the weak
    degree-truncation constant for every `1 < p < 2`. 
Lemma9.7.16
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.1.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.15. Complete the proof of the general p form of Theorem 9.22, retaining the factor (e^{2/p-1})^k for every 1\le p\le2.

Lean code for Lemma9.7.165 theorems
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.uniformLpNorm_rpow.{u_1} {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (f : Ω  ) :
      FABL.uniformLpNorm q f ^ q = Finset.univ.expect fun x => |f x| ^ q
    theorem FABL.uniformLpNorm_rpow.{u_1}
      {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (f : Ω  ) :
      FABL.uniformLpNorm q f ^ q =
        Finset.univ.expect fun x => |f x| ^ q
    Raising a positive-exponent uniform norm back to its exponent gives the corresponding
    moment. 
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.uniformLpNorm_abs_rpow.{u_1} {Ω : Type u_1} [Fintype Ω] (p c : )
      (hp : 0 < p) (hc : 0 < c) (f : Ω  ) :
      (FABL.uniformLpNorm (p / c) fun x => |f x| ^ c) =
        FABL.uniformLpNorm p f ^ c
    theorem FABL.uniformLpNorm_abs_rpow.{u_1}
      {Ω : Type u_1} [Fintype Ω] (p c : )
      (hp : 0 < p) (hc : 0 < c) (f : Ω  ) :
      (FABL.uniformLpNorm (p / c) fun x =>
          |f x| ^ c) =
        FABL.uniformLpNorm p f ^ c
    Scaling the power inside an absolute-value function rescales its norm exponent. 
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.uniformLpNorm_two_interpolation_sq.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (p q θ : ) (hp : 0 < p) (hq : 0 < q) (hθ0 : 0 < θ)
      (hθ1 : θ < 1) (hrelation : 1 / 2 = θ / p + (1 - θ) / q) (f : Ω  ) :
      FABL.uniformLpNorm 2 f ^ 2 
        FABL.uniformLpNorm p f ^ (2 * θ) *
          FABL.uniformLpNorm q f ^ (2 * (1 - θ))
    theorem FABL.uniformLpNorm_two_interpolation_sq.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (p q θ : ) (hp : 0 < p) (hq : 0 < q)
      (hθ0 : 0 < θ) (hθ1 : θ < 1)
      (hrelation :
        1 / 2 = θ / p + (1 - θ) / q)
      (f : Ω  ) :
      FABL.uniformLpNorm 2 f ^ 2 
        FABL.uniformLpNorm p f ^ (2 * θ) *
          FABL.uniformLpNorm q f ^
            (2 * (1 - θ))
    Log-convexity of finite uniform norms, specialized to interpolation through `L²`. 
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.lowDegree_two_le_interpolation_constant {n : }
      (f : FABL.SignCube n  ) (k : ) (hdegree : FABL.fourierDegree f  k)
      (p : ) (hp1 : 1  p) (hp2 : p < 2) (ε : ) ( : 0 < ε) :
      FABL.uniformLpNorm 2 f 
        (1 + ε) ^ ((2 / p - 1) * k * (1 / ε + 1 / 2)) *
          FABL.uniformLpNorm p f
    theorem FABL.lowDegree_two_le_interpolation_constant
      {n : } (f : FABL.SignCube n  )
      (k : )
      (hdegree : FABL.fourierDegree f  k)
      (p : ) (hp1 : 1  p) (hp2 : p < 2)
      (ε : ) ( : 0 < ε) :
      FABL.uniformLpNorm 2 f 
        (1 + ε) ^
            ((2 / p - 1) * k *
              (1 / ε + 1 / 2)) *
          FABL.uniformLpNorm p f
    The interpolation estimate in the proof of Theorem 9.22, before sending `ε` to zero. 
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.interpolation_constant_le_exp (c ε : ) (hc : 0  c) ( : 0 < ε) :
      (1 + ε) ^ (c * (1 / ε + 1 / 2))  Real.exp (c * (1 + ε / 2))
    theorem FABL.interpolation_constant_le_exp
      (c ε : ) (hc : 0  c) ( : 0 < ε) :
      (1 + ε) ^ (c * (1 / ε + 1 / 2)) 
        Real.exp (c * (1 + ε / 2))
    The pre-limit interpolation constant is bounded by an elementary exponential expression. 
Lemma9.7.17
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.1.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.16. Give a direct induction on the dimension deriving the full n-bit (2,q) theorem from the one-bit theorem. For the decomposition into the last coordinate, establish the complete iterated L^q-norm chain in the book and conclude \left\|T_{1/\sqrt{q-1}}f\right\|_q\le\|f\|_2.

Lean code for Lemma9.7.1716 declarations
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.expect_snoc {n : } (f : FABL.SignCube (n + 1)  ) :
      (Finset.univ.expect fun z => f z) =
        Finset.univ.expect fun x =>
          Finset.univ.expect fun a => f (Fin.snoc x a)
    theorem FABL.expect_snoc {n : }
      (f : FABL.SignCube (n + 1)  ) :
      (Finset.univ.expect fun z => f z) =
        Finset.univ.expect fun x =>
          Finset.univ.expect fun a =>
            f (Fin.snoc x a)
    Uniform expectation splits into the first `n` signs and the last sign. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.pmfExpectation_independentProductPMF_succ.{u_1} {Ω : Type u_1}
      [Fintype Ω] (n : ) (p : Fin (n + 1)  PMF Ω)
      (f : (Fin (n + 1)  Ω)  ) :
      FABL.pmfExpectation (FABL.independentProductPMF p) f =
        FABL.pmfExpectation (p (Fin.last n)) fun a =>
          FABL.pmfExpectation
            (FABL.independentProductPMF fun i => p i.castSucc) fun x =>
            f (Fin.snoc x a)
    theorem FABL.pmfExpectation_independentProductPMF_succ.{u_1}
      {Ω : Type u_1} [Fintype Ω] (n : )
      (p : Fin (n + 1)  PMF Ω)
      (f : (Fin (n + 1)  Ω)  ) :
      FABL.pmfExpectation
          (FABL.independentProductPMF p) f =
        FABL.pmfExpectation (p (Fin.last n))
          fun a =>
          FABL.pmfExpectation
            (FABL.independentProductPMF
              fun i => p i.castSucc)
            fun x => f (Fin.snoc x a)
    A finite independent-product expectation splits off its last coordinate. 
  • defdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    def FABL.lastEvenPart {n : } (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    def FABL.lastEvenPart {n : }
      (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    The part of a function even in its last coordinate. 
  • defdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    def FABL.lastOddPart {n : } (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    def FABL.lastOddPart {n : }
      (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    The derivative of a function in its last coordinate. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.lastCoordinate_reconstruct {n : } (f : FABL.SignCube (n + 1)  )
      (x : FABL.SignCube n) (a : FABL.Sign) :
      f (Fin.snoc x a) =
        FABL.lastEvenPart f x + FABL.lastOddPart f x * FABL.signValue a
    theorem FABL.lastCoordinate_reconstruct {n : }
      (f : FABL.SignCube (n + 1)  )
      (x : FABL.SignCube n) (a : FABL.Sign) :
      f (Fin.snoc x a) =
        FABL.lastEvenPart f x +
          FABL.lastOddPart f x *
            FABL.signValue a
    Reconstruction from the last-coordinate even part and derivative. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.noiseOperator_snoc {n : } (ρ : ) ( : ρ  Set.Icc (-1) 1)
      (f : FABL.SignCube (n + 1)  ) (x : FABL.SignCube n)
      (a : FABL.Sign) :
      (FABL.noiseOperator ρ) f (Fin.snoc x a) =
        (FABL.noiseOperator ρ) (FABL.lastEvenPart f) x +
          ρ * FABL.signValue a *
            (FABL.noiseOperator ρ) (FABL.lastOddPart f) x
    theorem FABL.noiseOperator_snoc {n : } (ρ : )
      ( : ρ  Set.Icc (-1) 1)
      (f : FABL.SignCube (n + 1)  )
      (x : FABL.SignCube n) (a : FABL.Sign) :
      (FABL.noiseOperator ρ) f
          (Fin.snoc x a) =
        (FABL.noiseOperator ρ)
            (FABL.lastEvenPart f) x +
          ρ * FABL.signValue a *
            (FABL.noiseOperator ρ)
              (FABL.lastOddPart f) x
    Product noise respects the last-coordinate even/derivative decomposition. 
  • defdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    def FABL.lastFiberLpNorm {n : } (q : ) (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    def FABL.lastFiberLpNorm {n : } (q : )
      (f : FABL.SignCube (n + 1)  ) :
      FABL.SignCube n  
    The `L^q` norm of the fiber obtained by fixing the first `n` signs. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_eq_lastFiberLpNorm {n : } (q : ) (hq : 0 < q)
      (f : FABL.SignCube (n + 1)  ) :
      FABL.uniformLpNorm q f =
        FABL.uniformLpNorm q (FABL.lastFiberLpNorm q f)
    theorem FABL.uniformLpNorm_eq_lastFiberLpNorm
      {n : } (q : ) (hq : 0 < q)
      (f : FABL.SignCube (n + 1)  ) :
      FABL.uniformLpNorm q f =
        FABL.uniformLpNorm q
          (FABL.lastFiberLpNorm q f)
    Fubini for equal exponents: the cube `L^q` norm is the `L^q` norm of its
    last-coordinate fiber norms. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_le_of_abs_le.{u_1} {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (f g : Ω  ) (hfg :  (x : Ω), |f x|  |g x|) :
      FABL.uniformLpNorm q f  FABL.uniformLpNorm q g
    theorem FABL.uniformLpNorm_le_of_abs_le.{u_1}
      {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (f g : Ω  )
      (hfg :  (x : Ω), |f x|  |g x|) :
      FABL.uniformLpNorm q f 
        FABL.uniformLpNorm q g
    Pointwise domination of absolute values implies domination of every positive finite
    uniform `L^q` norm. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_two_lastParts_sq {n : }
      (f : FABL.SignCube (n + 1)  ) :
      FABL.uniformLpNorm 2 f ^ 2 =
        FABL.uniformLpNorm 2 (FABL.lastEvenPart f) ^ 2 +
          FABL.uniformLpNorm 2 (FABL.lastOddPart f) ^ 2
    theorem FABL.uniformLpNorm_two_lastParts_sq
      {n : }
      (f : FABL.SignCube (n + 1)  ) :
      FABL.uniformLpNorm 2 f ^ 2 =
        FABL.uniformLpNorm 2
              (FABL.lastEvenPart f) ^
            2 +
          FABL.uniformLpNorm 2
              (FABL.lastOddPart f) ^
            2
    Parseval in the last-coordinate even/derivative decomposition. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_sqrt_sq.{u_1} {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (H : Ω  ) (hH :  (x : Ω), 0  H x) :
      (FABL.uniformLpNorm q fun x => (H x)) ^ 2 =
        FABL.uniformLpNorm (q / 2) H
    theorem FABL.uniformLpNorm_sqrt_sq.{u_1}
      {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (H : Ω  )
      (hH :  (x : Ω), 0  H x) :
      (FABL.uniformLpNorm q fun x => (H x)) ^
          2 =
        FABL.uniformLpNorm (q / 2) H
    The square of the `L^q` norm of a pointwise square root is the `L^(q/2)` norm
    of the underlying nonnegative function. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.oneBit_twoQ_sharp_of_two_le (q : ) (hq : 2  q) (a b : ) :
      (FABL.uniformLpNorm q fun x =>
          a + 1 / (q - 1) * b * FABL.signValue x) 
        (a ^ 2 + b ^ 2)
    theorem FABL.oneBit_twoQ_sharp_of_two_le (q : )
      (hq : 2  q) (a b : ) :
      (FABL.uniformLpNorm q fun x =>
          a +
            1 / (q - 1) * b *
              FABL.signValue x) 
        (a ^ 2 + b ^ 2)
    The one-bit `(2,q)` endpoint, including `q = 2`. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_sq.{u_1} {Ω : Type u_1} [Fintype Ω] (q : )
      (hq : 0 < q) (f : Ω  ) :
      (FABL.uniformLpNorm (q / 2) fun x => f x ^ 2) =
        FABL.uniformLpNorm q f ^ 2
    theorem FABL.uniformLpNorm_sq.{u_1} {Ω : Type u_1}
      [Fintype Ω] (q : ) (hq : 0 < q)
      (f : Ω  ) :
      (FABL.uniformLpNorm (q / 2) fun x =>
          f x ^ 2) =
        FABL.uniformLpNorm q f ^ 2
    Squaring a function changes its norm exponent from `q` to `q/2`. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_const.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (q : ) (hq : 0 < q) (c : ) : (FABL.uniformLpNorm q fun x => c) = |c|
    theorem FABL.uniformLpNorm_const.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (q : ) (hq : 0 < q) (c : ) :
      (FABL.uniformLpNorm q fun x => c) = |c|
    The positive finite-exponent norm of a constant on a nonempty finite space. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.twoQHypercontractivity_lastCoordinate_step {n : } (q : )
      (hq : 2  q) (f : FABL.SignCube (n + 1)  )
      (hEven :
        FABL.uniformLpNorm q
            ((FABL.noiseOperator (1 / (q - 1))) (FABL.lastEvenPart f)) 
          FABL.uniformLpNorm 2 (FABL.lastEvenPart f))
      (hOdd :
        FABL.uniformLpNorm q
            ((FABL.noiseOperator (1 / (q - 1))) (FABL.lastOddPart f)) 
          FABL.uniformLpNorm 2 (FABL.lastOddPart f)) :
      FABL.uniformLpNorm q ((FABL.noiseOperator (1 / (q - 1))) f) 
        FABL.uniformLpNorm 2 f
    theorem FABL.twoQHypercontractivity_lastCoordinate_step
      {n : } (q : ) (hq : 2  q)
      (f : FABL.SignCube (n + 1)  )
      (hEven :
        FABL.uniformLpNorm q
            ((FABL.noiseOperator
                (1 / (q - 1)))
              (FABL.lastEvenPart f)) 
          FABL.uniformLpNorm 2
            (FABL.lastEvenPart f))
      (hOdd :
        FABL.uniformLpNorm q
            ((FABL.noiseOperator
                (1 / (q - 1)))
              (FABL.lastOddPart f)) 
          FABL.uniformLpNorm 2
            (FABL.lastOddPart f)) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator (1 / (q - 1)))
            f) 
        FABL.uniformLpNorm 2 f
    The complete last-coordinate norm chain in Exercise 9.16.  The two hypotheses are
    exactly the induction hypotheses for the even part and the last derivative. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.twoQHypercontractivity_by_lastCoordinate (q : ) (hq : 2  q)
      (m : ) (f : FABL.SignCube m  ) :
      FABL.uniformLpNorm q ((FABL.noiseOperator (1 / (q - 1))) f) 
        FABL.uniformLpNorm 2 f
    theorem FABL.twoQHypercontractivity_by_lastCoordinate
      (q : ) (hq : 2  q) (m : )
      (f : FABL.SignCube m  ) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator (1 / (q - 1)))
            f) 
        FABL.uniformLpNorm 2 f
    Exercise 9.16: the `n`-bit `(2,q)` theorem proved directly by induction on the
    last-coordinate derivative decomposition. 
Lemma9.7.18
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 9.1.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.17. Use T_\rho T_\sigma=T_{\rho\sigma} to deduce the full Hypercontractivity Theorem in the range p<2<q from the (p,2) and (2,q) special cases.

Lean code for Lemma9.7.185 theorems
  • theoremdefined in FABL/Chapter09/OneBitHypercontractivity.lean
    complete
    theorem FABL.IsHypercontractiveRandomVariable.comp.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] {p r q : ENNReal} {σ ρ : } {X : Ω  }
      (hpr : FABL.IsHypercontractiveRandomVariable p r σ X)
      (hrq : FABL.IsHypercontractiveRandomVariable r q ρ X) :
      FABL.IsHypercontractiveRandomVariable p q (ρ * σ) X
    theorem FABL.IsHypercontractiveRandomVariable.comp.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      {p r q : ENNReal} {σ ρ : } {X : Ω  }
      (hpr :
        FABL.IsHypercontractiveRandomVariable
          p r σ X)
      (hrq :
        FABL.IsHypercontractiveRandomVariable
          r q ρ X) :
      FABL.IsHypercontractiveRandomVariable p
        q (ρ * σ) X
    The affine one-bit form of the noise-semigroup composition used in Exercise 9.17. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_noiseOperator_le {n : } (ρ : )
      ( : ρ  Set.Icc 0 1) (p : ) (hp : 1  p)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm p ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p f
    theorem FABL.uniformLpNorm_noiseOperator_le
      {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (p : ) (hp : 1  p)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm p
          ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p f
    The canonical Boolean-cube noise operator contracts every finite `L^p` norm for `p ≥ 1`. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniformLpNorm_noiseOperator_mono {n : } (ρ σ : )
      ( : ρ  Set.Icc 0 1) ( : σ  Set.Icc 0 1) (hρσ : ρ  σ) (p : )
      (hp : 1  p) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm p ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p ((FABL.noiseOperator σ) f)
    theorem FABL.uniformLpNorm_noiseOperator_mono
      {n : } (ρ σ : ) ( : ρ  Set.Icc 0 1)
      ( : σ  Set.Icc 0 1) (hρσ : ρ  σ)
      (p : ) (hp : 1  p)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm p
          ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p
          ((FABL.noiseOperator σ) f)
    Increasing a nonnegative noise parameter can only increase a finite `L^p` norm. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.hypercontractivity_sharp_across_two {n : } (p q : ) (hp1 : 1  p)
      (hp2 : p  2) (hq : 2  q) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q ((FABL.noiseOperator ((p - 1) / (q - 1))) f) 
        FABL.uniformLpNorm p f
    theorem FABL.hypercontractivity_sharp_across_two
      {n : } (p q : ) (hp1 : 1  p)
      (hp2 : p  2) (hq : 2  q)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator
              ((p - 1) / (q - 1)))
            f) 
        FABL.uniformLpNorm p f
    Exercise 9.17 at the sharp correlation, obtained by composing the two special cases. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.hypercontractivity_across_two {n : } (p q ρ : ) (hp1 : 1  p)
      (hp2 : p  2) (hq : 2  q) (hρ0 : 0  ρ)
      ( : ρ  ((p - 1) / (q - 1))) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p f
    theorem FABL.hypercontractivity_across_two {n : }
      (p q ρ : ) (hp1 : 1  p) (hp2 : p  2)
      (hq : 2  q) (hρ0 : 0  ρ)
      ( : ρ  ((p - 1) / (q - 1)))
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator ρ) f) 
        FABL.uniformLpNorm p f
    Exercise 9.17 in its full `p ≤ 2 ≤ q` range, including every smaller nonnegative
    correlation. 
Lemma9.7.19
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.5.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.18. If f is \{0,1\}-valued with mean \alpha, prove for 0<\rho\le1 W^1[f] \le\rho^{-1} \left(\alpha^{2/(1+\rho)}-\alpha^2\right). Letting \rho\to0^+, deduce W^1[f]\le2\alpha^2\ln(1/\alpha).

Lean code for Lemma9.7.192 theorems
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.rho_mul_fourierWeightAtLevel_one_le_stability_sub_mean_sq {n : }
      (f : FABL.SignCube n  ) (ρ : ) ( : ρ  Set.Ioc 0 1) :
      ρ * FABL.fourierWeightAtLevel 1 f 
        FABL.noiseStability ρ  f - FABL.mean f ^ 2
    theorem FABL.rho_mul_fourierWeightAtLevel_one_le_stability_sub_mean_sq
      {n : } (f : FABL.SignCube n  )
      (ρ : ) ( : ρ  Set.Ioc 0 1) :
      ρ * FABL.fourierWeightAtLevel 1 f 
        FABL.noiseStability ρ  f -
          FABL.mean f ^ 2
    Exercise 9.18's spectral first step. 
  • theoremdefined in FABL/Chapter09/HypercontractiveApplications.lean
    complete
    theorem FABL.levelOneInequality_parameterized {n : } (f : FABL.SignCube n  )
      (α ρ : ) (hvalues :  (x : FABL.SignCube n), f x = 0  f x = 1)
      (hmean : FABL.mean f = α) ( : ρ  Set.Ioc 0 1) :
      FABL.fourierWeightAtLevel 1 f  ρ⁻¹ * (α ^ (2 / (1 + ρ)) - α ^ 2)
    theorem FABL.levelOneInequality_parameterized
      {n : } (f : FABL.SignCube n  )
      (α ρ : )
      (hvalues :
         (x : FABL.SignCube n),
          f x = 0  f x = 1)
      (hmean : FABL.mean f = α)
      ( : ρ  Set.Ioc 0 1) :
      FABL.fourierWeightAtLevel 1 f 
        ρ⁻¹ * (α ^ (2 / (1 + ρ)) - α ^ 2)
    Exercise 9.18's parameterized level-one bound. 
Lemma9.7.20
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.19. As \alpha\to0, prove W^{\le k}[f]=o(\alpha) uniformly whenever k\le.373\ln(1/\alpha).

Lean code for Lemma9.7.205 theorems
  • theoremdefined in FABL/Chapter09/LevelWeightAsymptotics.lean
    complete
    theorem FABL.log_four_lt_seven_fifths : Real.log 4 < 7 / 5
    theorem FABL.log_four_lt_seven_fifths :
      Real.log 4 < 7 / 5
    A convenient rigorous upper bound for `log 4`. 
  • theoremdefined in FABL/Chapter09/LevelWeightAsymptotics.lean
    complete
    theorem FABL.exercise9_19_exponent_bound :
      21 / 20  8 / 5 - 373 / 1000 * Real.log 4
    theorem FABL.exercise9_19_exponent_bound :
      21 / 20 
        8 / 5 - 373 / 1000 * Real.log 4
    The `.373` cutoff leaves a uniform exponent gap of at least `1/20`. 
  • theoremdefined in FABL/Chapter09/LevelWeightAsymptotics.lean
    complete
    theorem FABL.exercise9_19_quantitative {n : } (f : FABL.SignCube n  ) (α : )
      (hα0 : 0 < α) (hα1 : α  1)
      (hvalues :  (x : FABL.SignCube n), f x = 0  f x = 1)
      (hmean : FABL.mean f = α) (k : )
      (hk : k  373 / 1000 * Real.log (1 / α)) :
      FABL.fourierWeightAtMost k f  α ^ (21 / 20)
    theorem FABL.exercise9_19_quantitative {n : }
      (f : FABL.SignCube n  ) (α : )
      (hα0 : 0 < α) (hα1 : α  1)
      (hvalues :
         (x : FABL.SignCube n),
          f x = 0  f x = 1)
      (hmean : FABL.mean f = α) (k : )
      (hk :
        k  373 / 1000 * Real.log (1 / α)) :
      FABL.fourierWeightAtMost k f 
        α ^ (21 / 20)
    Exercise 9.19's quantitative bound, uniform in the dimension, Boolean function, and admissible
    degree: `W^{≤k}[f] ≤ α^(21/20)`. 
  • theoremdefined in FABL/Chapter09/LevelWeightAsymptotics.lean
    complete
    theorem FABL.rpow_twentyone_twentieth_isLittleO :
      (fun α => α ^ (21 / 20)) =o[nhdsWithin 0 (Set.Ioi 0)] fun α => α
    theorem FABL.rpow_twentyone_twentieth_isLittleO :
      (fun α =>
          α ^
            (21 /
              20)) =o[nhdsWithin 0
          (Set.Ioi 0)]
        fun α => α
    The scalar majorant in Exercise 9.19 is little-oh of `α` as `α → 0⁺`. 
  • theoremdefined in FABL/Chapter09/LevelWeightAsymptotics.lean
    complete
    theorem FABL.exercise9_19_uniform_littleO (ε : ) :
      ε > 0 
        ∀ᶠ (α : ) in nhdsWithin 0 (Set.Ioi 0),
          α  1 
             (n : ) (f : FABL.SignCube n  ) (k : ),
              (∀ (x : FABL.SignCube n), f x = 0  f x = 1) 
                FABL.mean f = α 
                  k  373 / 1000 * Real.log (1 / α) 
                    FABL.fourierWeightAtMost k f  ε * α
    theorem FABL.exercise9_19_uniform_littleO
      (ε : ) :
      ε > 0 
        ∀ᶠ (α : ) in
          nhdsWithin 0 (Set.Ioi 0),
          α  1 
             (n : )
              (f : FABL.SignCube n  )
              (k : ),
              (∀ (x : FABL.SignCube n),
                  f x = 0  f x = 1) 
                FABL.mean f = α 
                  k 
                      373 / 1000 *
                        Real.log (1 / α) 
                    FABL.fourierWeightAtMost k
                        f 
                      ε * α
    Exercise 9.19 in explicit uniform little-oh form: for every multiplier `ε`, the same
    neighborhood of zero works simultaneously for every dimension, indicator function, and degree
    satisfying the book's `.373 log (1/α)` cutoff. 
Lemma9.7.21
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.20. For f(x)=\operatorname{trunc}_{[-1,1]} \left(\frac{x_1+\cdots+x_n}{\sqrt n}\right), prove that \operatorname{Var}[f]\ge\Omega(1) while every coordinate influence is too small for the Boolean-valued KKL conclusion. Thus KKL fails for general functions with range [-1,1].

Lean code for Lemma9.7.2110 declarations
  • defdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    def FABL.kklNormalizedRademacherSum (n : ) : FABL.SignCube n  
    def FABL.kklNormalizedRademacherSum (n : ) :
      FABL.SignCube n  
    The normalized sum of `n` independent uniform signs. 
  • defdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    def FABL.truncateUnit (z : ) : 
    def FABL.truncateUnit (z : ) : 
    Projection to the interval `[-1,1]`. 
  • defdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    def FABL.truncatedNormalizedRademacherSum (n : ) : FABL.SignCube n  
    def FABL.truncatedNormalizedRademacherSum
      (n : ) : FABL.SignCube n  
    Exercise 9.20's real-valued function. 
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.normalizedRademacherSum_secondMoment (n : ) (hn : 0 < n) :
      (Finset.univ.expect fun x =>
          FABL.kklNormalizedRademacherSum n x ^ 2) =
        1
    theorem FABL.normalizedRademacherSum_secondMoment
      (n : ) (hn : 0 < n) :
      (Finset.univ.expect fun x =>
          FABL.kklNormalizedRademacherSum n
              x ^
            2) =
        1
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.normalizedRademacherSum_fourthMoment_le_three (n : )
      (hn : 0 < n) :
      (Finset.univ.expect fun x =>
          FABL.kklNormalizedRademacherSum n x ^ 4) 
        3
    theorem FABL.normalizedRademacherSum_fourthMoment_le_three
      (n : ) (hn : 0 < n) :
      (Finset.univ.expect fun x =>
          FABL.kklNormalizedRademacherSum n
              x ^
            4) 
        3
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.mean_truncatedNormalizedRademacherSum (n : ) :
      FABL.mean (FABL.truncatedNormalizedRademacherSum n) = 0
    theorem FABL.mean_truncatedNormalizedRademacherSum
      (n : ) :
      FABL.mean
          (FABL.truncatedNormalizedRademacherSum
            n) =
        0
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.variance_truncatedNormalizedRademacherSum_ge (n : ) (hn : 0 < n) :
      1 / 24  FABL.variance (FABL.truncatedNormalizedRademacherSum n)
    theorem FABL.variance_truncatedNormalizedRademacherSum_ge
      (n : ) (hn : 0 < n) :
      1 / 24 
        FABL.variance
          (FABL.truncatedNormalizedRademacherSum
            n)
    Exercise 9.20's dimension-free variance lower bound. 
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.abs_truncateUnit_le_one (z : ) : |FABL.truncateUnit z|  1
    theorem FABL.abs_truncateUnit_le_one (z : ) :
      |FABL.truncateUnit z|  1
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.influence_truncatedNormalizedRademacherSum_le (n : ) (hn : 0 < n)
      (i : Fin n) :
      FABL.influence (FABL.truncatedNormalizedRademacherSum n) i  1 / n
    theorem FABL.influence_truncatedNormalizedRademacherSum_le
      (n : ) (hn : 0 < n) (i : Fin n) :
      FABL.influence
          (FABL.truncatedNormalizedRademacherSum
            n)
          i 
        1 / n
    Every coordinate influence in the real-valued KKL counterexample is at most `1/n`. 
  • theoremdefined in FABL/Chapter09/KKLCounterexample.lean
    complete
    theorem FABL.truncatedNormalizedRademacherSum_violates_boolean_kkl_scale (n : )
      (hn : 0 < n) (hlog : 2400 < Real.log n) (i : Fin n) :
      FABL.influence (FABL.truncatedNormalizedRademacherSum n) i <
        FABL.variance (FABL.truncatedNormalizedRademacherSum n) *
            Real.log n /
          (100 * n)
    theorem FABL.truncatedNormalizedRademacherSum_violates_boolean_kkl_scale
      (n : ) (hn : 0 < n)
      (hlog : 2400 < Real.log n)
      (i : Fin n) :
      FABL.influence
          (FABL.truncatedNormalizedRademacherSum
            n)
          i <
        FABL.variance
              (FABL.truncatedNormalizedRademacherSum
                n) *
            Real.log n /
          (100 * n)
    For sufficiently large dimension, the Boolean KKL lower bound would exceed every coordinate
    influence of this bounded real-valued function. 
Theorem9.7.22
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 5
Statement dependency previews
Preview
Corollary 3.4.7
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.21. Prove the following learning consequences:

  1. every Boolean class satisfying \mathbf I[f]\le O(\sqrt{\log n}) is query-learnable to a fixed constant error in \operatorname{poly}(n) time;

  2. its monotone subclass is learnable from random examples;

  3. monotone functions with decision-tree size \operatorname{poly}(n) are learnable from random examples.

Lean code for Theorem9.7.22118 declarations
  • abbrevdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    abbrev FABL.PositiveInfluenceBound : Type
    abbrev FABL.PositiveInfluenceBound : Type
    A positive rational upper bound for total influence.  Rational input makes the scheduler
    finitely representable; its coercion to `ℝ` is the mathematical influence bound. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesInternalError
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.learningConsequencesInternalError
      (ε : FABL.PositiveLearningParameter) :
      
    The internal Fourier-tail error is one eighth of the requested classification error. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.learningConsequencesInternalError_pos
      (ε : FABL.PositiveLearningParameter) :
      0 < FABL.learningConsequencesInternalError ε
    theorem FABL.learningConsequencesInternalError_pos
      (ε : FABL.PositiveLearningParameter) :
      0 <
        FABL.learningConsequencesInternalError
          ε
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesDegree (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.learningConsequencesDegree
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    The target-independent integral cutoff `ceil(8t/ε)`. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesThreshold (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.learningConsequencesThreshold
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    The target-independent influential-coordinate threshold
    `(ε/8)^2 t^(-2) 9^(-k)`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.learningConsequencesThreshold_pos (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      0 < FABL.learningConsequencesThreshold t ε
    theorem FABL.learningConsequencesThreshold_pos
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      0 <
        FABL.learningConsequencesThreshold t ε
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesCoordinateCap (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.learningConsequencesCoordinateCap
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    A uniform cardinal cap for every coordinate set used by either learner.  The factor two
    also accommodates the possible false positives in the sample-only monotone learner. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesFamilyBound (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.learningConsequencesFamilyBound
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    Uniform size bound for all degree-at-most-`k` families supported on a capped coordinate set. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.learningConsequencesFamilyBound_pos
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      0 < FABL.learningConsequencesFamilyBound t ε
    theorem FABL.learningConsequencesFamilyBound_pos
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      0 <
        FABL.learningConsequencesFamilyBound t
          ε
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.learningConsequencesTargetFamily {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : Finset (Finset (Fin n))
    def FABL.learningConsequencesTargetFamily
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      Finset (Finset (Fin n))
    The finite family appearing in the proof for a particular target.  It is a proof witness;
    the KM program below sees only the public numerical bound, not this target-dependent family. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.fourierWeightOutside_lowDegreeSubsets_influential_le_add {n : }
      (target : FABL.BooleanFunction n) (τ : ) (k : ) :
      FABL.fourierWeightOutside target.toReal
          (FABL.lowDegreeSubsets (FABL.influentialCoordinates target τ)
              k) 
        FABL.lowDegreeOutsideInfluentialMass target τ k +
          FABL.fourierWeightAbove k target.toReal
    theorem FABL.fourierWeightOutside_lowDegreeSubsets_influential_le_add
      {n : }
      (target : FABL.BooleanFunction n)
      (τ : ) (k : ) :
      FABL.fourierWeightOutside target.toReal
          (FABL.lowDegreeSubsets
              (FABL.influentialCoordinates
                target τ)
              k) 
        FABL.lowDegreeOutsideInfluentialMass
            target τ k +
          FABL.fourierWeightAbove k
            target.toReal
    Fourier mass outside low-degree subsets of the threshold-influential coordinates is bounded
    by the low-degree noninfluential mass plus the high-degree tail. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.sqrt_learningConsequencesThreshold
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.learningConsequencesThreshold t ε) =
        (FABL.learningConsequencesInternalError ε) / t *
          (1 / 3) ^ FABL.learningConsequencesDegree t ε
    theorem FABL.sqrt_learningConsequencesThreshold
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.learningConsequencesThreshold t
              ε) =
        (FABL.learningConsequencesInternalError
                ε) /
            t *
          (1 / 3) ^
            FABL.learningConsequencesDegree t
              ε
    The square root of the public threshold has the cancellation form used by Theorem 9.28. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.spectrum_concentrated_up_to_learningConsequencesDegree {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      FABL.IsFourierSpectrumConcentratedUpTo target.toReal
        (FABL.learningConsequencesInternalError ε)
        (FABL.learningConsequencesDegree t ε)
    theorem FABL.spectrum_concentrated_up_to_learningConsequencesDegree
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      FABL.IsFourierSpectrumConcentratedUpTo
        target.toReal
        (FABL.learningConsequencesInternalError
            ε)
        (FABL.learningConsequencesDegree t ε)
    The public degree cutoff leaves at most `ε/8` Fourier mass above it whenever `I[f] ≤ t`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.learningConsequencesTargetFamily_spectrum_concentrated {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      FABL.IsFourierSpectrumConcentratedOn target.toReal (ε / 4)
        (FABL.learningConsequencesTargetFamily target t ε)
    theorem FABL.learningConsequencesTargetFamily_spectrum_concentrated
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      FABL.IsFourierSpectrumConcentratedOn
        target.toReal (ε / 4)
        (FABL.learningConsequencesTargetFamily
            target t ε)
    The target-dependent proof family carries all but `ε/4` of the Fourier mass. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_influentialCoordinates_learningConsequencesThreshold_le
      {n : } (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      (FABL.influentialCoordinates target
            (FABL.learningConsequencesThreshold t ε)).card 
        FABL.learningConsequencesCoordinateCap t ε
    theorem FABL.card_influentialCoordinates_learningConsequencesThreshold_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      (FABL.influentialCoordinates target
            (FABL.learningConsequencesThreshold
                t ε)).card 
        FABL.learningConsequencesCoordinateCap
          t ε
    The threshold-influential coordinate set is bounded by the public coordinate cap. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_learningConsequencesTargetFamily_le {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      (FABL.learningConsequencesTargetFamily target t ε).card 
        FABL.learningConsequencesFamilyBound t ε
    theorem FABL.card_learningConsequencesTargetFamily_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      (FABL.learningConsequencesTargetFamily
            target t ε).card 
        FABL.learningConsequencesFamilyBound t
          ε
    The target-dependent witness family satisfies the target-independent KM family bound. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.boundedInfluenceQueryLearningProgram (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n FABL.LearningAccess.queries
        (FABL.SparseFourierHypothesis n)
    def FABL.boundedInfluenceQueryLearningProgram
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n
        FABL.LearningAccess.queries
        (FABL.SparseFourierHypothesis n)
    Exercise 9.21(a)'s target-independent membership-query program. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedInfluenceQueryLearningProgram_failureProbability_le_one_tenth
      {n : } (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      ((FABL.boundedInfluenceQueryLearningProgram n t ε).eventProbability
          target fun outcome =>
          ε < FABL.relativeHammingDist target outcome.1.evaluate) 
        1 / 10
    theorem FABL.boundedInfluenceQueryLearningProgram_failureProbability_le_one_tenth
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      ((FABL.boundedInfluenceQueryLearningProgram
              n t ε).eventProbability
          target fun outcome =>
          ε <
            FABL.relativeHammingDist target
              outcome.1.evaluate) 
        1 / 10
    Exercise 9.21(a): the membership-query learner fails with probability at most `1/10`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedInfluenceQueryLearningProgram_queries_le {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.boundedInfluenceQueryLearningProgram n t ε)).support) :
      outcome.2.queries 
        2 ^ 40 * (n + 1) ^ 2 *
            ((FABL.learningConsequencesFamilyBound t ε) + 1) ^ 8 /
          ε ^ 10
    theorem FABL.boundedInfluenceQueryLearningProgram_queries_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.boundedInfluenceQueryLearningProgram
                n t ε)).support) :
      outcome.2.queries 
        2 ^ 40 * (n + 1) ^ 2 *
            ((FABL.learningConsequencesFamilyBound
                    t ε) +
                1) ^
              8 /
          ε ^ 10
    Every execution path of the query learner satisfies the explicit KM query bound. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedInfluenceQueryLearningProgram_work_le {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.boundedInfluenceQueryLearningProgram n t ε)).support) :
      outcome.2.work 
        2 ^ 42 * (n + 1) ^ 3 *
            ((FABL.learningConsequencesFamilyBound t ε) + 1) ^ 8 /
          ε ^ 10
    theorem FABL.boundedInfluenceQueryLearningProgram_work_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.boundedInfluenceQueryLearningProgram
                n t ε)).support) :
      outcome.2.work 
        2 ^ 42 * (n + 1) ^ 3 *
            ((FABL.learningConsequencesFamilyBound
                    t ε) +
                1) ^
              8 /
          ε ^ 10
    Every execution path of the query learner satisfies the explicit KM charged-work bound. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.singletonFourierFamily (n : ) : Finset (Finset (Fin n))
    def FABL.singletonFourierFamily (n : ) :
      Finset (Finset (Fin n))
    The singleton Fourier family used by the first sampling stage. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.singleton_mem_singletonFourierFamily {n : } (i : Fin n) :
      {i}  FABL.singletonFourierFamily n
    theorem FABL.singleton_mem_singletonFourierFamily
      {n : } (i : Fin n) :
      {i}  FABL.singletonFourierFamily n
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_singletonFourierFamily (n : ) :
      (FABL.singletonFourierFamily n).card = n
    theorem FABL.card_singletonFourierFamily (n : ) :
      (FABL.singletonFourierFamily n).card = n
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.singletonInfluenceAccuracy (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.PositiveLearningParameter
    def FABL.singletonInfluenceAccuracy
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.PositiveLearningParameter
    Accuracy used to discover influential singleton coefficients.  Capping by `1/2` makes this
    a legal finite scheduler parameter even when the public influence threshold exceeds two. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.singletonInfluenceAccuracy_value (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.singletonInfluenceAccuracy t ε) =
        min (FABL.learningConsequencesThreshold t ε / 4) (1 / 2)
    theorem FABL.singletonInfluenceAccuracy_value
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.singletonInfluenceAccuracy t ε) =
        min
          (FABL.learningConsequencesThreshold
              t ε /
            4)
          (1 / 2)
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.singletonInfluenceAccuracy_le_quarter_threshold
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.singletonInfluenceAccuracy t ε) 
        FABL.learningConsequencesThreshold t ε / 4
    theorem FABL.singletonInfluenceAccuracy_le_quarter_threshold
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      (FABL.singletonInfluenceAccuracy t ε) 
        FABL.learningConsequencesThreshold t
            ε /
          4
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.singletonInfluenceConfidence (n : ) :
      FABL.PositiveLearningParameter
    def FABL.singletonInfluenceConfidence
      (n : ) :
      FABL.PositiveLearningParameter
    Per-singleton confidence `1/(20(n+1))`; the extra one totalizes dimension zero. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.singletonInfluenceSampleCount (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.singletonInfluenceSampleCount (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.empiricalInfluentialCoordinatesUncapped {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε) 
            FABL.SignCube n × FABL.Sign) :
      Finset (Fin n)
    def FABL.empiricalInfluentialCoordinatesUncapped
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n × FABL.Sign) :
      Finset (Fin n)
    Coordinates selected from the empirical singleton Fourier coefficients before enforcing the
    public cardinal cap. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.empiricalInfluentialCoordinates {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε) 
            FABL.SignCube n × FABL.Sign) :
      Finset (Fin n)
    def FABL.empiricalInfluentialCoordinates
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n × FABL.Sign) :
      Finset (Fin n)
    Hard capping keeps every execution path polynomial.  On the simultaneous-accuracy event the
    cap is proved inactive, so it does not remove any genuinely influential coordinate. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_empiricalInfluentialCoordinates_le {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε) 
            FABL.SignCube n × FABL.Sign) :
      (FABL.empiricalInfluentialCoordinates t ε samples).card 
        FABL.learningConsequencesCoordinateCap t ε
    theorem FABL.card_empiricalInfluentialCoordinates_le
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n × FABL.Sign) :
      (FABL.empiricalInfluentialCoordinates t
            ε samples).card 
        FABL.learningConsequencesCoordinateCap
          t ε
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.empiricalInfluentialCoordinatesFromInputs {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (sampleInputs :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε) 
            FABL.SignCube n) :
      Finset (Fin n)
    def FABL.empiricalInfluentialCoordinatesFromInputs
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (sampleInputs :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n) :
      Finset (Fin n)
    Pure first-stage output after inserting the target labels into a uniform input matrix. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneInfluenceSelectionProgram (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n FABL.LearningAccess.randomExamples
        (Finset (Fin n))
    def FABL.monotoneInfluenceSelectionProgram
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n
        FABL.LearningAccess.randomExamples
        (Finset (Fin n))
    The actual first-stage random-example program.  Its work charge covers every empirical
    coefficient and the final scan of the `n` coordinates. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneInfluenceSelectionProgram_cost_eq {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome : Finset (Fin n) × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.monotoneInfluenceSelectionProgram n t ε)).support) :
      outcome.2 =
        { randomExamples := n * FABL.singletonInfluenceSampleCount n t ε,
          queries := 0,
          work :=
            n * FABL.singletonInfluenceSampleCount n t ε +
                n * FABL.singletonInfluenceSampleCount n t ε * (n + 1) +
              n }
    theorem FABL.monotoneInfluenceSelectionProgram_cost_eq
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome :
        Finset (Fin n) × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.monotoneInfluenceSelectionProgram
                n t ε)).support) :
      outcome.2 =
        {
          randomExamples :=
            n *
              FABL.singletonInfluenceSampleCount
                n t ε,
          queries := 0,
          work :=
            n *
                  FABL.singletonInfluenceSampleCount
                    n t ε +
                n *
                    FABL.singletonInfluenceSampleCount
                      n t ε *
                  (n + 1) +
              n }
    Exact pathwise first-stage cost. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_lowDegreeSubsets_empiricalInfluentialCoordinates_le {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε) 
            FABL.SignCube n × FABL.Sign) :
      (FABL.lowDegreeSubsets
            (FABL.empiricalInfluentialCoordinates t ε samples)
            (FABL.learningConsequencesDegree t ε)).card 
        FABL.learningConsequencesFamilyBound t ε
    theorem FABL.card_lowDegreeSubsets_empiricalInfluentialCoordinates_le
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (samples :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n × FABL.Sign) :
      (FABL.lowDegreeSubsets
            (FABL.empiricalInfluentialCoordinates
              t ε samples)
            (FABL.learningConsequencesDegree t
              ε)).card 
        FABL.learningConsequencesFamilyBound t
          ε
    Every selected coordinate set, including those produced on statistically bad matrices, gives
    a low-degree family below the target-independent family bound. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_halfThresholdInfluentialCoordinates_le {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      (FABL.influentialCoordinates target
            ((FABL.learningConsequencesThreshold t ε) / 2)).card 
        FABL.learningConsequencesCoordinateCap t ε
    theorem FABL.card_halfThresholdInfluentialCoordinates_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      (FABL.influentialCoordinates target
            ((FABL.learningConsequencesThreshold
                  t ε) /
              2)).card 
        FABL.learningConsequencesCoordinateCap
          t ε
    Coordinates with influence at least half the public threshold satisfy the same public cap. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.fourierCoeff_singleton_eq_booleanInfluence_of_monotone {n : }
      (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (i : Fin n) :
      FABL.fourierCoeff target.toReal {i} = FABL.booleanInfluence target i
    theorem FABL.fourierCoeff_singleton_eq_booleanInfluence_of_monotone
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (i : Fin n) :
      FABL.fourierCoeff target.toReal {i} =
        FABL.booleanInfluence target i
    For monotone Boolean targets the singleton Fourier coefficient is the Boolean influence. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.influentialCoordinates_subset_empiricalInfluentialCoordinates_of_no_bad
      {n : } (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t)
      (sampleInputs :
        (FABL.singletonFourierFamily n) 
          Fin (FABL.singletonInfluenceSampleCount n t ε)  FABL.SignCube n)
      (hgood :
         (S : (FABL.singletonFourierFamily n)),
          sampleInputs 
            FABL.finiteFamilyCoefficientBadSetWithParameters target
              (FABL.singletonFourierFamily n)
              (FABL.singletonInfluenceAccuracy t ε)
              (FABL.singletonInfluenceConfidence n) S) :
      FABL.influentialCoordinates target
          (FABL.learningConsequencesThreshold t ε) 
        FABL.empiricalInfluentialCoordinatesFromInputs target t ε
          sampleInputs
    theorem FABL.influentialCoordinates_subset_empiricalInfluentialCoordinates_of_no_bad
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t)
      (sampleInputs :
        (FABL.singletonFourierFamily n) 
          Fin
              (FABL.singletonInfluenceSampleCount
                n t ε) 
            FABL.SignCube n)
      (hgood :
        
          (S :
            (FABL.singletonFourierFamily n)),
          sampleInputs 
            FABL.finiteFamilyCoefficientBadSetWithParameters
              target
              (FABL.singletonFourierFamily n)
              (FABL.singletonInfluenceAccuracy
                t ε)
              (FABL.singletonInfluenceConfidence
                n)
              S) :
      FABL.influentialCoordinates target
          (FABL.learningConsequencesThreshold
              t ε) 
        FABL.empiricalInfluentialCoordinatesFromInputs
          target t ε sampleInputs
    Simultaneous singleton accuracy implies both required properties of the data-dependent set:
    all threshold-influential coordinates are retained, and the public cap is inactive. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneSelectionBad {n : } (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (J : Finset (Fin n)) : Prop
    def FABL.monotoneSelectionBad {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (J : Finset (Fin n)) : Prop
    A selected set is bad if it misses a genuinely influential coordinate or exceeds the public
    cap.  The latter disjunct is impossible for the actual first-stage output but makes the generic
    bind continuation theorem uniformly resource-bounded. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneInfluenceSelectionProgram_failureProbability_le_one_twentieth
      {n : } (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      ((FABL.monotoneInfluenceSelectionProgram n t ε).eventProbability
          target fun outcome =>
          FABL.monotoneSelectionBad target t ε outcome.1) 
        1 / 20
    theorem FABL.monotoneInfluenceSelectionProgram_failureProbability_le_one_twentieth
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      ((FABL.monotoneInfluenceSelectionProgram
              n t ε).eventProbability
          target fun outcome =>
          FABL.monotoneSelectionBad target t ε
            outcome.1) 
        1 / 20
    The first-stage discovery failure probability is at most `1/20`. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.boundedFamilyCoefficientAccuracy
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M) :
      FABL.PositiveLearningParameter
    def FABL.boundedFamilyCoefficientAccuracy
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) :
      FABL.PositiveLearningParameter
    A family-size-independent coefficient accuracy, valid for every nonempty family of size at
    most `M`. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.boundedFamilyCoefficientConfidence (M : ) (hM : 0 < M) :
      FABL.PositiveLearningParameter
    def FABL.boundedFamilyCoefficientConfidence
      (M : ) (hM : 0 < M) :
      FABL.PositiveLearningParameter
    A family-size-independent confidence allocation with total budget `1/20`. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.boundedFamilySampleCount (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) : 
    def FABL.boundedFamilySampleCount
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) : 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.boundedFiniteFamilyFourierEstimatorProgram {n : }
      (𝓕 : Finset (Finset (Fin n))) (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) :
      FABL.LearningProgram n FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    def FABL.boundedFiniteFamilyFourierEstimatorProgram
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) :
      FABL.LearningProgram n
        FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    The random-example estimator for an arbitrary dynamically selected family, scheduled only
    from its public cardinal bound. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedFamilyCoefficientAccuracy_le_finiteFamilyCoefficientAccuracy
      {n : } (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M) :
      (FABL.boundedFamilyCoefficientAccuracy ε M hM) 
        (FABL.finiteFamilyCoefficientAccuracy 𝓕 h𝓕 ε)
    theorem FABL.boundedFamilyCoefficientAccuracy_le_finiteFamilyCoefficientAccuracy
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M) :
      (FABL.boundedFamilyCoefficientAccuracy
            ε M hM) 
        (FABL.finiteFamilyCoefficientAccuracy
            𝓕 h𝓕 ε)
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.relativeHammingDist_boundedFiniteFamilyOutput_le_of_no_bad {n : }
      (target : FABL.BooleanFunction n) (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty) (ε : FABL.PositiveLearningParameter) (M : )
      (hM : 0 < M) (hcard : 𝓕.card  M)
      (sampleInputs :
        𝓕  Fin (FABL.boundedFamilySampleCount ε M hM)  FABL.SignCube n)
      (hconcentration :
        FABL.IsFourierSpectrumConcentratedOn target.toReal (ε / 2) 𝓕)
      (hgood :
         (S : 𝓕),
          sampleInputs 
            FABL.finiteFamilyCoefficientBadSetWithParameters target 𝓕
              (FABL.boundedFamilyCoefficientAccuracy ε M hM)
              (FABL.boundedFamilyCoefficientConfidence M hM) S) :
      FABL.relativeHammingDist target
          (FABL.finiteFamilyFourierEstimatorOutput target 𝓕
              (FABL.boundedFamilySampleCount ε M hM)
              sampleInputs).evaluate 
        ε
    theorem FABL.relativeHammingDist_boundedFiniteFamilyOutput_le_of_no_bad
      {n : }
      (target : FABL.BooleanFunction n)
      (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M)
      (sampleInputs :
        𝓕 
          Fin
              (FABL.boundedFamilySampleCount ε
                M hM) 
            FABL.SignCube n)
      (hconcentration :
        FABL.IsFourierSpectrumConcentratedOn
          target.toReal (ε / 2) 𝓕)
      (hgood :
         (S : 𝓕),
          sampleInputs 
            FABL.finiteFamilyCoefficientBadSetWithParameters
              target 𝓕
              (FABL.boundedFamilyCoefficientAccuracy
                ε M hM)
              (FABL.boundedFamilyCoefficientConfidence
                M hM)
              S) :
      FABL.relativeHammingDist target
          (FABL.finiteFamilyFourierEstimatorOutput
              target 𝓕
              (FABL.boundedFamilySampleCount ε
                M hM)
              sampleInputs).evaluate 
        ε
    Outside all parameterized coefficient-bad events, the bounded-family output is
    `ε`-accurate whenever its family carries all but `ε/2` Fourier mass. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_failureProbability_le_one_twentieth
      {n : } (target : FABL.BooleanFunction n)
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M)
      (hconcentration :
        FABL.IsFourierSpectrumConcentratedOn target.toReal (ε / 2) 𝓕) :
      ((FABL.boundedFiniteFamilyFourierEstimatorProgram 𝓕 ε M
              hM).eventProbability
          target fun outcome =>
          ε < FABL.relativeHammingDist target outcome.1.evaluate) 
        1 / 20
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_failureProbability_le_one_twentieth
      {n : }
      (target : FABL.BooleanFunction n)
      (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M)
      (hconcentration :
        FABL.IsFourierSpectrumConcentratedOn
          target.toReal (ε / 2) 𝓕) :
      ((FABL.boundedFiniteFamilyFourierEstimatorProgram
              𝓕 ε M hM).eventProbability
          target fun outcome =>
          ε <
            FABL.relativeHammingDist target
              outcome.1.evaluate) 
        1 / 20
    The bounded-family second stage has failure probability at most `1/20`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_cost_eq {n : }
      (target : FABL.BooleanFunction n) (𝓕 : Finset (Finset (Fin n)))
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.boundedFiniteFamilyFourierEstimatorProgram 𝓕 ε M
                hM)).support) :
      outcome.2 =
        { randomExamples := 𝓕.card * FABL.boundedFamilySampleCount ε M hM,
          queries := 0,
          work :=
            𝓕.card * FABL.boundedFamilySampleCount ε M hM +
              𝓕.card * FABL.boundedFamilySampleCount ε M hM * (n + 1) }
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_cost_eq
      {n : }
      (target : FABL.BooleanFunction n)
      (𝓕 : Finset (Finset (Fin n)))
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.boundedFiniteFamilyFourierEstimatorProgram
                𝓕 ε M hM)).support) :
      outcome.2 =
        {
          randomExamples :=
            𝓕.card *
              FABL.boundedFamilySampleCount ε
                M hM,
          queries := 0,
          work :=
            𝓕.card *
                FABL.boundedFamilySampleCount
                  ε M hM +
              𝓕.card *
                  FABL.boundedFamilySampleCount
                    ε M hM *
                (n + 1) }
    Exact cost of the bounded-family estimator. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_cost_le {n : }
      (target : FABL.BooleanFunction n) (𝓕 : Finset (Finset (Fin n)))
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.boundedFiniteFamilyFourierEstimatorProgram 𝓕 ε M
                hM)).support) :
      outcome.2.randomExamples  M * FABL.boundedFamilySampleCount ε M hM 
        outcome.2.queries = 0 
          outcome.2.work 
            M * FABL.boundedFamilySampleCount ε M hM * (n + 2)
    theorem FABL.boundedFiniteFamilyFourierEstimatorProgram_cost_le
      {n : }
      (target : FABL.BooleanFunction n)
      (𝓕 : Finset (Finset (Fin n)))
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M)
      (hcard : 𝓕.card  M)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.boundedFiniteFamilyFourierEstimatorProgram
                𝓕 ε M hM)).support) :
      outcome.2.randomExamples 
          M *
            FABL.boundedFamilySampleCount ε M
              hM 
        outcome.2.queries = 0 
          outcome.2.work 
            M *
                FABL.boundedFamilySampleCount
                  ε M hM *
              (n + 2)
    Componentwise path bounds for every bounded-family execution. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneSelectedFourierFamily {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (J : Finset (Fin n)) :
      Finset (Finset (Fin n))
    def FABL.monotoneSelectedFourierFamily {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (J : Finset (Fin n)) :
      Finset (Finset (Fin n))
    The second-stage family selected from a first-stage coordinate set. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneSelectedFourierFamily_nonempty {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (J : Finset (Fin n)) :
      (FABL.monotoneSelectedFourierFamily t ε J).Nonempty
    theorem FABL.monotoneSelectedFourierFamily_nonempty
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (J : Finset (Fin n)) :
      (FABL.monotoneSelectedFourierFamily t ε
          J).Nonempty
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.card_monotoneSelectedFourierFamily_le {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (J : Finset (Fin n))
      (hJ : J.card  FABL.learningConsequencesCoordinateCap t ε) :
      (FABL.monotoneSelectedFourierFamily t ε J).card 
        FABL.learningConsequencesFamilyBound t ε
    theorem FABL.card_monotoneSelectedFourierFamily_le
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (J : Finset (Fin n))
      (hJ :
        J.card 
          FABL.learningConsequencesCoordinateCap
            t ε) :
      (FABL.monotoneSelectedFourierFamily t ε
            J).card 
        FABL.learningConsequencesFamilyBound t
          ε
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneBoundedInfluenceSecondStage {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (J : Finset (Fin n)) :
      FABL.LearningProgram n FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    def FABL.monotoneBoundedInfluenceSecondStage
      {n : }
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (J : Finset (Fin n)) :
      FABL.LearningProgram n
        FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    The target-independent continuation selected by the empirical coordinate set. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneBoundedInfluenceRandomExampleProgram (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    def FABL.monotoneBoundedInfluenceRandomExampleProgram
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n
        FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    Exercise 9.21(b)'s actual target-independent random-example learner. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneSelectedFourierFamily_spectrum_concentrated {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) (J : Finset (Fin n))
      (hJ :
        FABL.influentialCoordinates target
            (FABL.learningConsequencesThreshold t ε) 
          J) :
      FABL.IsFourierSpectrumConcentratedOn target.toReal (ε / 2)
        (FABL.monotoneSelectedFourierFamily t ε J)
    theorem FABL.monotoneSelectedFourierFamily_spectrum_concentrated
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t)
      (J : Finset (Fin n))
      (hJ :
        FABL.influentialCoordinates target
            (FABL.learningConsequencesThreshold
                t ε) 
          J) :
      FABL.IsFourierSpectrumConcentratedOn
        target.toReal (ε / 2)
        (FABL.monotoneSelectedFourierFamily t
            ε J)
    A successful first-stage set gives a concentrating second-stage family. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_failureProbability_le_one_tenth
      {n : } (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI : FABL.totalInfluence target.toReal  t) :
      ((FABL.monotoneBoundedInfluenceRandomExampleProgram n t
              ε).eventProbability
          target fun outcome =>
          ε < FABL.relativeHammingDist target outcome.1.evaluate) 
        1 / 10
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_failureProbability_le_one_tenth
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (hI :
        FABL.totalInfluence target.toReal 
          t) :
      ((FABL.monotoneBoundedInfluenceRandomExampleProgram
              n t ε).eventProbability
          target fun outcome =>
          ε <
            FABL.relativeHammingDist target
              outcome.1.evaluate) 
        1 / 10
    The complete monotone random-example learner fails with probability at most `1/10`. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneBoundedInfluenceRandomExampleBudget (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.monotoneBoundedInfluenceRandomExampleBudget
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    Public pathwise random-example budget for the full two-stage learner. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneBoundedInfluenceWorkBudget (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) : 
    def FABL.monotoneBoundedInfluenceWorkBudget
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) :
      
    Public pathwise charged-work budget for the full two-stage learner. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_cost_le {n : }
      (target : FABL.BooleanFunction n) (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.monotoneBoundedInfluenceRandomExampleProgram n t
                ε)).support) :
      outcome.2.randomExamples 
          FABL.monotoneBoundedInfluenceRandomExampleBudget n t ε 
        outcome.2.queries = 0 
          outcome.2.work  FABL.monotoneBoundedInfluenceWorkBudget n t ε
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_cost_le
      {n : }
      (target : FABL.BooleanFunction n)
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.monotoneBoundedInfluenceRandomExampleProgram
                n t ε)).support) :
      outcome.2.randomExamples 
          FABL.monotoneBoundedInfluenceRandomExampleBudget
            n t ε 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.monotoneBoundedInfluenceWorkBudget
              n t ε
    Every path of the two-stage learner obeys its advertised random-example and work budgets and
    uses no membership queries. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.FiniteDecisionTree.leafCount_mapOutput.{u_1, u_2, u_3}
      {Ω : Type u_1} {α : Type u_2} {β : Type u_3} [Fintype Ω] {n : }
      {A : Finset (Fin n)} (g : α  β)
      (T : FABL.FiniteDecisionTree Ω α n A) :
      (FABL.FiniteDecisionTree.mapOutput g T).leafCount = T.leafCount
    theorem FABL.FiniteDecisionTree.leafCount_mapOutput.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {α : Type u_2}
      {β : Type u_3} [Fintype Ω] {n : }
      {A : Finset (Fin n)} (g : α  β)
      (T : FABL.FiniteDecisionTree Ω α n A) :
      (FABL.FiniteDecisionTree.mapOutput g
            T).leafCount =
        T.leafCount
    Mapping deterministic-tree leaf labels does not alter its number of leaves. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.FiniteDecisionTree.mapOutput_signValue_computes {n : }
      (target : FABL.BooleanFunction n)
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n)
      (hT : FABL.FiniteDecisionTree.Computes T target) :
      (FABL.FiniteDecisionTree.mapOutput FABL.signValue T).Computes
        target.toReal
    theorem FABL.FiniteDecisionTree.mapOutput_signValue_computes
      {n : }
      (target : FABL.BooleanFunction n)
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign n)
      (hT :
        FABL.FiniteDecisionTree.Computes T
          target) :
      (FABL.FiniteDecisionTree.mapOutput
            FABL.signValue T).Computes
        target.toReal
    A sign-output computing tree becomes a real-output computing tree without changing its query
    process. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.totalInfluence_le_sqrt_logb_leafCount_of_monotone {n : }
      (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (T : FABL.FiniteAlphabetDecisionTree FABL.Sign FABL.Sign n)
      (hT : FABL.FiniteDecisionTree.Computes T target) :
      FABL.totalInfluence target.toReal 
        (Real.logb 2 (FABL.FiniteDecisionTree.leafCount T))
    theorem FABL.totalInfluence_le_sqrt_logb_leafCount_of_monotone
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target)
      (T :
        FABL.FiniteAlphabetDecisionTree
          FABL.Sign FABL.Sign n)
      (hT :
        FABL.FiniteDecisionTree.Computes T
          target) :
      FABL.totalInfluence target.toReal 
        (Real.logb 2
            (FABL.FiniteDecisionTree.leafCount
                T))
    OS at `p=1/2`, followed by Exercise 8.43, gives the exact leaf-count influence bridge
    requested in Exercise 9.21(c). 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.FiniteDecisionTree.exists_computingTree_leafCount_eq_deterministicSize
      {n : } (target : FABL.BooleanFunction n) :
       T,
        FABL.FiniteDecisionTree.Computes T target 
          FABL.FiniteDecisionTree.leafCount T =
            FABL.FiniteDecisionTree.deterministicSize target
    theorem FABL.FiniteDecisionTree.exists_computingTree_leafCount_eq_deterministicSize
      {n : }
      (target : FABL.BooleanFunction n) :
       T,
        FABL.FiniteDecisionTree.Computes T
            target 
          FABL.FiniteDecisionTree.leafCount
              T =
            FABL.FiniteDecisionTree.deterministicSize
              target
    A minimum-leaf computing tree exists for Chapter 8's sign-cube size definition. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.totalInfluence_le_sqrt_logb_deterministicSize_of_monotone {n : }
      (target : FABL.BooleanFunction n) (htarget : Monotone target) :
      FABL.totalInfluence target.toReal 
        (Real.logb 2 (FABL.FiniteDecisionTree.deterministicSize target))
    theorem FABL.totalInfluence_le_sqrt_logb_deterministicSize_of_monotone
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target) :
      FABL.totalInfluence target.toReal 
        (Real.logb 2
            (FABL.FiniteDecisionTree.deterministicSize
                target))
    Function-level leaf-count form of the OS/entropy bridge. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.decisionTreeSizeInfluenceBound (n d : ) :
      FABL.PositiveInfluenceBound
    def FABL.decisionTreeSizeInfluenceBound
      (n d : ) : FABL.PositiveInfluenceBound
    Integer-valued `O(sqrt(log n))` influence envelope for a class with at most `n^d` leaves. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.totalInfluence_le_decisionTreeSizeInfluenceBound {n : }
      (target : FABL.BooleanFunction n) (htarget : Monotone target) (d : )
      (hsize : FABL.FiniteDecisionTree.deterministicSize target  n ^ d) :
      FABL.totalInfluence target.toReal 
        (FABL.decisionTreeSizeInfluenceBound n d)
    theorem FABL.totalInfluence_le_decisionTreeSizeInfluenceBound
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target) (d : )
      (hsize :
        FABL.FiniteDecisionTree.deterministicSize
            target 
          n ^ d) :
      FABL.totalInfluence target.toReal 
        (FABL.decisionTreeSizeInfluenceBound
              n d)
    A monotone function of decision-tree size at most `n^d` lies below the public subsquare-root
    influence envelope. 
  • defdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    def FABL.monotoneDecisionTreeSizeRandomExampleProgram (n d : )
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    def FABL.monotoneDecisionTreeSizeRandomExampleProgram
      (n d : )
      (ε : FABL.PositiveLearningParameter) :
      FABL.LearningProgram n
        FABL.LearningAccess.randomExamples
        (FABL.SparseFourierHypothesis n)
    Exercise 9.21(c)'s target-independent random-example learner for the class
    `DTsize(f) ≤ n^d`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_failureProbability_le_one_tenth
      {n : } (target : FABL.BooleanFunction n) (htarget : Monotone target)
      (d : )
      (hsize : FABL.FiniteDecisionTree.deterministicSize target  n ^ d)
      (ε : FABL.PositiveLearningParameter) :
      ((FABL.monotoneDecisionTreeSizeRandomExampleProgram n d
              ε).eventProbability
          target fun outcome =>
          ε < FABL.relativeHammingDist target outcome.1.evaluate) 
        1 / 10
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_failureProbability_le_one_tenth
      {n : }
      (target : FABL.BooleanFunction n)
      (htarget : Monotone target) (d : )
      (hsize :
        FABL.FiniteDecisionTree.deterministicSize
            target 
          n ^ d)
      (ε : FABL.PositiveLearningParameter) :
      ((FABL.monotoneDecisionTreeSizeRandomExampleProgram
              n d ε).eventProbability
          target fun outcome =>
          ε <
            FABL.relativeHammingDist target
              outcome.1.evaluate) 
        1 / 10
    Exercise 9.21(c): every monotone target of leaf complexity at most `n^d` is learned from
    random examples with failure probability at most `1/10`. 
  • theoremdefined in FABL/Chapter09/LearningConsequences.lean
    complete
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_cost_le {n : }
      (target : FABL.BooleanFunction n) (d : )
      (ε : FABL.PositiveLearningParameter)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.monotoneDecisionTreeSizeRandomExampleProgram n d
                ε)).support) :
      outcome.2.randomExamples 
          FABL.monotoneBoundedInfluenceRandomExampleBudget n
            (FABL.decisionTreeSizeInfluenceBound n d) ε 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.monotoneBoundedInfluenceWorkBudget n
              (FABL.decisionTreeSizeInfluenceBound n d) ε
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_cost_le
      {n : }
      (target : FABL.BooleanFunction n)
      (d : )
      (ε : FABL.PositiveLearningParameter)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.monotoneDecisionTreeSizeRandomExampleProgram
                n d ε)).support) :
      outcome.2.randomExamples 
          FABL.monotoneBoundedInfluenceRandomExampleBudget
            n
            (FABL.decisionTreeSizeInfluenceBound
              n d)
            ε 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.monotoneBoundedInfluenceWorkBudget
              n
              (FABL.decisionTreeSizeInfluenceBound
                n d)
              ε
    Exercise 9.21(c) inherits the same pathwise random-example/work resource certificate. 
  • structure(3 fields)defined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    structure FABL.LearningConsequencesSubsqrtRegime (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter) (C Q : ) : Prop
    structure FABL.LearningConsequencesSubsqrtRegime
      (n : )
      (t : FABL.PositiveInfluenceBound)
      (ε : FABL.PositiveLearningParameter)
      (C Q : ) : Prop
    A finite, exact version of the regime `ε` fixed and `t ≤ C sqrt(log n)`.  The harmless
    `+1`s totalize small dimensions; `C` and `Q` are fixed across a concept class. 
    dimension_pos : 1  n
    The nontrivial dimension range. 
    precision_lower : 1 / (Q + 1)  ε
    Fixed accuracy: `ε ≥ 1/(Q+1)`. 
    influence_le : t  (C + 1) * ((Nat.clog 2 (n + 1)).sqrt + 1)
    Subsquare-root influence envelope in binary logarithmic scale. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesDegreeCoefficient (C Q : ) : 
    def FABL.learningConsequencesDegreeCoefficient
      (C Q : ) : 
    Coefficient controlling the public degree cutoff in the subsquare-root regime. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesCoordinateCoefficient (C Q : ) : 
    def FABL.learningConsequencesCoordinateCoefficient
      (C Q : ) : 
    Elementary coefficient controlling the influential-coordinate cap. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesFamilyExponent (C Q : ) : 
    def FABL.learningConsequencesFamilyExponent
      (C Q : ) : 
    Fixed exponent controlling the complete low-degree family. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.nat_succ_le_two_pow (m : ) : m + 1  2 ^ m
    theorem FABL.nat_succ_le_two_pow (m : ) :
      m + 1  2 ^ m
    Every natural number plus one is at most the corresponding power of two. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.nat_self_le_two_pow (m : ) : m  2 ^ m
    theorem FABL.nat_self_le_two_pow (m : ) :
      m  2 ^ m
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.two_pow_clog_le_two_mul (x : ) (hx : 1  x) :
      2 ^ Nat.clog 2 x  2 * x
    theorem FABL.two_pow_clog_le_two_mul (x : )
      (hx : 1  x) : 2 ^ Nat.clog 2 x  2 * x
    A binary ceiling power is at most twice its argument. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesDegree_le_subsqrt {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.learningConsequencesDegree t ε 
        FABL.learningConsequencesDegreeCoefficient C Q *
          ((Nat.clog 2 (n + 1)).sqrt + 1)
    theorem FABL.learningConsequencesDegree_le_subsqrt
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.learningConsequencesDegree t ε 
        FABL.learningConsequencesDegreeCoefficient
            C Q *
          ((Nat.clog 2 (n + 1)).sqrt + 1)
    The public degree cutoff is at most a fixed multiple of `sqrt(clog₂(n+1))+1`. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.sqrt_add_one_sq_le_two_mul_add_one (L : ) :
      (L.sqrt + 1) ^ 2  2 * (L + 1)
    theorem FABL.sqrt_add_one_sq_le_two_mul_add_one
      (L : ) : (L.sqrt + 1) ^ 2  2 * (L + 1)
    The square of `sqrt L + 1` is at most `2(L+1)`. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesCoordinateRatio_le_two_pow {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      2 * t / FABL.learningConsequencesThreshold t ε 
        (2 ^
            ((128 * (Q + 1) ^ 2 * (C + 1) ^ 3 +
                  4 * FABL.learningConsequencesDegreeCoefficient C Q +
                3) *
              ((Nat.clog 2 (n + 1)).sqrt + 1)))
    theorem FABL.learningConsequencesCoordinateRatio_le_two_pow
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      2 * t /
          FABL.learningConsequencesThreshold t
            ε 
        (2 ^
            ((128 * (Q + 1) ^ 2 *
                    (C + 1) ^ 3 +
                  4 *
                    FABL.learningConsequencesDegreeCoefficient
                      C Q +
                3) *
              ((Nat.clog 2 (n + 1)).sqrt +
                1)))
    Analytic ratio underlying the coordinate cap, bounded by a fixed binary exponential. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesCoordinateCap_add_one_le_two_pow {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.learningConsequencesCoordinateCap t ε + 1 
        2 ^
          (FABL.learningConsequencesCoordinateCoefficient C Q *
            ((Nat.clog 2 (n + 1)).sqrt + 1))
    theorem FABL.learningConsequencesCoordinateCap_add_one_le_two_pow
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.learningConsequencesCoordinateCap t
            ε +
          1 
        2 ^
          (FABL.learningConsequencesCoordinateCoefficient
              C Q *
            ((Nat.clog 2 (n + 1)).sqrt + 1))
    The coordinate cap plus one is bounded by a fixed exponential in the square-root log scale. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesFamilyBound_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.learningConsequencesFamilyBound t ε 
        2 ^ (2 * FABL.learningConsequencesFamilyExponent C Q) *
          (n + 1) ^ FABL.learningConsequencesFamilyExponent C Q
    theorem FABL.learningConsequencesFamilyBound_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.learningConsequencesFamilyBound t
          ε 
        2 ^
            (2 *
              FABL.learningConsequencesFamilyExponent
                C Q) *
          (n + 1) ^
            FABL.learningConsequencesFamilyExponent
              C Q
    Exercise 9.21(a)'s small Fourier family is genuinely polynomial in `n` throughout the
    fixed-accuracy subsquare-root-influence regime. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesFamilyConstant (C Q : ) : 
    def FABL.learningConsequencesFamilyConstant
      (C Q : ) : 
    Multiplicative constant in the fixed-power family bound. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesQueryExponent (C Q : ) : 
    def FABL.learningConsequencesQueryExponent
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesWorkExponent (C Q : ) : 
    def FABL.learningConsequencesWorkExponent
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesQueryConstant (C Q : ) : 
    def FABL.learningConsequencesQueryConstant
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesWorkConstant (C Q : ) : 
    def FABL.learningConsequencesWorkConstant
      (C Q : ) : 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesFamilyBound_add_one_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.learningConsequencesFamilyBound t ε + 1 
        (FABL.learningConsequencesFamilyConstant C Q + 1) *
          (n + 1) ^ FABL.learningConsequencesFamilyExponent C Q
    theorem FABL.learningConsequencesFamilyBound_add_one_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.learningConsequencesFamilyBound t
            ε +
          1 
        (FABL.learningConsequencesFamilyConstant
              C Q +
            1) *
          (n + 1) ^
            FABL.learningConsequencesFamilyExponent
              C Q
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.one_div_accuracy_pow_le {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) (r : ) :
      (1 / ε) ^ r  (Q + 1) ^ r
    theorem FABL.one_div_accuracy_pow_le {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q)
      (r : ) : (1 / ε) ^ r  (Q + 1) ^ r
    Fixed accuracy gives the reciprocal-power bound used by every scheduler. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.kmResourceExpression_le_fixed_power {n : }
      (leading dimensionPower M F E Q : ) (ε : ) ( : 0 < ε)
      (hM : M + 1  (F + 1) * (n + 1) ^ E) (hinv : (1 / ε) ^ 10  Q ^ 10) :
      leading * (n + 1) ^ dimensionPower * (M + 1) ^ 8 / ε ^ 10 
        (leading * (F + 1) ^ 8 * Q ^ 10) *
          (n + 1) ^ (8 * E + dimensionPower)
    theorem FABL.kmResourceExpression_le_fixed_power
      {n : }
      (leading dimensionPower M F E Q : )
      (ε : ) ( : 0 < ε)
      (hM : M + 1  (F + 1) * (n + 1) ^ E)
      (hinv : (1 / ε) ^ 10  Q ^ 10) :
      leading * (n + 1) ^ dimensionPower *
            (M + 1) ^ 8 /
          ε ^ 10 
        (leading * (F + 1) ^ 8 * Q ^ 10) *
          (n + 1) ^ (8 * E + dimensionPower)
    Generic arithmetic compression used by the two KM fixed-power bounds. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.boundedInfluenceQueryBudget_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      2 ^ 40 * (n + 1) ^ 2 *
            ((FABL.learningConsequencesFamilyBound t ε) + 1) ^ 8 /
          ε ^ 10 
        (FABL.learningConsequencesQueryConstant C Q *
            (n + 1) ^ FABL.learningConsequencesQueryExponent C Q)
    theorem FABL.boundedInfluenceQueryBudget_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      2 ^ 40 * (n + 1) ^ 2 *
            ((FABL.learningConsequencesFamilyBound
                    t ε) +
                1) ^
              8 /
          ε ^ 10 
        (FABL.learningConsequencesQueryConstant
              C Q *
            (n + 1) ^
              FABL.learningConsequencesQueryExponent
                C Q)
    Exercise 9.21(a): the public KM query expression is bounded by a fixed power.  Together with
    `boundedInfluenceQueryLearningProgram_queries_le`, this is a pathwise polynomial certificate. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.boundedInfluenceWorkBudget_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      2 ^ 42 * (n + 1) ^ 3 *
            ((FABL.learningConsequencesFamilyBound t ε) + 1) ^ 8 /
          ε ^ 10 
        (FABL.learningConsequencesWorkConstant C Q *
            (n + 1) ^ FABL.learningConsequencesWorkExponent C Q)
    theorem FABL.boundedInfluenceWorkBudget_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      2 ^ 42 * (n + 1) ^ 3 *
            ((FABL.learningConsequencesFamilyBound
                    t ε) +
                1) ^
              8 /
          ε ^ 10 
        (FABL.learningConsequencesWorkConstant
              C Q *
            (n + 1) ^
              FABL.learningConsequencesWorkExponent
                C Q)
    Exercise 9.21(a): the public KM charged-work expression is bounded by a fixed power. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.boundedFamilyCoefficientFailureBits_eq (M : ) (hM : 0 < M) :
      FABL.fourierEstimatorFailureBits
          (FABL.boundedFamilyCoefficientConfidence M hM) =
        Nat.clog 2 (40 * M)
    theorem FABL.boundedFamilyCoefficientFailureBits_eq
      (M : ) (hM : 0 < M) :
      FABL.fourierEstimatorFailureBits
          (FABL.boundedFamilyCoefficientConfidence
            M hM) =
        Nat.clog 2 (40 * M)
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.boundedFamilySampleCount_cast_le
      (ε : FABL.PositiveLearningParameter) (M : ) (hM : 0 < M) :
      (FABL.boundedFamilySampleCount ε M hM)  640 * M ^ 3 / ε ^ 2
    theorem FABL.boundedFamilySampleCount_cast_le
      (ε : FABL.PositiveLearningParameter)
      (M : ) (hM : 0 < M) :
      (FABL.boundedFamilySampleCount ε M
            hM) 
        640 * M ^ 3 / ε ^ 2
    The global second-stage scheduler is cubic in its public family bound. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesSecondStageSampleConstant (C Q : ) : 
    def FABL.learningConsequencesSecondStageSampleConstant
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesSecondStageSampleExponent (C Q : ) : 
    def FABL.learningConsequencesSecondStageSampleExponent
      (C Q : ) : 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.cubicSampleExpression_le_fixed_power (n M A E Q : ) (ε : )
      ( : 0 < ε) (hM : M  A * (n + 1) ^ E)
      (hinv : (1 / ε) ^ 2  Q ^ 2) :
      640 * M ^ 3 / ε ^ 2  (640 * A ^ 3 * Q ^ 2) * (n + 1) ^ (3 * E)
    theorem FABL.cubicSampleExpression_le_fixed_power
      (n M A E Q : ) (ε : ) ( : 0 < ε)
      (hM : M  A * (n + 1) ^ E)
      (hinv : (1 / ε) ^ 2  Q ^ 2) :
      640 * M ^ 3 / ε ^ 2 
        (640 * A ^ 3 * Q ^ 2) *
          (n + 1) ^ (3 * E)
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.boundedFamilySampleCount_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.boundedFamilySampleCount ε
          (FABL.learningConsequencesFamilyBound t ε)  
        FABL.learningConsequencesSecondStageSampleConstant C Q *
          (n + 1) ^ FABL.learningConsequencesSecondStageSampleExponent C Q
    theorem FABL.boundedFamilySampleCount_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.boundedFamilySampleCount ε
          (FABL.learningConsequencesFamilyBound
            t ε)
           
        FABL.learningConsequencesSecondStageSampleConstant
            C Q *
          (n + 1) ^
            FABL.learningConsequencesSecondStageSampleExponent
              C Q
    In the subsquare-root regime the dynamically scheduled second-stage row count is bounded by
    a fixed power of `n+1`. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesSingletonExponentCoefficient (C Q : ) : 
    def FABL.learningConsequencesSingletonExponentCoefficient
      (C Q : ) : 
    Exponent coefficient controlling the singleton-discovery scheduler. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.one_div_learningConsequencesThreshold_sq_le_expression {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      (1 / FABL.learningConsequencesThreshold t ε) ^ 2 
        ((8 * (C + 1) * (Q + 1)) ^ 4 *
              ((Nat.clog 2 (n + 1)).sqrt + 1) ^ 4 *
            9 ^
              (2 * FABL.learningConsequencesDegreeCoefficient C Q *
                ((Nat.clog 2 (n + 1)).sqrt + 1)))
    theorem FABL.one_div_learningConsequencesThreshold_sq_le_expression
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      (1 /
            FABL.learningConsequencesThreshold
              t ε) ^
          2 
        ((8 * (C + 1) * (Q + 1)) ^ 4 *
              ((Nat.clog 2 (n + 1)).sqrt +
                  1) ^
                4 *
            9 ^
              (2 *
                  FABL.learningConsequencesDegreeCoefficient
                    C Q *
                ((Nat.clog 2 (n + 1)).sqrt +
                  1)))
    First half of the singleton-threshold estimate, retaining an elementary finite expression. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.learningConsequencesSingletonExpression_le_two_pow (n C Q : ) :
      (8 * (C + 1) * (Q + 1)) ^ 4 * ((Nat.clog 2 (n + 1)).sqrt + 1) ^ 4 *
          9 ^
            (2 * FABL.learningConsequencesDegreeCoefficient C Q *
              ((Nat.clog 2 (n + 1)).sqrt + 1)) 
        2 ^
          (FABL.learningConsequencesSingletonExponentCoefficient C Q *
            ((Nat.clog 2 (n + 1)).sqrt + 1))
    theorem FABL.learningConsequencesSingletonExpression_le_two_pow
      (n C Q : ) :
      (8 * (C + 1) * (Q + 1)) ^ 4 *
            ((Nat.clog 2 (n + 1)).sqrt + 1) ^
              4 *
          9 ^
            (2 *
                FABL.learningConsequencesDegreeCoefficient
                  C Q *
              ((Nat.clog 2 (n + 1)).sqrt +
                1)) 
        2 ^
          (FABL.learningConsequencesSingletonExponentCoefficient
              C Q *
            ((Nat.clog 2 (n + 1)).sqrt + 1))
    The elementary singleton expression is bounded by the advertised binary exponential. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.one_div_learningConsequencesThreshold_sq_le_two_pow {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      (1 / FABL.learningConsequencesThreshold t ε) ^ 2 
        (2 ^
            (FABL.learningConsequencesSingletonExponentCoefficient C Q *
              ((Nat.clog 2 (n + 1)).sqrt + 1)))
    theorem FABL.one_div_learningConsequencesThreshold_sq_le_two_pow
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      (1 /
            FABL.learningConsequencesThreshold
              t ε) ^
          2 
        (2 ^
            (FABL.learningConsequencesSingletonExponentCoefficient
                C Q *
              ((Nat.clog 2 (n + 1)).sqrt +
                1)))
    The reciprocal square of the influential-coordinate threshold is exponentially bounded in
    `sqrt(clog₂(n+1))+1`, hence polynomially bounded in `n`. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.one_div_singletonInfluenceAccuracy_sq_le {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      (1 / (FABL.singletonInfluenceAccuracy t ε)) ^ 2 
        (16 *
            2 ^
              (FABL.learningConsequencesSingletonExponentCoefficient C Q *
                ((Nat.clog 2 (n + 1)).sqrt + 1)))
    theorem FABL.one_div_singletonInfluenceAccuracy_sq_le
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      (1 /
            (FABL.singletonInfluenceAccuracy
                t ε)) ^
          2 
        (16 *
            2 ^
              (FABL.learningConsequencesSingletonExponentCoefficient
                  C Q *
                ((Nat.clog 2 (n + 1)).sqrt +
                  1)))
    The capped singleton accuracy has polynomially bounded reciprocal square. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.singletonInfluenceFailureBits_eq (n : ) :
      FABL.fourierEstimatorFailureBits
          (FABL.singletonInfluenceConfidence n) =
        Nat.clog 2 (40 * (n + 1))
    theorem FABL.singletonInfluenceFailureBits_eq
      (n : ) :
      FABL.fourierEstimatorFailureBits
          (FABL.singletonInfluenceConfidence
            n) =
        Nat.clog 2 (40 * (n + 1))
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.singletonInfluenceSampleCount_cast_le_subsqrt {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      (FABL.singletonInfluenceSampleCount n t ε) 
        2560 * (n + 1) *
          (2 ^
              (FABL.learningConsequencesSingletonExponentCoefficient C Q *
                ((Nat.clog 2 (n + 1)).sqrt + 1)))
    theorem FABL.singletonInfluenceSampleCount_cast_le_subsqrt
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      (FABL.singletonInfluenceSampleCount n t
            ε) 
        2560 * (n + 1) *
          (2 ^
              (FABL.learningConsequencesSingletonExponentCoefficient
                  C Q *
                ((Nat.clog 2 (n + 1)).sqrt +
                  1)))
    Explicit polynomial row bound for the first-stage singleton estimates. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesSingletonSampleConstant (C Q : ) : 
    def FABL.learningConsequencesSingletonSampleConstant
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesSingletonSampleExponent (C Q : ) : 
    def FABL.learningConsequencesSingletonSampleExponent
      (C Q : ) : 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.two_pow_mul_sqrt_clog_add_one_le_fixed_power (n H : ) :
      2 ^ (H * ((Nat.clog 2 (n + 1)).sqrt + 1))  2 ^ (2 * H) * (n + 1) ^ H
    theorem FABL.two_pow_mul_sqrt_clog_add_one_le_fixed_power
      (n H : ) :
      2 ^
          (H *
            ((Nat.clog 2 (n + 1)).sqrt + 1)) 
        2 ^ (2 * H) * (n + 1) ^ H
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.singletonInfluenceSampleCount_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.singletonInfluenceSampleCount n t ε 
        FABL.learningConsequencesSingletonSampleConstant C Q *
          (n + 1) ^ FABL.learningConsequencesSingletonSampleExponent C Q
    theorem FABL.singletonInfluenceSampleCount_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.singletonInfluenceSampleCount n t
          ε 
        FABL.learningConsequencesSingletonSampleConstant
            C Q *
          (n + 1) ^
            FABL.learningConsequencesSingletonSampleExponent
              C Q
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesRandomExampleExponent (C Q : ) : 
    def FABL.learningConsequencesRandomExampleExponent
      (C Q : ) : 
    Fixed exponent for the complete two-stage random-example budget. 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesRandomExampleConstant (C Q : ) : 
    def FABL.learningConsequencesRandomExampleConstant
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesRandomExampleWorkExponent (C Q : ) : 
    def FABL.learningConsequencesRandomExampleWorkExponent
      (C Q : ) : 
  • defdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    def FABL.learningConsequencesRandomExampleWorkConstant (C Q : ) : 
    def FABL.learningConsequencesRandomExampleWorkConstant
      (C Q : ) : 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.monotoneBoundedInfluenceRandomExampleBudget_le_fixed_power
      {n C Q : } {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.monotoneBoundedInfluenceRandomExampleBudget n t ε 
        FABL.learningConsequencesRandomExampleConstant C Q *
          (n + 1) ^ FABL.learningConsequencesRandomExampleExponent C Q
    theorem FABL.monotoneBoundedInfluenceRandomExampleBudget_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.monotoneBoundedInfluenceRandomExampleBudget
          n t ε 
        FABL.learningConsequencesRandomExampleConstant
            C Q *
          (n + 1) ^
            FABL.learningConsequencesRandomExampleExponent
              C Q
    Exercise 9.21(b): the public two-stage random-example budget is bounded by one fixed power
    of the ambient dimension. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.monotoneBoundedInfluenceWorkBudget_le_fixed_power {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q) :
      FABL.monotoneBoundedInfluenceWorkBudget n t ε 
        FABL.learningConsequencesRandomExampleWorkConstant C Q *
          (n + 1) ^ FABL.learningConsequencesRandomExampleWorkExponent C Q
    theorem FABL.monotoneBoundedInfluenceWorkBudget_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q) :
      FABL.monotoneBoundedInfluenceWorkBudget
          n t ε 
        FABL.learningConsequencesRandomExampleWorkConstant
            C Q *
          (n + 1) ^
            FABL.learningConsequencesRandomExampleWorkExponent
              C Q
    Exercise 9.21(b): the charged local-work budget is likewise bounded by a fixed power. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_cost_le_fixed_power
      {n C Q : } {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime : FABL.LearningConsequencesSubsqrtRegime n t ε C Q)
      (target : FABL.BooleanFunction n)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.monotoneBoundedInfluenceRandomExampleProgram n t
                ε)).support) :
      outcome.2.randomExamples 
          FABL.learningConsequencesRandomExampleConstant C Q *
            (n + 1) ^ FABL.learningConsequencesRandomExampleExponent C Q 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.learningConsequencesRandomExampleWorkConstant C Q *
              (n + 1) ^
                FABL.learningConsequencesRandomExampleWorkExponent C Q
    theorem FABL.monotoneBoundedInfluenceRandomExampleProgram_cost_le_fixed_power
      {n C Q : }
      {t : FABL.PositiveInfluenceBound}
      {ε : FABL.PositiveLearningParameter}
      (hregime :
        FABL.LearningConsequencesSubsqrtRegime
          n t ε C Q)
      (target : FABL.BooleanFunction n)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.monotoneBoundedInfluenceRandomExampleProgram
                n t ε)).support) :
      outcome.2.randomExamples 
          FABL.learningConsequencesRandomExampleConstant
              C Q *
            (n + 1) ^
              FABL.learningConsequencesRandomExampleExponent
                C Q 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.learningConsequencesRandomExampleWorkConstant
                C Q *
              (n + 1) ^
                FABL.learningConsequencesRandomExampleWorkExponent
                  C Q
    Exercise 9.21(b)'s complete pathwise fixed-power certificate. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.decisionTreeSizeInfluenceBound_subsqrtRegime (n d Q : )
      (ε : FABL.PositiveLearningParameter) (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε) :
      FABL.LearningConsequencesSubsqrtRegime n
        (FABL.decisionTreeSizeInfluenceBound n d) ε (d + 1) Q
    theorem FABL.decisionTreeSizeInfluenceBound_subsqrtRegime
      (n d Q : )
      (ε : FABL.PositiveLearningParameter)
      (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε) :
      FABL.LearningConsequencesSubsqrtRegime n
        (FABL.decisionTreeSizeInfluenceBound n
          d)
        ε (d + 1) Q
    The decision-tree-size influence envelope belongs to the subsquare-root regime with the
    fixed class exponent `C=d+1`. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.decisionTreeSizeFamilyBound_le_fixed_power (n d Q : )
      (ε : FABL.PositiveLearningParameter) (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε) :
      FABL.learningConsequencesFamilyBound
          (FABL.decisionTreeSizeInfluenceBound n d) ε 
        FABL.learningConsequencesFamilyConstant (d + 1) Q *
          (n + 1) ^ FABL.learningConsequencesFamilyExponent (d + 1) Q
    theorem FABL.decisionTreeSizeFamilyBound_le_fixed_power
      (n d Q : )
      (ε : FABL.PositiveLearningParameter)
      (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε) :
      FABL.learningConsequencesFamilyBound
          (FABL.decisionTreeSizeInfluenceBound
            n d)
          ε 
        FABL.learningConsequencesFamilyConstant
            (d + 1) Q *
          (n + 1) ^
            FABL.learningConsequencesFamilyExponent
              (d + 1) Q
    Exercise 9.21(c): for fixed leaf exponent `d` and fixed accuracy, the public family bound is
    an explicit fixed power of the dimension. 
  • theoremdefined in FABL/Chapter09/LearningConsequencesResources.lean
    complete
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_cost_le_fixed_power
      {n : } (target : FABL.BooleanFunction n) (d Q : )
      (ε : FABL.PositiveLearningParameter) (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε)
      (outcome : FABL.SparseFourierHypothesis n × FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost target
              (FABL.monotoneDecisionTreeSizeRandomExampleProgram n d
                ε)).support) :
      outcome.2.randomExamples 
          FABL.learningConsequencesRandomExampleConstant (d + 1) Q *
            (n + 1) ^
              FABL.learningConsequencesRandomExampleExponent (d + 1) Q 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.learningConsequencesRandomExampleWorkConstant (d + 1) Q *
              (n + 1) ^
                FABL.learningConsequencesRandomExampleWorkExponent (d + 1) Q
    theorem FABL.monotoneDecisionTreeSizeRandomExampleProgram_cost_le_fixed_power
      {n : }
      (target : FABL.BooleanFunction n)
      (d Q : )
      (ε : FABL.PositiveLearningParameter)
      (hn : 1  n)
      (hprecision : 1 / (Q + 1)  ε)
      (outcome :
        FABL.SparseFourierHypothesis n ×
          FABL.LearningCost)
      (houtcome :
        outcome 
          (FABL.LearningProgram.runWithCost
              target
              (FABL.monotoneDecisionTreeSizeRandomExampleProgram
                n d ε)).support) :
      outcome.2.randomExamples 
          FABL.learningConsequencesRandomExampleConstant
              (d + 1) Q *
            (n + 1) ^
              FABL.learningConsequencesRandomExampleExponent
                (d + 1) Q 
        outcome.2.queries = 0 
          outcome.2.work 
            FABL.learningConsequencesRandomExampleWorkConstant
                (d + 1) Q *
              (n + 1) ^
                FABL.learningConsequencesRandomExampleWorkExponent
                  (d + 1) Q
    Exercise 9.21(c)'s final pathwise fixed-power random-example/work certificate. 
Lemma9.7.23
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.22. If q\ge2, 0\le\lambda\le1, and \rho^\lambda\le1/\sqrt{q-1}, prove the interpolation estimate \|T_\rho f\|_q \le\|T_\rho f\|_2^{1-\lambda}\|f\|_2^\lambda.

Lean code for Lemma9.7.235 theorems
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.rpow_sq_eq_sq_rpow (x t : ) (hx : 0  x) :
      x.rpow t ^ 2 = (x ^ 2).rpow t
    theorem FABL.rpow_sq_eq_sq_rpow (x t : )
      (hx : 0  x) :
      x.rpow t ^ 2 = (x ^ 2).rpow t
    A nonnegative real power commutes with squaring. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.noiseRpow_pow_sq (ρ lam : ) ( : 0  ρ) (k : ) :
      (ρ.rpow (1 - lam) ^ k) ^ 2 = ((ρ ^ k) ^ 2).rpow (1 - lam)
    theorem FABL.noiseRpow_pow_sq (ρ lam : )
      ( : 0  ρ) (k : ) :
      (ρ.rpow (1 - lam) ^ k) ^ 2 =
        ((ρ ^ k) ^ 2).rpow (1 - lam)
    The coefficient identity used when interpolating the `L²` noise multiplier. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.weighted_geometric_sum_le.{u_1} {ι : Type u_1} (s : Finset ι)
      (w a : ι  ) (hw :  (i : ι), 0  w i) (ha :  (i : ι), 0  a i)
      (lam : ) (hlam0 : 0 < lam) (hlam1 : lam < 1) :
       i  s, w i * (a i).rpow (1 - lam) 
        (∑ i  s, w i).rpow lam * (∑ i  s, w i * a i).rpow (1 - lam)
    theorem FABL.weighted_geometric_sum_le.{u_1}
      {ι : Type u_1} (s : Finset ι)
      (w a : ι  ) (hw :  (i : ι), 0  w i)
      (ha :  (i : ι), 0  a i) (lam : )
      (hlam0 : 0 < lam) (hlam1 : lam < 1) :
       i  s, w i * (a i).rpow (1 - lam) 
        (∑ i  s, w i).rpow lam *
          (∑ i  s, w i * a i).rpow (1 - lam)
    Finite weighted Hölder in the geometric-interpolation form used in Exercise 9.22. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.noiseOperator_two_interpolation {n : } (ρ lam : )
      ( : ρ  Set.Icc 0 1) (hlam : lam  Set.Icc 0 1)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 2 ((FABL.noiseOperator (ρ.rpow (1 - lam))) f) 
        (FABL.uniformLpNorm 2 ((FABL.noiseOperator ρ) f)).rpow (1 - lam) *
          (FABL.uniformLpNorm 2 f).rpow lam
    theorem FABL.noiseOperator_two_interpolation
      {n : } (ρ lam : )
      ( : ρ  Set.Icc 0 1)
      (hlam : lam  Set.Icc 0 1)
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 2
          ((FABL.noiseOperator
              (ρ.rpow (1 - lam)))
            f) 
        (FABL.uniformLpNorm 2
                ((FABL.noiseOperator ρ)
                  f)).rpow
            (1 - lam) *
          (FABL.uniformLpNorm 2 f).rpow lam
    Fourier log-convexity of the `L²` norm along the noise semigroup. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.noiseOperator_q_interpolation {n : } (q ρ lam : ) (hq : 2  q)
      ( : ρ  Set.Icc 0 1) (hlam : lam  Set.Icc 0 1)
      (hparameter : ρ.rpow lam  1 / (q - 1)) (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q ((FABL.noiseOperator ρ) f) 
        (FABL.uniformLpNorm 2 ((FABL.noiseOperator ρ) f)).rpow (1 - lam) *
          (FABL.uniformLpNorm 2 f).rpow lam
    theorem FABL.noiseOperator_q_interpolation {n : }
      (q ρ lam : ) (hq : 2  q)
      ( : ρ  Set.Icc 0 1)
      (hlam : lam  Set.Icc 0 1)
      (hparameter : ρ.rpow lam  1 / (q - 1))
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm q
          ((FABL.noiseOperator ρ) f) 
        (FABL.uniformLpNorm 2
                ((FABL.noiseOperator ρ)
                  f)).rpow
            (1 - lam) *
          (FABL.uniformLpNorm 2 f).rpow lam
    Exercise 9.22: interpolation between `T_ρ f` and `f`, followed by the sharp
    `(2,q)` theorem. 
Lemma9.7.24
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.23. If f takes values in [-1,1], 0\le\epsilon\le1, and q\ge2+2\epsilon, prove \|T_{1-\epsilon}f\|_q^q \le\|T_{1/\sqrt{1+2\epsilon}}f\|_q^q \le(\|f\|_2^2)^{1+\epsilon}.

Lean code for Lemma9.7.243 theorems
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.one_sub_le_inv_sqrt_one_add_two_mul (ε : )
      ( : ε  Set.Icc 0 1) : 1 - ε  1 / (1 + 2 * ε)
    theorem FABL.one_sub_le_inv_sqrt_one_add_two_mul
      (ε : ) ( : ε  Set.Icc 0 1) :
      1 - ε  1 / (1 + 2 * ε)
    Numerical comparison used in Exercise 9.23. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.abs_noiseOperator_le_one {n : } (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : FABL.SignCube n  ) (hf :  (x : FABL.SignCube n), |f x|  1)
      (x : FABL.SignCube n) : |(FABL.noiseOperator ρ) f x|  1
    theorem FABL.abs_noiseOperator_le_one {n : }
      (ρ : ) ( : ρ  Set.Icc 0 1)
      (f : FABL.SignCube n  )
      (hf :
         (x : FABL.SignCube n), |f x|  1)
      (x : FABL.SignCube n) :
      |(FABL.noiseOperator ρ) f x|  1
    Noise preserves a pointwise `[-1,1]` bound. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.bounded_noise_qMoment_le {n : } (f : FABL.SignCube n  )
      (hf :  (x : FABL.SignCube n), |f x|  1) (ε q : )
      ( : ε  Set.Icc 0 1) (hq : 2 + 2 * ε  q) :
      FABL.uniformLpNorm q ((FABL.noiseOperator (1 - ε)) f) ^ q 
          FABL.uniformLpNorm q ((FABL.noiseOperator (1 / (1 + 2 * ε))) f) ^
            q 
        FABL.uniformLpNorm q ((FABL.noiseOperator (1 / (1 + 2 * ε))) f) ^
            q 
          (FABL.uniformLpNorm 2 f ^ 2) ^ (1 + ε)
    theorem FABL.bounded_noise_qMoment_le {n : }
      (f : FABL.SignCube n  )
      (hf :
         (x : FABL.SignCube n), |f x|  1)
      (ε q : ) ( : ε  Set.Icc 0 1)
      (hq : 2 + 2 * ε  q) :
      FABL.uniformLpNorm q
              ((FABL.noiseOperator (1 - ε))
                f) ^
            q 
          FABL.uniformLpNorm q
              ((FABL.noiseOperator
                  (1 / (1 + 2 * ε)))
                f) ^
            q 
        FABL.uniformLpNorm q
              ((FABL.noiseOperator
                  (1 / (1 + 2 * ε)))
                f) ^
            q 
          (FABL.uniformLpNorm 2 f ^ 2) ^
            (1 + ε)
    Exercise 9.23: the two-step `q`th-moment estimate for bounded functions. 
Lemma9.7.25
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 5.4.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.24. Fix 0<\rho<1. If \Lambda_\rho(\mu) is the upper-right quadrant probability of two standard Gaussians with correlation \rho and equal threshold chosen to give one-dimensional tail \mu, prove \Lambda_\rho(\mu) =\widetilde\Theta \left(\mu^{2/(1+\rho)}\right) \qquad(\mu\to0). Establish the integration identity \int_t^\infty\!\int_t^\infty (z_2-\rho z_1)(z_1-\rho t)\phi_\rho(z_1,z_2) \,dz_1dz_2 =\frac{(1-\rho^2)^{3/2}}{2\pi} e^{-t^2/(1+\rho)}, \tag{9.17} and prove that \Pr[z_1>(t-1)/\rho]=\widetilde\Theta(\mu^{1/\rho^2}) is asymptotically smaller than \mu^{2/(1+\rho)}.

Lean code for Lemma9.7.2557 declarations
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.positiveCorrelation (ρ : (Set.Ioo 0 1)) : (Set.Ioo (-1) 1)
    def FABL.positiveCorrelation
      (ρ : (Set.Ioo 0 1)) : (Set.Ioo (-1) 1)
    Regard a positive correlation as an element of the full open correlation interval. 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.correlationResidualVariance (ρ : (Set.Ioo 0 1)) : NNReal
    def FABL.correlationResidualVariance
      (ρ : (Set.Ioo 0 1)) : NNReal
    Conditional variance `1-ρ²` of the second coordinate given the first. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlationResidualVariance_pos (ρ : (Set.Ioo 0 1)) :
      0 < (FABL.correlationResidualVariance ρ)
    theorem FABL.correlationResidualVariance_pos
      (ρ : (Set.Ioo 0 1)) :
      0 <
        (FABL.correlationResidualVariance ρ)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlationResidualVariance_ne_zero (ρ : (Set.Ioo 0 1)) :
      FABL.correlationResidualVariance ρ  0
    theorem FABL.correlationResidualVariance_ne_zero
      (ρ : (Set.Ioo 0 1)) :
      FABL.correlationResidualVariance ρ  0
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.correlatedGaussianDensity (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) : 
    def FABL.correlatedGaussianDensity
      (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) : 
    The bivariate standard-Gaussian density with correlation `ρ`, factored into the first
    marginal and the conditional second-coordinate density. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlatedGaussianDensity_nonneg (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      0  FABL.correlatedGaussianDensity ρ z₁ z₂
    theorem FABL.correlatedGaussianDensity_nonneg
      (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      0 
        FABL.correlatedGaussianDensity ρ z₁ z₂
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlatedGaussianDensity_pos (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      0 < FABL.correlatedGaussianDensity ρ z₁ z₂
    theorem FABL.correlatedGaussianDensity_pos
      (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      0 <
        FABL.correlatedGaussianDensity ρ z₁ z₂
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.integral_Ioi_centered_mul_gaussianPDFReal (μ t : ) {v : NNReal}
      (hv : 0 < v) :
       (x : ) in Set.Ioi t,
          (x - μ) * ProbabilityTheory.gaussianPDFReal μ v x =
        v * ProbabilityTheory.gaussianPDFReal μ v t
    theorem FABL.integral_Ioi_centered_mul_gaussianPDFReal
      (μ t : ) {v : NNReal} (hv : 0 < v) :
       (x : ) in Set.Ioi t,
          (x - μ) *
            ProbabilityTheory.gaussianPDFReal
              μ v x =
        v *
          ProbabilityTheory.gaussianPDFReal μ
            v t
    First centered moment of a positive-variance Gaussian upper tail. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlatedGaussianDensity_formula (ρ : (Set.Ioo 0 1))
      (z₁ z₂ : ) :
      FABL.correlatedGaussianDensity ρ z₁ z₂ =
        ((2 * Real.pi))⁻¹ * ((2 * Real.pi * (1 - ρ ^ 2)))⁻¹ *
          Real.exp
            (-(z₁ ^ 2 - 2 * ρ * z₁ * z₂ + z₂ ^ 2) / (2 * (1 - ρ ^ 2)))
    theorem FABL.correlatedGaussianDensity_formula
      (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      FABL.correlatedGaussianDensity ρ z₁ z₂ =
        ((2 * Real.pi))⁻¹ *
            ((2 * Real.pi *
                  (1 - ρ ^ 2)))⁻¹ *
          Real.exp
            (-(z₁ ^ 2 - 2 * ρ * z₁ * z₂ +
                  z₂ ^ 2) /
              (2 * (1 - ρ ^ 2)))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.correlatedGaussianDensity_comm (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      FABL.correlatedGaussianDensity ρ z₁ z₂ =
        FABL.correlatedGaussianDensity ρ z₂ z₁
    theorem FABL.correlatedGaussianDensity_comm
      (ρ : (Set.Ioo 0 1)) (z₁ z₂ : ) :
      FABL.correlatedGaussianDensity ρ z₁ z₂ =
        FABL.correlatedGaussianDensity ρ z₂ z₁
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.integral_Ioi_second_centered_mul_correlatedGaussianDensity
      (ρ : (Set.Ioo 0 1)) (z₁ t : ) :
       (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) * FABL.correlatedGaussianDensity ρ z₁ z₂ =
        (1 - ρ ^ 2) * FABL.correlatedGaussianDensity ρ z₁ t
    theorem FABL.integral_Ioi_second_centered_mul_correlatedGaussianDensity
      (ρ : (Set.Ioo 0 1)) (z₁ t : ) :
       (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) *
            FABL.correlatedGaussianDensity ρ
              z₁ z₂ =
        (1 - ρ ^ 2) *
          FABL.correlatedGaussianDensity ρ z₁
            t
    Integrating the conditional centered factor in the second coordinate removes one factor of
    the residual variance. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.integral_Ioi_first_centered_mul_correlatedGaussianDensity
      (ρ : (Set.Ioo 0 1)) (z₂ t : ) :
       (z₁ : ) in Set.Ioi t,
          (z₁ - ρ * z₂) * FABL.correlatedGaussianDensity ρ z₁ z₂ =
        (1 - ρ ^ 2) * FABL.correlatedGaussianDensity ρ t z₂
    theorem FABL.integral_Ioi_first_centered_mul_correlatedGaussianDensity
      (ρ : (Set.Ioo 0 1)) (z₂ t : ) :
       (z₁ : ) in Set.Ioi t,
          (z₁ - ρ * z₂) *
            FABL.correlatedGaussianDensity ρ
              z₁ z₂ =
        (1 - ρ ^ 2) *
          FABL.correlatedGaussianDensity ρ t
            z₂
    The symmetric first-coordinate version of the preceding integral. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussian_weighted_quadrant_integral_eq_variance_sq_mul_density
      (ρ : (Set.Ioo 0 1)) (t : ) :
       (z₁ : ) (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) * (z₁ - ρ * t) *
            FABL.correlatedGaussianDensity ρ z₁ z₂ =
        (1 - ρ ^ 2) ^ 2 * FABL.correlatedGaussianDensity ρ t t
    theorem FABL.gaussian_weighted_quadrant_integral_eq_variance_sq_mul_density
      (ρ : (Set.Ioo 0 1)) (t : ) :
       (z₁ : ) (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) * (z₁ - ρ * t) *
            FABL.correlatedGaussianDensity ρ
              z₁ z₂ =
        (1 - ρ ^ 2) ^ 2 *
          FABL.correlatedGaussianDensity ρ t t
    The weighted double tail integral in equation (9.17), before evaluating the density at the
    corner. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.variance_sq_mul_correlatedGaussianDensity_diagonal
      (ρ : (Set.Ioo 0 1)) (t : ) :
      (1 - ρ ^ 2) ^ 2 * FABL.correlatedGaussianDensity ρ t t =
        (1 - ρ ^ 2) ^ 3 / (2 * Real.pi) * Real.exp (-t ^ 2 / (1 + ρ))
    theorem FABL.variance_sq_mul_correlatedGaussianDensity_diagonal
      (ρ : (Set.Ioo 0 1)) (t : ) :
      (1 - ρ ^ 2) ^ 2 *
          FABL.correlatedGaussianDensity ρ t
            t =
        (1 - ρ ^ 2) ^ 3 / (2 * Real.pi) *
          Real.exp (-t ^ 2 / (1 + ρ))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussian_weighted_quadrant_integral (ρ : (Set.Ioo 0 1)) (t : ) :
       (z₁ : ) (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) * (z₁ - ρ * t) *
            FABL.correlatedGaussianDensity ρ z₁ z₂ =
        (1 - ρ ^ 2) ^ 3 / (2 * Real.pi) * Real.exp (-t ^ 2 / (1 + ρ))
    theorem FABL.gaussian_weighted_quadrant_integral
      (ρ : (Set.Ioo 0 1)) (t : ) :
       (z₁ : ) (z₂ : ) in Set.Ioi t,
          (z₂ - ρ * z₁) * (z₁ - ρ * t) *
            FABL.correlatedGaussianDensity ρ
              z₁ z₂ =
        (1 - ρ ^ 2) ^ 3 / (2 * Real.pi) *
          Real.exp (-t ^ 2 / (1 + ρ))
    Exercise 9.24(b), equation (9.17). 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianQuadrantAtThreshold (ρ : (Set.Ioo 0 1)) (t : ) : 
    def FABL.gaussianQuadrantAtThreshold
      (ρ : (Set.Ioo 0 1)) (t : ) : 
    Common-threshold bivariate Gaussian upper-tail probability. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_eq_measure (ρ : (Set.Ioo 0 1))
      (t : ) :
      FABL.gaussianQuadrantAtThreshold ρ t =
        (↑(FABL.correlatedGaussianMeasure ρ)).real
          (FABL.gaussianUpperRightQuadrant t)
    theorem FABL.gaussianQuadrantAtThreshold_eq_measure
      (ρ : (Set.Ioo 0 1)) (t : ) :
      FABL.gaussianQuadrantAtThreshold ρ t =
        (↑(FABL.correlatedGaussianMeasure
                ρ)).real
          (FABL.gaussianUpperRightQuadrant t)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_le_tail_rpow (ρ : (Set.Ioo 0 1))
      (t : ) :
      FABL.gaussianQuadrantAtThreshold ρ t 
        FABL.standardGaussianUpperTail t ^ (2 / (1 + ρ))
    theorem FABL.gaussianQuadrantAtThreshold_le_tail_rpow
      (ρ : (Set.Ioo 0 1)) (t : ) :
      FABL.gaussianQuadrantAtThreshold ρ t 
        FABL.standardGaussianUpperTail t ^
          (2 / (1 + ρ))
    The Gaussian limit of Small-Set Expansion gives the sharp power upper bound. 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianConditionalSlope (ρ : (Set.Ioo 0 1)) : 
    def FABL.gaussianConditionalSlope
      (ρ : (Set.Ioo 0 1)) : 
    Conditional threshold slope `(1-ρ)/sqrt(1-ρ²)`. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianConditionalSlope_pos (ρ : (Set.Ioo 0 1)) :
      0 < FABL.gaussianConditionalSlope ρ
    theorem FABL.gaussianConditionalSlope_pos
      (ρ : (Set.Ioo 0 1)) :
      0 < FABL.gaussianConditionalSlope ρ
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.sqrt_residual_mul_gaussianConditionalSlope (ρ : (Set.Ioo 0 1)) :
      (1 - ρ ^ 2) * FABL.gaussianConditionalSlope ρ = 1 - ρ
    theorem FABL.sqrt_residual_mul_gaussianConditionalSlope
      (ρ : (Set.Ioo 0 1)) :
      (1 - ρ ^ 2) *
          FABL.gaussianConditionalSlope ρ =
        1 - ρ
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_ge_rectangle (ρ : (Set.Ioo 0 1))
      (t : ) :
      (ProbabilityTheory.gaussianReal 0 1).real (Set.Ioo t (t + 1 / t)) *
          FABL.standardGaussianUpperTail
            (FABL.gaussianConditionalSlope ρ * t) 
        FABL.gaussianQuadrantAtThreshold ρ t
    theorem FABL.gaussianQuadrantAtThreshold_ge_rectangle
      (ρ : (Set.Ioo 0 1)) (t : ) :
      (ProbabilityTheory.gaussianReal 0
                1).real
            (Set.Ioo t (t + 1 / t)) *
          FABL.standardGaussianUpperTail
            (FABL.gaussianConditionalSlope ρ *
              t) 
        FABL.gaussianQuadrantAtThreshold ρ t
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.standardGaussian_measureReal_Ioo_eq_integral (a b : ) :
      (ProbabilityTheory.gaussianReal 0 1).real (Set.Ioo a b) =
         (x : ) in Set.Ioo a b, ProbabilityTheory.gaussianPDFReal 0 1 x
    theorem FABL.standardGaussian_measureReal_Ioo_eq_integral
      (a b : ) :
      (ProbabilityTheory.gaussianReal 0
              1).real
          (Set.Ioo a b) =
         (x : ) in Set.Ioo a b,
          ProbabilityTheory.gaussianPDFReal 0
            1 x
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.standardGaussianDensity_antitone_of_nonneg {x y : } (hx : 0  x)
      (hxy : x  y) :
      ProbabilityTheory.gaussianPDFReal 0 1 y 
        ProbabilityTheory.gaussianPDFReal 0 1 x
    theorem FABL.standardGaussianDensity_antitone_of_nonneg
      {x y : } (hx : 0  x) (hxy : x  y) :
      ProbabilityTheory.gaussianPDFReal 0 1
          y 
        ProbabilityTheory.gaussianPDFReal 0 1
          x
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.density_endpoint_div_le_standardGaussian_interval {t : }
      (ht : 0 < t) :
      ProbabilityTheory.gaussianPDFReal 0 1 (t + 1 / t) / t 
        (ProbabilityTheory.gaussianReal 0 1).real (Set.Ioo t (t + 1 / t))
    theorem FABL.density_endpoint_div_le_standardGaussian_interval
      {t : } (ht : 0 < t) :
      ProbabilityTheory.gaussianPDFReal 0 1
            (t + 1 / t) /
          t 
        (ProbabilityTheory.gaussianReal 0
              1).real
          (Set.Ioo t (t + 1 / t))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.exp_neg_three_halves_mul_density_le_shifted_density {t : }
      (ht : 1  t) :
      Real.exp (-3 / 2) * ProbabilityTheory.gaussianPDFReal 0 1 t 
        ProbabilityTheory.gaussianPDFReal 0 1 (t + 1 / t)
    theorem FABL.exp_neg_three_halves_mul_density_le_shifted_density
      {t : } (ht : 1  t) :
      Real.exp (-3 / 2) *
          ProbabilityTheory.gaussianPDFReal 0
            1 t 
        ProbabilityTheory.gaussianPDFReal 0 1
          (t + 1 / t)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.exp_neg_three_halves_mul_density_div_le_standardGaussian_interval
      {t : } (ht : 1  t) :
      Real.exp (-3 / 2) * ProbabilityTheory.gaussianPDFReal 0 1 t / t 
        (ProbabilityTheory.gaussianReal 0 1).real (Set.Ioo t (t + 1 / t))
    theorem FABL.exp_neg_three_halves_mul_density_div_le_standardGaussian_interval
      {t : } (ht : 1  t) :
      Real.exp (-3 / 2) *
            ProbabilityTheory.gaussianPDFReal
              0 1 t /
          t 
        (ProbabilityTheory.gaussianReal 0
              1).real
          (Set.Ioo t (t + 1 / t))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianConditionalSlope_sq (ρ : (Set.Ioo 0 1)) :
      FABL.gaussianConditionalSlope ρ ^ 2 = (1 - ρ) / (1 + ρ)
    theorem FABL.gaussianConditionalSlope_sq
      (ρ : (Set.Ioo 0 1)) :
      FABL.gaussianConditionalSlope ρ ^ 2 =
        (1 - ρ) / (1 + ρ)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.one_add_gaussianConditionalSlope_sq (ρ : (Set.Ioo 0 1)) :
      1 + FABL.gaussianConditionalSlope ρ ^ 2 = 2 / (1 + ρ)
    theorem FABL.one_add_gaussianConditionalSlope_sq
      (ρ : (Set.Ioo 0 1)) :
      1 +
          FABL.gaussianConditionalSlope ρ ^
            2 =
        2 / (1 + ρ)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_lower_mills (ρ : (Set.Ioo 0 1))
      {t : } (ht : 1  t) :
      Real.exp (-3 / 2) * ProbabilityTheory.gaussianPDFReal 0 1 t / t *
          (FABL.gaussianConditionalSlope ρ * t /
              (1 + (FABL.gaussianConditionalSlope ρ * t) ^ 2) *
            ProbabilityTheory.gaussianPDFReal 0 1
              (FABL.gaussianConditionalSlope ρ * t)) 
        FABL.gaussianQuadrantAtThreshold ρ t
    theorem FABL.gaussianQuadrantAtThreshold_lower_mills
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 1  t) :
      Real.exp (-3 / 2) *
              ProbabilityTheory.gaussianPDFReal
                0 1 t /
            t *
          (FABL.gaussianConditionalSlope ρ *
                t /
              (1 +
                (FABL.gaussianConditionalSlope
                      ρ *
                    t) ^
                  2) *
            ProbabilityTheory.gaussianPDFReal
              0 1
              (FABL.gaussianConditionalSlope
                  ρ *
                t)) 
        FABL.gaussianQuadrantAtThreshold ρ t
    A fully explicit lower bound obtained from the source rectangle and both elementary Mills
    bounds. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.standardGaussianDensity_mul_slope_density (ρ : (Set.Ioo 0 1))
      (t : ) :
      ProbabilityTheory.gaussianPDFReal 0 1 t *
          ProbabilityTheory.gaussianPDFReal 0 1
            (FABL.gaussianConditionalSlope ρ * t) =
        (2 * Real.pi)⁻¹ * Real.exp (-t ^ 2 / (1 + ρ))
    theorem FABL.standardGaussianDensity_mul_slope_density
      (ρ : (Set.Ioo 0 1)) (t : ) :
      ProbabilityTheory.gaussianPDFReal 0 1
            t *
          ProbabilityTheory.gaussianPDFReal 0
            1
            (FABL.gaussianConditionalSlope ρ *
              t) =
        (2 * Real.pi)⁻¹ *
          Real.exp (-t ^ 2 / (1 + ρ))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianConditionalSlope_div_large_denominator_le
      (ρ : (Set.Ioo 0 1)) {t : } (ht : 1  t) :
      FABL.gaussianConditionalSlope ρ /
          ((1 + FABL.gaussianConditionalSlope ρ ^ 2) * t ^ 2) 
        FABL.gaussianConditionalSlope ρ /
          (1 + FABL.gaussianConditionalSlope ρ ^ 2 * t ^ 2)
    theorem FABL.gaussianConditionalSlope_div_large_denominator_le
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 1  t) :
      FABL.gaussianConditionalSlope ρ /
          ((1 +
              FABL.gaussianConditionalSlope
                  ρ ^
                2) *
            t ^ 2) 
        FABL.gaussianConditionalSlope ρ /
          (1 +
            FABL.gaussianConditionalSlope ρ ^
                2 *
              t ^ 2)
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianQuadrantLowerConstant (ρ : (Set.Ioo 0 1)) : 
    def FABL.gaussianQuadrantLowerConstant
      (ρ : (Set.Ioo 0 1)) : 
    Positive constant in the explicit lower polylogarithmic-factor bound. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantLowerConstant_pos (ρ : (Set.Ioo 0 1)) :
      0 < FABL.gaussianQuadrantLowerConstant ρ
    theorem FABL.gaussianQuadrantLowerConstant_pos
      (ρ : (Set.Ioo 0 1)) :
      0 < FABL.gaussianQuadrantLowerConstant ρ
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_lower_exp_div_sq (ρ : (Set.Ioo 0 1))
      {t : } (ht : 1  t) :
      FABL.gaussianQuadrantLowerConstant ρ * Real.exp (-t ^ 2 / (1 + ρ)) /
          t ^ 2 
        FABL.gaussianQuadrantAtThreshold ρ t
    theorem FABL.gaussianQuadrantAtThreshold_lower_exp_div_sq
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 1  t) :
      FABL.gaussianQuadrantLowerConstant ρ *
            Real.exp (-t ^ 2 / (1 + ρ)) /
          t ^ 2 
        FABL.gaussianQuadrantAtThreshold ρ t
    Threshold-domain lower bound.  The `t⁻²` loss becomes a power of
    `log (1/μ)` after substituting the Gaussian upper quantile. 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.HasSoftPowerAtZero (F : (Set.Ioo 0 1)  ) (a : ) : Prop
    def FABL.HasSoftPowerAtZero
      (F : (Set.Ioo 0 1)  ) (a : ) : Prop
    A positive function has soft power-law exponent `a` at zero when its logarithm divided by the
    logarithm of the small parameter tends to `a`.  This is the precise meaning of the book's
    `\widetilde Θ(μ^a)` notation. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_standardGaussianUpperTail_div_sq :
      Filter.Tendsto
        (fun t => Real.log (FABL.standardGaussianUpperTail t) / t ^ 2)
        Filter.atTop (nhds (-1 / 2))
    theorem FABL.tendsto_log_standardGaussianUpperTail_div_sq :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.standardGaussianUpperTail
                t) /
            t ^ 2)
        Filter.atTop (nhds (-1 / 2))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_div_sq_atTop :
      Filter.Tendsto (fun t => Real.log t / t ^ 2) Filter.atTop (nhds 0)
    theorem FABL.tendsto_log_div_sq_atTop :
      Filter.Tendsto
        (fun t => Real.log t / t ^ 2)
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_const_div_sq_atTop (c : ) :
      Filter.Tendsto (fun t => c / t ^ 2) Filter.atTop (nhds 0)
    theorem FABL.tendsto_const_div_sq_atTop (c : ) :
      Filter.Tendsto (fun t => c / t ^ 2)
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.log_gaussianQuadrantLowerScale (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 0 < t) :
      Real.log
          (FABL.gaussianQuadrantLowerConstant ρ *
              Real.exp (-t ^ 2 / (1 + ρ)) /
            t ^ 2) =
        Real.log (FABL.gaussianQuadrantLowerConstant ρ) - t ^ 2 / (1 + ρ) -
          2 * Real.log t
    theorem FABL.log_gaussianQuadrantLowerScale
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 0 < t) :
      Real.log
          (FABL.gaussianQuadrantLowerConstant
                ρ *
              Real.exp (-t ^ 2 / (1 + ρ)) /
            t ^ 2) =
        Real.log
              (FABL.gaussianQuadrantLowerConstant
                ρ) -
            t ^ 2 / (1 + ρ) -
          2 * Real.log t
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_gaussianQuadrantLowerScale_div_tailLog
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.gaussianQuadrantLowerConstant ρ *
                  Real.exp (-t ^ 2 / (1 + ρ)) /
                t ^ 2) /
            Real.log (FABL.standardGaussianUpperTail t))
        Filter.atTop (nhds (2 / (1 + ρ)))
    theorem FABL.tendsto_log_gaussianQuadrantLowerScale_div_tailLog
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.gaussianQuadrantLowerConstant
                    ρ *
                  Real.exp
                    (-t ^ 2 / (1 + ρ)) /
                t ^ 2) /
            Real.log
              (FABL.standardGaussianUpperTail
                t))
        Filter.atTop (nhds (2 / (1 + ρ)))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_gaussianQuadrantAtThreshold_div_tailLog
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log (FABL.gaussianQuadrantAtThreshold ρ t) /
            Real.log (FABL.standardGaussianUpperTail t))
        Filter.atTop (nhds (2 / (1 + ρ)))
    theorem FABL.tendsto_log_gaussianQuadrantAtThreshold_div_tailLog
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.gaussianQuadrantAtThreshold
                ρ t) /
            Real.log
              (FABL.standardGaussianUpperTail
                t))
        Filter.atTop (nhds (2 / (1 + ρ)))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantProbability_hasSoftPower (ρ : (Set.Ioo 0 1)) :
      FABL.HasSoftPowerAtZero
        (FABL.gaussianQuadrantProbability (FABL.positiveCorrelation ρ))
        (2 / (1 + ρ))
    theorem FABL.gaussianQuadrantProbability_hasSoftPower
      (ρ : (Set.Ioo 0 1)) :
      FABL.HasSoftPowerAtZero
        (FABL.gaussianQuadrantProbability
          (FABL.positiveCorrelation ρ))
        (2 / (1 + ρ))
    Exercise 9.24's main soft-power conclusion:
    `Λρ(μ) = \widetilde Θ(μ^(2/(1+ρ)))` as `μ → 0⁺`. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.normalized_mills_power_eq_exp_div_sq (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 0 < t) :
      (2 * Real.pi) ^ (2 / (1 + ρ)) *
            (ProbabilityTheory.gaussianPDFReal 0 1 t / t) ^ (2 / (1 + ρ)) /
          t ^ (2 - 2 / (1 + ρ)) =
        Real.exp (-t ^ 2 / (1 + ρ)) / t ^ 2
    theorem FABL.normalized_mills_power_eq_exp_div_sq
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 0 < t) :
      (2 * Real.pi) ^ (2 / (1 + ρ)) *
            (ProbabilityTheory.gaussianPDFReal
                  0 1 t /
                t) ^
              (2 / (1 + ρ)) /
          t ^ (2 - 2 / (1 + ρ)) =
        Real.exp (-t ^ 2 / (1 + ρ)) / t ^ 2
    Exact normalization turning the Mills upper scale into the exponential scale used in the
    lower bound. 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianQuadrantPolylogConstant (ρ : (Set.Ioo 0 1)) : 
    def FABL.gaussianQuadrantPolylogConstant
      (ρ : (Set.Ioo 0 1)) : 
    Constant in the `μ`-domain polylogarithmic lower bound. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantPolylogConstant_pos (ρ : (Set.Ioo 0 1)) :
      0 < FABL.gaussianQuadrantPolylogConstant ρ
    theorem FABL.gaussianQuadrantPolylogConstant_pos
      (ρ : (Set.Ioo 0 1)) :
      0 <
        FABL.gaussianQuadrantPolylogConstant ρ
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianQuadrantAtThreshold_lower_tail_rpow_div_quantilePower
      (ρ : (Set.Ioo 0 1)) {t : } (ht : 1  t) :
      FABL.gaussianQuadrantPolylogConstant ρ *
            FABL.standardGaussianUpperTail t ^ (2 / (1 + ρ)) /
          t ^ (2 - 2 / (1 + ρ)) 
        FABL.gaussianQuadrantAtThreshold ρ t
    theorem FABL.gaussianQuadrantAtThreshold_lower_tail_rpow_div_quantilePower
      (ρ : (Set.Ioo 0 1)) {t : }
      (ht : 1  t) :
      FABL.gaussianQuadrantPolylogConstant ρ *
            FABL.standardGaussianUpperTail t ^
              (2 / (1 + ρ)) /
          t ^ (2 - 2 / (1 + ρ)) 
        FABL.gaussianQuadrantAtThreshold ρ t
    Explicit lower polylog-factor bound in threshold coordinates. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.eventually_gaussianQuadrantProbability_polylog_bounds
      (ρ : (Set.Ioo 0 1)) :
      ∀ᶠ (μ : (Set.Ioo 0 1)) in Filter.atBot,
        FABL.gaussianQuadrantPolylogConstant ρ * μ ^ (2 / (1 + ρ)) /
              FABL.standardGaussianUpperQuantile μ ^ (2 - 2 / (1 + ρ)) 
            FABL.gaussianQuadrantProbability (FABL.positiveCorrelation ρ)
              μ 
          FABL.gaussianQuadrantProbability (FABL.positiveCorrelation ρ) μ 
            μ ^ (2 / (1 + ρ))
    theorem FABL.eventually_gaussianQuadrantProbability_polylog_bounds
      (ρ : (Set.Ioo 0 1)) :
      ∀ᶠ (μ : (Set.Ioo 0 1)) in Filter.atBot,
        FABL.gaussianQuadrantPolylogConstant
                  ρ *
                μ ^ (2 / (1 + ρ)) /
              FABL.standardGaussianUpperQuantile
                  μ ^
                (2 - 2 / (1 + ρ)) 
            FABL.gaussianQuadrantProbability
              (FABL.positiveCorrelation ρ) μ 
          FABL.gaussianQuadrantProbability
              (FABL.positiveCorrelation ρ) μ 
            μ ^ (2 / (1 + ρ))
    Exercise 9.24's two-sided `μ`-scale bounds.  The only loss from the sharp power is the
    explicit quantile power, hence a power of `log (1/μ)`. 
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianBadTailAtThreshold (ρ : (Set.Ioo 0 1)) (t : ) : 
    def FABL.gaussianBadTailAtThreshold
      (ρ : (Set.Ioo 0 1)) (t : ) : 
    The exceptional tail from Exercise 9.24(c), in threshold coordinates. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_shift_div_correlation_atTop (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto (fun t => (t - 1) / ρ) Filter.atTop Filter.atTop
    theorem FABL.tendsto_shift_div_correlation_atTop
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto (fun t => (t - 1) / ρ)
        Filter.atTop Filter.atTop
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_shift_div_correlation_sq_div_sq (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto (fun t => ((t - 1) / ρ) ^ 2 / t ^ 2) Filter.atTop
        (nhds (1 / ρ ^ 2))
    theorem FABL.tendsto_shift_div_correlation_sq_div_sq
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t => ((t - 1) / ρ) ^ 2 / t ^ 2)
        Filter.atTop (nhds (1 / ρ ^ 2))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_gaussianBadTail_div_sq (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t => Real.log (FABL.gaussianBadTailAtThreshold ρ t) / t ^ 2)
        Filter.atTop (nhds (-(1 / (2 * ρ ^ 2))))
    theorem FABL.tendsto_log_gaussianBadTail_div_sq
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.gaussianBadTailAtThreshold
                ρ t) /
            t ^ 2)
        Filter.atTop
        (nhds (-(1 / (2 * ρ ^ 2))))
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.tendsto_log_gaussianBadTail_div_tailLog (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log (FABL.gaussianBadTailAtThreshold ρ t) /
            Real.log (FABL.standardGaussianUpperTail t))
        Filter.atTop (nhds (1 / ρ ^ 2))
    theorem FABL.tendsto_log_gaussianBadTail_div_tailLog
      (ρ : (Set.Ioo 0 1)) :
      Filter.Tendsto
        (fun t =>
          Real.log
              (FABL.gaussianBadTailAtThreshold
                ρ t) /
            Real.log
              (FABL.standardGaussianUpperTail
                t))
        Filter.atTop (nhds (1 / ρ ^ 2))
  • defdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    def FABL.gaussianBadTailProbability (ρ μ : (Set.Ioo 0 1)) : 
    def FABL.gaussianBadTailProbability
      (ρ μ : (Set.Ioo 0 1)) : 
    Exceptional-tail probability as a function of the one-dimensional mass `μ`. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianBadTailProbability_hasSoftPower (ρ : (Set.Ioo 0 1)) :
      FABL.HasSoftPowerAtZero (FABL.gaussianBadTailProbability ρ)
        (1 / ρ ^ 2)
    theorem FABL.gaussianBadTailProbability_hasSoftPower
      (ρ : (Set.Ioo 0 1)) :
      FABL.HasSoftPowerAtZero
        (FABL.gaussianBadTailProbability ρ)
        (1 / ρ ^ 2)
    Exercise 9.24(c): the exceptional tail has soft exponent `1/ρ²`. 
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.mainPower_lt_badTailPower (ρ : (Set.Ioo 0 1)) :
      2 / (1 + ρ) < 1 / ρ ^ 2
    theorem FABL.mainPower_lt_badTailPower
      (ρ : (Set.Ioo 0 1)) :
      2 / (1 + ρ) < 1 / ρ ^ 2
  • theoremdefined in FABL/Chapter09/GaussianQuadrantAsymptotics.lean
    complete
    theorem FABL.gaussianBadTailProbability_isLittleO_mainPower
      (ρ : (Set.Ioo 0 1)) :
      FABL.gaussianBadTailProbability ρ =o[Filter.atBot] fun μ =>
        μ ^ (2 / (1 + ρ))
    theorem FABL.gaussianBadTailProbability_isLittleO_mainPower
      (ρ : (Set.Ioo 0 1)) :
      FABL.gaussianBadTailProbability
          ρ =o[Filter.atBot]
        fun μ => μ ^ (2 / (1 + ρ))
    Exercise 9.24(c): the exceptional tail is little-o of the main
    `μ^(2/(1+ρ))` scale. 
Definition9.7.26
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 2.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Theorem 9.7.28
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Exercise 9.25. For J\subseteq[n] and \bar J=[n]\setminus J, define coalitional influence by \widetilde{\operatorname{Inf}}_J[f] =\Pr_{z\sim\{-1,1\}^{\bar J}} [f_{\bar J\mid z}\text{ is nonconstant}], and influence toward b\in\{-1,1\} by \widetilde{\operatorname{Inf}}_J^b[f] =\Pr[f_{\bar J\mid z}\text{ can attain }b]-\Pr[f=b]. Prove:

  1. for a singleton J=\{i\}, \operatorname{Inf}_i[f] =\widetilde{\operatorname{Inf}}_J[f] =2\widetilde{\operatorname{Inf}}_J^{+}[f] =2\widetilde{\operatorname{Inf}}_J^{-}[f];

  2. 0\le\widetilde{\operatorname{Inf}}_J[f]\le1 and \widetilde{\operatorname{Inf}}_J =\widetilde{\operatorname{Inf}}_J^+ +\widetilde{\operatorname{Inf}}_J^-;

  3. for monotone f, the toward-b influence is the bias change obtained by fixing all coordinates of J to b;

  4. every nonempty coalition has influence 1 on parity;

  5. if |J|=t\sqrt n, Majority has toward influences \Phi(t)-1/2\pm o(1) and total influence 2\Phi(t)-1\pm o(1);

  6. for critical Tribes, write \operatorname{deficit}_w=(1-2^{-w})^{s_w}-1/2. For w\ge4 the book's coalition cap is represented exactly by |J|\le\operatorname{clog}_2(n_w); its toward-True maximum is 1/2+\operatorname{deficit}_w, attained by one complete width-w tribe. Moreover 0\le\operatorname{deficit}_w=O(\log n_w/n_w); the printed matching \Theta lower bound would require the additional condition \log n_w/n_w=O(\operatorname{deficit}_w), which Proposition 4.12 does not supply for the critical integer rounding. The toward-False influence is at most 2|J|\log n_w/n_w eventually, and the explicit universal constant c=1/800 ensures |J|\le cn_w/\log n_w gives total coalitional influence at most .51.

Lean code for Definition9.7.26110 declarations
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.CoalitionCanAttain {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) (x : FABL.SignCube n) : Prop
    def FABL.CoalitionCanAttain {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign)
      (x : FABL.SignCube n) : Prop
    With the coordinates outside `J` fixed as in `x`, the coalition can attain output `b`.  The
    event ignores the sampled values on `J`, so uniform sampling on the full cube is the normalized
    duplicate of the book's sampling on the complement of `J`. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.coalitionSuccessProbability {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) : 
    def FABL.coalitionSuccessProbability {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) : 
    Probability that coalition `J` can force output `b`. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.coalitionalInfluenceToward {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) : 
    def FABL.coalitionalInfluenceToward {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) : 
    Exercise 9.25's influence toward `b`. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.coalitionalInfluence {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) : 
    def FABL.coalitionalInfluence {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) : 
    Exercise 9.25's total coalitional influence: probability that the restricted function on
    the coalition is nonconstant. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_current {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J (f x) x
    theorem FABL.coalitionCanAttain_current {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J (f x) x
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.uniformProbability_mono.{u_1} {Ω : Type u_1} [Fintype Ω]
      [Nonempty Ω] (P Q : Ω  Prop) [DecidablePred P] [DecidablePred Q]
      (hPQ :  (x : Ω), P x  Q x) :
      FABL.uniformProbability P  FABL.uniformProbability Q
    theorem FABL.uniformProbability_mono.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (P Q : Ω  Prop) [DecidablePred P]
      [DecidablePred Q]
      (hPQ :  (x : Ω), P x  Q x) :
      FABL.uniformProbability P 
        FABL.uniformProbability Q
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_nonneg {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign) :
      0  FABL.coalitionalInfluenceToward f J b
    theorem FABL.coalitionalInfluenceToward_nonneg
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) :
      0 
        FABL.coalitionalInfluenceToward f J b
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_mem_Icc {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) : FABL.coalitionalInfluence f J  Set.Icc 0 1
    theorem FABL.coalitionalInfluence_mem_Icc {n : }
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.coalitionalInfluence f J 
        Set.Icc 0 1
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_eq_toward_add_toward {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) :
      FABL.coalitionalInfluence f J =
        FABL.coalitionalInfluenceToward f J 1 +
          FABL.coalitionalInfluenceToward f J (-1)
    theorem FABL.coalitionalInfluence_eq_toward_add_toward
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.coalitionalInfluence f J =
        FABL.coalitionalInfluenceToward f J
            1 +
          FABL.coalitionalInfluenceToward f J
            (-1)
    Exercise 9.25(2): total influence is the sum of the two directed influences. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_one_iff_bribe_one {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J 1 x  FABL.bribeFunction f J 1 x = 1
    theorem FABL.coalitionCanAttain_one_iff_bribe_one
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J 1 x 
        FABL.bribeFunction f J 1 x = 1
    For monotone functions, the ability to force `+1` is detected by bribing all coalition
    coordinates to `+1`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_neg_one_iff_bribe_neg_one {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J (-1) x 
        FABL.bribeFunction f J (-1) x = -1
    theorem FABL.coalitionCanAttain_neg_one_iff_bribe_neg_one
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f J (-1) x 
        FABL.bribeFunction f J (-1) x = -1
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_one_eq_mean_change {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J 1 =
        (FABL.mean (FABL.bribeFunction f J 1).toReal - FABL.mean f.toReal) /
          2
    theorem FABL.coalitionalInfluenceToward_one_eq_mean_change
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J 1 =
        (FABL.mean
              (FABL.bribeFunction f J
                  1).toReal -
            FABL.mean f.toReal) /
          2
    Exercise 9.25(3), `+1` direction: directed coalitional influence is exactly the increase in
    positive bias, equivalently half the mean increase. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_neg_one_eq_mean_change {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J (-1) =
        (FABL.mean f.toReal -
            FABL.mean (FABL.bribeFunction f J (-1)).toReal) /
          2
    theorem FABL.coalitionalInfluenceToward_neg_one_eq_mean_change
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J
          (-1) =
        (FABL.mean f.toReal -
            FABL.mean
              (FABL.bribeFunction f J
                  (-1)).toReal) /
          2
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_singleton_iff {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) (b : FABL.Sign)
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f {i} b x 
        f (FABL.setCoordinate x i 1) = b 
          f (FABL.setCoordinate x i (-1)) = b
    theorem FABL.coalitionCanAttain_singleton_iff
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) (b : FABL.Sign)
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f {i} b x 
        f (FABL.setCoordinate x i 1) = b 
          f (FABL.setCoordinate x i (-1)) = b
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_singleton_both_iff_isPivotal {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f {i} 1 x 
          FABL.CoalitionCanAttain f {i} (-1) x 
        FABL.IsPivotal f i x
    theorem FABL.coalitionCanAttain_singleton_both_iff_isPivotal
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain f {i} 1 x 
          FABL.CoalitionCanAttain f {i} (-1)
            x 
        FABL.IsPivotal f i x
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_singleton {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.coalitionalInfluence f {i} = FABL.booleanInfluence f i
    theorem FABL.coalitionalInfluence_singleton
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.coalitionalInfluence f {i} =
        FABL.booleanInfluence f i
    Exercise 9.25(1), first equality. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_singleton {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward f {i} b =
        FABL.booleanInfluence f i / 2
    theorem FABL.coalitionalInfluenceToward_singleton
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward f {i}
          b =
        FABL.booleanInfluence f i / 2
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.exercise9_25_singleton_equalities {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) :
      FABL.booleanInfluence f i = FABL.coalitionalInfluence f {i} 
        FABL.coalitionalInfluence f {i} =
            2 * FABL.coalitionalInfluenceToward f {i} 1 
          FABL.coalitionalInfluence f {i} =
            2 * FABL.coalitionalInfluenceToward f {i} (-1)
    theorem FABL.exercise9_25_singleton_equalities
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.booleanInfluence f i =
          FABL.coalitionalInfluence f {i} 
        FABL.coalitionalInfluence f {i} =
            2 *
              FABL.coalitionalInfluenceToward
                f {i} 1 
          FABL.coalitionalInfluence f {i} =
            2 *
              FABL.coalitionalInfluenceToward
                f {i} (-1)
    Exercise 9.25(1), all four quantities. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_parity_univ {n : } (J : Finset (Fin n))
      (hJ : J.Nonempty) :
      FABL.coalitionalInfluence (FABL.parityFunction Finset.univ) J = 1
    theorem FABL.coalitionalInfluence_parity_univ
      {n : } (J : Finset (Fin n))
      (hJ : J.Nonempty) :
      FABL.coalitionalInfluence
          (FABL.parityFunction Finset.univ)
          J =
        1
    Exercise 9.25(4): every nonempty coalition has full influence on parity. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_toReal_mono {n : } (f g : FABL.BooleanFunction n)
      (hfg :  (x : FABL.SignCube n), f x  g x) :
      FABL.mean f.toReal  FABL.mean g.toReal
    theorem FABL.mean_toReal_mono {n : }
      (f g : FABL.BooleanFunction n)
      (hfg :
         (x : FABL.SignCube n), f x  g x) :
      FABL.mean f.toReal  FABL.mean g.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_mono_set_one {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) {J K : Finset (Fin n)}
      (hJK : J  K) :
      FABL.mean (FABL.bribeFunction f J 1).toReal 
        FABL.mean (FABL.bribeFunction f K 1).toReal
    theorem FABL.mean_bribeFunction_mono_set_one
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) {J K : Finset (Fin n)}
      (hJK : J  K) :
      FABL.mean
          (FABL.bribeFunction f J 1).toReal 
        FABL.mean
          (FABL.bribeFunction f K 1).toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_mono_set_neg_one {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) {J K : Finset (Fin n)}
      (hJK : J  K) :
      FABL.mean (FABL.bribeFunction f K (-1)).toReal 
        FABL.mean (FABL.bribeFunction f J (-1)).toReal
    theorem FABL.mean_bribeFunction_mono_set_neg_one
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) {J K : Finset (Fin n)}
      (hJK : J  K) :
      FABL.mean
          (FABL.bribeFunction f K
              (-1)).toReal 
        FABL.mean
          (FABL.bribeFunction f J (-1)).toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.proposition9_27_fixed_coalition {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2  n)
      (hlower : -99 / 100  FABL.mean f.toReal)
      (hupper : FABL.mean f.toReal  99 / 100) :
       J,
        99 / 100  FABL.coalitionalInfluence f J 
          J.card  20000 * n / Real.log n
    theorem FABL.proposition9_27_fixed_coalition
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (hlower :
        -99 / 100  FABL.mean f.toReal)
      (hupper :
        FABL.mean f.toReal  99 / 100) :
       J,
        99 / 100 
            FABL.coalitionalInfluence f J 
          J.card  20000 * n / Real.log n
    The fixed `.99` instance of Exercise 9.27(b): taking the union of the positive and negative
    bribery sets gives coalitional influence at least `.99`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_le_complement_probability {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward f J b 
        1 - FABL.uniformProbability fun x => f x = b
    theorem FABL.coalitionalInfluenceToward_le_complement_probability
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward f J b 
        1 -
          FABL.uniformProbability fun x =>
            f x = b
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.tribesBlockEmbedding (w s : ) (i : Fin s) : Fin w  Fin (s * w)
    def FABL.tribesBlockEmbedding (w s : )
      (i : Fin s) : Fin w  Fin (s * w)
    Embedding of one width-`w` tribe into the flat `s*w` coordinate set. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.tribesBlockCoordinates (w s : ) (i : Fin s) : Finset (Fin (s * w))
    def FABL.tribesBlockCoordinates (w s : )
      (i : Fin s) : Finset (Fin (s * w))
    The coordinate set of one tribe. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.card_tribesBlockCoordinates (w s : ) (i : Fin s) :
      (FABL.tribesBlockCoordinates w s i).card = w
    theorem FABL.card_tribesBlockCoordinates (w s : )
      (i : Fin s) :
      (FABL.tribesBlockCoordinates w s
            i).card =
        w
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mem_tribesBlockCoordinates (w s : ) (i : Fin s) (o : Fin w) :
      finProdFinEquiv (i, o)  FABL.tribesBlockCoordinates w s i
    theorem FABL.mem_tribesBlockCoordinates (w s : )
      (i : Fin s) (o : Fin w) :
      finProdFinEquiv (i, o) 
        FABL.tribesBlockCoordinates w s i
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.bribeFunction_tribes_block_neg_one (w s : ) (i : Fin s) :
      FABL.bribeFunction (FABL.tribes w s)
          (FABL.tribesBlockCoordinates w s i) (-1) =
        fun x => -1
    theorem FABL.bribeFunction_tribes_block_neg_one
      (w s : ) (i : Fin s) :
      FABL.bribeFunction (FABL.tribes w s)
          (FABL.tribesBlockCoordinates w s i)
          (-1) =
        fun x => -1
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_tribes_block_neg_one (w s : )
      (i : Fin s) :
      FABL.coalitionalInfluenceToward (FABL.tribes w s)
          (FABL.tribesBlockCoordinates w s i) (-1) =
        (1 - (2 ^ w)⁻¹) ^ s
    theorem FABL.coalitionalInfluenceToward_tribes_block_neg_one
      (w s : ) (i : Fin s) :
      FABL.coalitionalInfluenceToward
          (FABL.tribes w s)
          (FABL.tribesBlockCoordinates w s i)
          (-1) =
        (1 - (2 ^ w)⁻¹) ^ s
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.criticalTribes_towardTrue_max_exact (w : ) (hw : 0 < w) :
      (∀ (J : Finset (Fin (FABL.tribesCriticalDimension w))),
          J.card  w 
            FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J (-1) 
              1 / 2 + FABL.tribesCriticalProbabilityDeficit w) 
         J,
          J.card = w 
            FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J (-1) =
              1 / 2 + FABL.tribesCriticalProbabilityDeficit w
    theorem FABL.criticalTribes_towardTrue_max_exact
      (w : ) (hw : 0 < w) :
      (∀
          (J :
            Finset
              (Fin
                (FABL.tribesCriticalDimension
                  w))),
          J.card  w 
            FABL.coalitionalInfluenceToward
                (FABL.tribesCritical w) J
                (-1) 
              1 / 2 +
                FABL.tribesCriticalProbabilityDeficit
                  w) 
         J,
          J.card = w 
            FABL.coalitionalInfluenceToward
                (FABL.tribesCritical w) J
                (-1) =
              1 / 2 +
                FABL.tribesCriticalProbabilityDeficit
                  w
    Exact maximal toward-True (`-1`) influence for critical Tribes among coalitions of at most one
    full tribe. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.criticalTribes_towardTrue_excess_isBigO :
      (fun w =>
          1 / 2 + FABL.tribesCriticalProbabilityDeficit w -
            1 / 2) =O[Filter.atTop]
        fun w =>
        Real.log (FABL.tribesCriticalDimension w) /
          (FABL.tribesCriticalDimension w)
    theorem FABL.criticalTribes_towardTrue_excess_isBigO :
      (fun w =>
          1 / 2 +
              FABL.tribesCriticalProbabilityDeficit
                w -
            1 / 2) =O[Filter.atTop]
        fun w =>
        Real.log
            (FABL.tribesCriticalDimension
                w) /
          (FABL.tribesCriticalDimension w)
    The exact critical-Tribes maximum is `1/2` plus a nonnegative
    `O(log n_w / n_w)` correction. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.criticalTribes_towardTrue_omega_iff_deficit_omega :
      ((fun w =>
            Real.log (FABL.tribesCriticalDimension w) /
              (FABL.tribesCriticalDimension w)) =O[Filter.atTop]
          fun w =>
          1 / 2 + FABL.tribesCriticalProbabilityDeficit w - 1 / 2) 
        (fun w =>
            Real.log (FABL.tribesCriticalDimension w) /
              (FABL.tribesCriticalDimension w)) =O[Filter.atTop]
          FABL.tribesCriticalProbabilityDeficit
    theorem FABL.criticalTribes_towardTrue_omega_iff_deficit_omega :
      ((fun w =>
            Real.log
                (FABL.tribesCriticalDimension
                    w) /
              (FABL.tribesCriticalDimension
                  w)) =O[Filter.atTop]
          fun w =>
          1 / 2 +
              FABL.tribesCriticalProbabilityDeficit
                w -
            1 / 2) 
        (fun w =>
            Real.log
                (FABL.tribesCriticalDimension
                    w) /
              (FABL.tribesCriticalDimension
                  w)) =O[Filter.atTop]
          FABL.tribesCriticalProbabilityDeficit
    The missing reverse `Ω` claim in the printed `Θ` assertion is exactly an `Ω` lower bound on
    the rounding deficit.  Proposition 4.12 supplies no such lower bound, so this equivalence records
    the precise extra arithmetic condition without making it an assumption. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.uniformProbability_all_neg_one_on_finset {n : }
      (J : Finset (Fin n)) :
      (FABL.uniformProbability fun x =>  i  J, x i = -1) = (2 ^ J.card)⁻¹
    theorem FABL.uniformProbability_all_neg_one_on_finset
      {n : } (J : Finset (Fin n)) :
      (FABL.uniformProbability fun x =>
           i  J, x i = -1) =
        (2 ^ J.card)⁻¹
    Uniform probability that every coordinate in `J` is `-1`. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.tribesRestCoordinates (w s : ) (i : Fin (s * w)) :
      Finset (Fin (s * w))
    def FABL.tribesRestCoordinates (w s : )
      (i : Fin (s * w)) : Finset (Fin (s * w))
    All coordinates of `i`'s tribe except `i`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mem_tribesBlockCoordinates_self (w s : ) (i : Fin (s * w)) :
      i  FABL.tribesBlockCoordinates w s (FABL.tribesCoord w s i).1
    theorem FABL.mem_tribesBlockCoordinates_self
      (w s : ) (i : Fin (s * w)) :
      i 
        FABL.tribesBlockCoordinates w s
          (FABL.tribesCoord w s i).1
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.card_tribesRestCoordinates (w s : ) (i : Fin (s * w)) :
      (FABL.tribesRestCoordinates w s i).card = w - 1
    theorem FABL.card_tribesRestCoordinates (w s : )
      (i : Fin (s * w)) :
      (FABL.tribesRestCoordinates w s
            i).card =
        w - 1
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tribesRestTrue_iff_all_neg_on_restCoordinates (w s : )
      (i : Fin (s * w)) (x : FABL.SignCube (s * w)) :
      FABL.TribesRestTrue w s i x 
         j  FABL.tribesRestCoordinates w s i, x j = -1
    theorem FABL.tribesRestTrue_iff_all_neg_on_restCoordinates
      (w s : ) (i : Fin (s * w))
      (x : FABL.SignCube (s * w)) :
      FABL.TribesRestTrue w s i x 
        
          j 
            FABL.tribesRestCoordinates w s i,
          x j = -1
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.uniformProbability_tribesRestTrue (w s : ) (i : Fin (s * w)) :
      FABL.uniformProbability (FABL.TribesRestTrue w s i) = (2 ^ (w - 1))⁻¹
    theorem FABL.uniformProbability_tribesRestTrue
      (w s : ) (i : Fin (s * w)) :
      FABL.uniformProbability
          (FABL.TribesRestTrue w s i) =
        (2 ^ (w - 1))⁻¹
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.bribeInput_flipCoordinate_of_not_mem {n : } (J : Finset (Fin n))
      (i : Fin n) (b : FABL.Sign) (hi : i  J) (x : FABL.SignCube n) :
      FABL.bribeInput J b (FABL.flipCoordinate x i) =
        FABL.flipCoordinate (FABL.bribeInput J b x) i
    theorem FABL.bribeInput_flipCoordinate_of_not_mem
      {n : } (J : Finset (Fin n)) (i : Fin n)
      (b : FABL.Sign) (hi : i  J)
      (x : FABL.SignCube n) :
      FABL.bribeInput J b
          (FABL.flipCoordinate x i) =
        FABL.flipCoordinate
          (FABL.bribeInput J b x) i
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.isPivotal_bribeFunction_tribes_imp_restTrue (w s : )
      (J : Finset (Fin (s * w))) (i : Fin (s * w)) (hi : i  J)
      (x : FABL.SignCube (s * w)) :
      FABL.IsPivotal (FABL.bribeFunction (FABL.tribes w s) J 1) i x 
        FABL.TribesRestTrue w s i x
    theorem FABL.isPivotal_bribeFunction_tribes_imp_restTrue
      (w s : ) (J : Finset (Fin (s * w)))
      (i : Fin (s * w)) (hi : i  J)
      (x : FABL.SignCube (s * w)) :
      FABL.IsPivotal
          (FABL.bribeFunction
            (FABL.tribes w s) J 1)
          i x 
        FABL.TribesRestTrue w s i x
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.booleanInfluence_bribeFunction_tribes_le (w s : )
      (J : Finset (Fin (s * w))) (i : Fin (s * w)) :
      FABL.booleanInfluence (FABL.bribeFunction (FABL.tribes w s) J 1) i 
        (2 ^ (w - 1))⁻¹
    theorem FABL.booleanInfluence_bribeFunction_tribes_le
      (w s : ) (J : Finset (Fin (s * w)))
      (i : Fin (s * w)) :
      FABL.booleanInfluence
          (FABL.bribeFunction
            (FABL.tribes w s) J 1)
          i 
        (2 ^ (w - 1))⁻¹
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.two_mul_inv_two_pow_eq_inv_pred_pow {w : } (hw : 0 < w) :
      2 * (2 ^ w)⁻¹ = (2 ^ (w - 1))⁻¹
    theorem FABL.two_mul_inv_two_pow_eq_inv_pred_pow
      {w : } (hw : 0 < w) :
      2 * (2 ^ w)⁻¹ = (2 ^ (w - 1))⁻¹
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mean_bribeFunction_tribes_one_sub_mean_le (w s : ) (hw : 0 < w)
      (J : Finset (Fin (s * w))) :
      FABL.mean (FABL.bribeFunction (FABL.tribes w s) J 1).toReal -
          FABL.mean (FABL.tribes w s).toReal 
        2 * J.card * (2 ^ w)⁻¹
    theorem FABL.mean_bribeFunction_tribes_one_sub_mean_le
      (w s : ) (hw : 0 < w)
      (J : Finset (Fin (s * w))) :
      FABL.mean
            (FABL.bribeFunction
                (FABL.tribes w s) J
                1).toReal -
          FABL.mean (FABL.tribes w s).toReal 
        2 * J.card * (2 ^ w)⁻¹
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_tribes_one_le_card_mul_inv_pow (w s : )
      (hw : 0 < w) (J : Finset (Fin (s * w))) :
      FABL.coalitionalInfluenceToward (FABL.tribes w s) J 1 
        J.card * (2 ^ w)⁻¹
    theorem FABL.coalitionalInfluenceToward_tribes_one_le_card_mul_inv_pow
      (w s : ) (hw : 0 < w)
      (J : Finset (Fin (s * w))) :
      FABL.coalitionalInfluenceToward
          (FABL.tribes w s) J 1 
        J.card * (2 ^ w)⁻¹
    Exercise 9.25(6), toward-False (`+1`) bound for every finite coalition. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_criticalTribes_one_le (w k : )
      (hw : 0 < w) (J : Finset (Fin (FABL.tribesCriticalDimension w)))
      (hJ : J.card  k) :
      FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J 1 
        k * (2 ^ w)⁻¹
    theorem FABL.coalitionalInfluenceToward_criticalTribes_one_le
      (w k : ) (hw : 0 < w)
      (J :
        Finset
          (Fin
            (FABL.tribesCriticalDimension w)))
      (hJ : J.card  k) :
      FABL.coalitionalInfluenceToward
          (FABL.tribesCritical w) J 1 
        k * (2 ^ w)⁻¹
    Book-facing `|J|≤k` specialization of the toward-False bound. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_tribesCriticalPowerRelativeError_zero :
      Filter.Tendsto FABL.tribesCriticalPowerRelativeError Filter.atTop
        (nhds 0)
    theorem FABL.tendsto_tribesCriticalPowerRelativeError_zero :
      Filter.Tendsto
        FABL.tribesCriticalPowerRelativeError
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.eventually_inv_two_pow_le_two_mul_log_dimension_div_dimension :
      ∀ᶠ (w : ) in Filter.atTop,
        (2 ^ w)⁻¹ 
          2 * Real.log (FABL.tribesCriticalDimension w) /
            (FABL.tribesCriticalDimension w)
    theorem FABL.eventually_inv_two_pow_le_two_mul_log_dimension_div_dimension :
      ∀ᶠ (w : ) in Filter.atTop,
        (2 ^ w)⁻¹ 
          2 *
              Real.log
                (FABL.tribesCriticalDimension
                    w) /
            (FABL.tribesCriticalDimension w)
    The critical inverse block size is eventually at most twice `log n_w / n_w`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.eventually_coalitionalInfluenceToward_criticalTribes_one_le_log_bound :
      ∀ᶠ (w : ) in Filter.atTop,
         (k : ) (J : Finset (Fin (FABL.tribesCriticalDimension w))),
          J.card  k 
            FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J 1 
              2 * k * Real.log (FABL.tribesCriticalDimension w) /
                (FABL.tribesCriticalDimension w)
    theorem FABL.eventually_coalitionalInfluenceToward_criticalTribes_one_le_log_bound :
      ∀ᶠ (w : ) in Filter.atTop,
         (k : )
          (J :
            Finset
              (Fin
                (FABL.tribesCriticalDimension
                  w))),
          J.card  k 
            FABL.coalitionalInfluenceToward
                (FABL.tribesCritical w) J 1 
              2 * k *
                  Real.log
                    (FABL.tribesCriticalDimension
                        w) /
                (FABL.tribesCriticalDimension
                    w)
    Exercise 9.25(6): the toward-False bound has the claimed
    `k * O(log n_w / n_w)` form. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluence_criticalTribes_le_half_add_succ_card_mul_inv_pow
      (w : ) (hw : 0 < w)
      (J : Finset (Fin (FABL.tribesCriticalDimension w))) :
      FABL.coalitionalInfluence (FABL.tribesCritical w) J 
        1 / 2 + (J.card + 1) * (2 ^ w)⁻¹
    theorem FABL.coalitionalInfluence_criticalTribes_le_half_add_succ_card_mul_inv_pow
      (w : ) (hw : 0 < w)
      (J :
        Finset
          (Fin
            (FABL.tribesCriticalDimension
              w))) :
      FABL.coalitionalInfluence
          (FABL.tribesCritical w) J 
        1 / 2 + (J.card + 1) * (2 ^ w)⁻¹
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.criticalTribesCoalitionConstant : 
    def FABL.criticalTribesCoalitionConstant : 
    Explicit universal constant used in Exercise 9.25(6). 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.criticalTribesCoalitionConstant_pos :
      0 < FABL.criticalTribesCoalitionConstant
    theorem FABL.criticalTribesCoalitionConstant_pos :
      0 < FABL.criticalTribesCoalitionConstant
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_log_tribesCriticalDimension_div_dimension_zero :
      Filter.Tendsto
        (fun w =>
          Real.log (FABL.tribesCriticalDimension w) /
            (FABL.tribesCriticalDimension w))
        Filter.atTop (nhds 0)
    theorem FABL.tendsto_log_tribesCriticalDimension_div_dimension_zero :
      Filter.Tendsto
        (fun w =>
          Real.log
              (FABL.tribesCriticalDimension
                  w) /
            (FABL.tribesCriticalDimension w))
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.eventually_criticalTribes_coalitionalInfluence_le_fiftyOnePercent :
      ∀ᶠ (w : ) in Filter.atTop,
         (J : Finset (Fin (FABL.tribesCriticalDimension w))),
          J.card 
              FABL.criticalTribesCoalitionConstant *
                  (FABL.tribesCriticalDimension w) /
                Real.log (FABL.tribesCriticalDimension w) 
            FABL.coalitionalInfluence (FABL.tribesCritical w) J  51 / 100
    theorem FABL.eventually_criticalTribes_coalitionalInfluence_le_fiftyOnePercent :
      ∀ᶠ (w : ) in Filter.atTop,
        
          (J :
            Finset
              (Fin
                (FABL.tribesCriticalDimension
                  w))),
          J.card 
              FABL.criticalTribesCoalitionConstant *
                  (FABL.tribesCriticalDimension
                      w) /
                Real.log
                  (FABL.tribesCriticalDimension
                      w) 
            FABL.coalitionalInfluence
                (FABL.tribesCritical w) J 
              51 / 100
    Exercise 9.25(6), final `.51` consequence with the explicit constant `1/800`. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityCoalitionSplitEquiv (k m : ) :
      FABL.SignCube (k + m)  FABL.SignCube k × FABL.SignCube m
    def FABL.majorityCoalitionSplitEquiv
      (k m : ) :
      FABL.SignCube (k + m) 
        FABL.SignCube k × FABL.SignCube m
    Canonical splitting of a `(k+m)`-cube into coalition and outside coordinates. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityHeadEmbedding (k m : ) : Fin k  Fin (k + m)
    def FABL.majorityHeadEmbedding (k m : ) :
      Fin k  Fin (k + m)
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityHeadCoalition (k m : ) : Finset (Fin (k + m))
    def FABL.majorityHeadCoalition (k m : ) :
      Finset (Fin (k + m))
    The first `k` coordinates, used as the canonical size-`k` coalition. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.card_majorityHeadCoalition (k m : ) :
      (FABL.majorityHeadCoalition k m).card = k
    theorem FABL.card_majorityHeadCoalition
      (k m : ) :
      (FABL.majorityHeadCoalition k m).card =
        k
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mem_majorityHeadCoalition_left (k m : ) (i : Fin k) :
      finSumFinEquiv (Sum.inl i)  FABL.majorityHeadCoalition k m
    theorem FABL.mem_majorityHeadCoalition_left
      (k m : ) (i : Fin k) :
      finSumFinEquiv (Sum.inl i) 
        FABL.majorityHeadCoalition k m
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.not_mem_majorityHeadCoalition_right (k m : ) (j : Fin m) :
      finSumFinEquiv (Sum.inr j)  FABL.majorityHeadCoalition k m
    theorem FABL.not_mem_majorityHeadCoalition_right
      (k m : ) (j : Fin m) :
      finSumFinEquiv (Sum.inr j) 
        FABL.majorityHeadCoalition k m
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mem_majorityHeadCoalition_castAdd (k m : ) (i : Fin k) :
      Fin.castAdd m i  FABL.majorityHeadCoalition k m
    theorem FABL.mem_majorityHeadCoalition_castAdd
      (k m : ) (i : Fin k) :
      Fin.castAdd m i 
        FABL.majorityHeadCoalition k m
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.not_mem_majorityHeadCoalition_natAdd (k m : ) (j : Fin m) :
      Fin.natAdd k j  FABL.majorityHeadCoalition k m
    theorem FABL.not_mem_majorityHeadCoalition_natAdd
      (k m : ) (j : Fin m) :
      Fin.natAdd k j 
        FABL.majorityHeadCoalition k m
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.expect_majorityCoalitionSplit_tail (k m : )
      (g : FABL.SignCube m  ) :
      (Finset.univ.expect fun x =>
          g ((FABL.majorityCoalitionSplitEquiv k m) x).2) =
        Finset.univ.expect fun y => g y
    theorem FABL.expect_majorityCoalitionSplit_tail
      (k m : ) (g : FABL.SignCube m  ) :
      (Finset.univ.expect fun x =>
          g
            ((FABL.majorityCoalitionSplitEquiv
                  k m)
                x).2) =
        Finset.univ.expect fun y => g y
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityAfterHeadBribe (k m : ) (b : FABL.Sign) :
      FABL.BooleanFunction m
    def FABL.majorityAfterHeadBribe (k m : )
      (b : FABL.Sign) : FABL.BooleanFunction m
    Majority after fixing the canonical coalition to `b`, expressed only through the outside
    coordinates. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.bribeFunction_majority_head_apply (k m : ) (b : FABL.Sign)
      (x : FABL.SignCube (k + m)) :
      FABL.bribeFunction (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m) b x =
        FABL.majorityAfterHeadBribe k m b
          ((FABL.majorityCoalitionSplitEquiv k m) x).2
    theorem FABL.bribeFunction_majority_head_apply
      (k m : ) (b : FABL.Sign)
      (x : FABL.SignCube (k + m)) :
      FABL.bribeFunction
          (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m) b
          x =
        FABL.majorityAfterHeadBribe k m b
          ((FABL.majorityCoalitionSplitEquiv k
                m)
              x).2
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mean_bribeFunction_majority_head (k m : ) (b : FABL.Sign) :
      FABL.mean
          (FABL.bribeFunction (FABL.majority (k + m))
              (FABL.majorityHeadCoalition k m) b).toReal =
        FABL.mean (FABL.majorityAfterHeadBribe k m b).toReal
    theorem FABL.mean_bribeFunction_majority_head
      (k m : ) (b : FABL.Sign) :
      FABL.mean
          (FABL.bribeFunction
              (FABL.majority (k + m))
              (FABL.majorityHeadCoalition k m)
              b).toReal =
        FABL.mean
          (FABL.majorityAfterHeadBribe k m
              b).toReal
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.thresholdSign_nat_add_sign_sum_eq_one_iff (k m : )
      (y : FABL.SignCube m) :
      FABL.thresholdSign (k +  j, FABL.signValue (y j)) = 1 
        -(k + 1) <  j, (y j)
    theorem FABL.thresholdSign_nat_add_sign_sum_eq_one_iff
      (k m : ) (y : FABL.SignCube m) :
      FABL.thresholdSign
            (k +  j, FABL.signValue (y j)) =
          1 
        -(k + 1) <  j, (y j)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.thresholdSign_sign_sum_sub_nat_eq_one_iff (k m : )
      (y : FABL.SignCube m) :
      FABL.thresholdSign (-k +  j, FABL.signValue (y j)) = 1 
        k - 1 <  j, (y j)
    theorem FABL.thresholdSign_sign_sum_sub_nat_eq_one_iff
      (k m : ) (y : FABL.SignCube m) :
      FABL.thresholdSign
            (-k +
               j, FABL.signValue (y j)) =
          1 
        k - 1 <  j, (y j)
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityPlusBribeThreshold (k m : ) : 
    def FABL.majorityPlusBribeThreshold
      (k m : ) : 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityMinusBribeThreshold (k m : ) : 
    def FABL.majorityMinusBribeThreshold
      (k m : ) : 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.majorityAfterHeadBribe_one_indicator (k m : ) (hm : 0 < m)
      (y : FABL.SignCube m) :
      (if FABL.majorityAfterHeadBribe k m 1 y = 1 then 1 else 0) =
        FABL.hammingUpperTailIndicator (FABL.majorityPlusBribeThreshold k m)
          m y
    theorem FABL.majorityAfterHeadBribe_one_indicator
      (k m : ) (hm : 0 < m)
      (y : FABL.SignCube m) :
      (if
            FABL.majorityAfterHeadBribe k m 1
                y =
              1 then
          1
        else 0) =
        FABL.hammingUpperTailIndicator
          (FABL.majorityPlusBribeThreshold k
            m)
          m y
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.majorityAfterHeadBribe_neg_one_one_indicator (k m : ) (hm : 0 < m)
      (y : FABL.SignCube m) :
      (if FABL.majorityAfterHeadBribe k m (-1) y = 1 then 1 else 0) =
        FABL.hammingUpperTailIndicator
          (FABL.majorityMinusBribeThreshold k m) m y
    theorem FABL.majorityAfterHeadBribe_neg_one_one_indicator
      (k m : ) (hm : 0 < m)
      (y : FABL.SignCube m) :
      (if
            FABL.majorityAfterHeadBribe k m
                (-1) y =
              1 then
          1
        else 0) =
        FABL.hammingUpperTailIndicator
          (FABL.majorityMinusBribeThreshold k
            m)
          m y
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.positiveBias_bribeFunction_majority_head (k m : )
      (b : FABL.Sign) :
      FABL.positiveBias
          (FABL.bribeFunction (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m) b) =
        FABL.uniformProbability fun y =>
          FABL.majorityAfterHeadBribe k m b y = 1
    theorem FABL.positiveBias_bribeFunction_majority_head
      (k m : ) (b : FABL.Sign) :
      FABL.positiveBias
          (FABL.bribeFunction
            (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m)
            b) =
        FABL.uniformProbability fun y =>
          FABL.majorityAfterHeadBribe k m b
              y =
            1
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.positiveBias_bribeFunction_majority_head_one (k m : )
      (hm : 0 < m) :
      FABL.positiveBias
          (FABL.bribeFunction (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m) 1) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator
            (FABL.majorityPlusBribeThreshold k m) m y
    theorem FABL.positiveBias_bribeFunction_majority_head_one
      (k m : ) (hm : 0 < m) :
      FABL.positiveBias
          (FABL.bribeFunction
            (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m)
            1) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator
            (FABL.majorityPlusBribeThreshold k
              m)
            m y
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.positiveBias_bribeFunction_majority_head_neg_one (k m : )
      (hm : 0 < m) :
      FABL.positiveBias
          (FABL.bribeFunction (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m) (-1)) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator
            (FABL.majorityMinusBribeThreshold k m) m y
    theorem FABL.positiveBias_bribeFunction_majority_head_neg_one
      (k m : ) (hm : 0 < m) :
      FABL.positiveBias
          (FABL.bribeFunction
            (FABL.majority (k + m))
            (FABL.majorityHeadCoalition k m)
            (-1)) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator
            (FABL.majorityMinusBribeThreshold
              k m)
            m y
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.positiveBias_majority_eq_hammingUpperTail (n : ) (hn : 0 < n) :
      FABL.positiveBias (FABL.majority n) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator (-1 / n) n y
    theorem FABL.positiveBias_majority_eq_hammingUpperTail
      (n : ) (hn : 0 < n) :
      FABL.positiveBias (FABL.majority n) =
        Finset.univ.expect fun y =>
          FABL.hammingUpperTailIndicator
            (-1 / n) n y
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_one_eq_positiveBias_change {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J 1 =
        FABL.positiveBias (FABL.bribeFunction f J 1) - FABL.positiveBias f
    theorem FABL.coalitionalInfluenceToward_one_eq_positiveBias_change
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J 1 =
        FABL.positiveBias
            (FABL.bribeFunction f J 1) -
          FABL.positiveBias f
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_neg_one_eq_positiveBias_change {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J (-1) =
        FABL.positiveBias f -
          FABL.positiveBias (FABL.bribeFunction f J (-1))
    theorem FABL.coalitionalInfluenceToward_neg_one_eq_positiveBias_change
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) :
      FABL.coalitionalInfluenceToward f J
          (-1) =
        FABL.positiveBias f -
          FABL.positiveBias
            (FABL.bribeFunction f J (-1))
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_majority_head_one (k m : )
      (hm : 0 < m) :
      FABL.coalitionalInfluenceToward (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m) 1 =
        (Finset.univ.expect fun y =>
            FABL.hammingUpperTailIndicator
              (FABL.majorityPlusBribeThreshold k m) m y) -
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator (-1 / (k + m)) (k + m) x
    theorem FABL.coalitionalInfluenceToward_majority_head_one
      (k m : ) (hm : 0 < m) :
      FABL.coalitionalInfluenceToward
          (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m) 1 =
        (Finset.univ.expect fun y =>
            FABL.hammingUpperTailIndicator
              (FABL.majorityPlusBribeThreshold
                k m)
              m y) -
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator
              (-1 / (k + m)) (k + m) x
    Exact finite formula for the canonical Majority coalition's toward-`+1` influence. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_majority_head_neg_one (k m : )
      (hm : 0 < m) :
      FABL.coalitionalInfluenceToward (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m) (-1) =
        (Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator (-1 / (k + m)) (k + m) x) -
          Finset.univ.expect fun y =>
            FABL.hammingUpperTailIndicator
              (FABL.majorityMinusBribeThreshold k m) m y
    theorem FABL.coalitionalInfluenceToward_majority_head_neg_one
      (k m : ) (hm : 0 < m) :
      FABL.coalitionalInfluenceToward
          (FABL.majority (k + m))
          (FABL.majorityHeadCoalition k m)
          (-1) =
        (Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator
              (-1 / (k + m)) (k + m) x) -
          Finset.univ.expect fun y =>
            FABL.hammingUpperTailIndicator
              (FABL.majorityMinusBribeThreshold
                k m)
              m y
    Exact finite formula for the canonical Majority coalition's toward-`-1` influence. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.abs_expect_hammingUpperTailIndicator_dimension_le (u : ) (n : )
      (hn : 0 < n) :
      |(Finset.univ.expect fun x => FABL.hammingUpperTailIndicator u n x) -
            FABL.standardGaussianUpperTail u| 
        2 * ProbabilityTheory.thirdMomentBerryEsseenConstant * (n)⁻¹
    theorem FABL.abs_expect_hammingUpperTailIndicator_dimension_le
      (u : ) (n : ) (hn : 0 < n) :
      |(Finset.univ.expect fun x =>
              FABL.hammingUpperTailIndicator u
                n x) -
            FABL.standardGaussianUpperTail
              u| 
        2 *
            ProbabilityTheory.thirdMomentBerryEsseenConstant *
          (n)⁻¹
    Uniform Berry--Esseen estimate at an arbitrary threshold and every positive dimension. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.majority_head_directed_influence_finite_error (k m : )
      (hm : 0 < m) :
      |FABL.coalitionalInfluenceToward (FABL.majority (k + m))
                (FABL.majorityHeadCoalition k m) 1 -
              (FABL.standardGaussianUpperTail
                  (FABL.majorityPlusBribeThreshold k m) -
                FABL.standardGaussianUpperTail (-1 / (k + m)))| 
          2 * ProbabilityTheory.thirdMomentBerryEsseenConstant *
            ((m)⁻¹ + ((k + m))⁻¹) 
        |FABL.coalitionalInfluenceToward (FABL.majority (k + m))
                (FABL.majorityHeadCoalition k m) (-1) -
              (FABL.standardGaussianUpperTail (-1 / (k + m)) -
                FABL.standardGaussianUpperTail
                  (FABL.majorityMinusBribeThreshold k m))| 
          2 * ProbabilityTheory.thirdMomentBerryEsseenConstant *
            ((m)⁻¹ + ((k + m))⁻¹)
    theorem FABL.majority_head_directed_influence_finite_error
      (k m : ) (hm : 0 < m) :
      |FABL.coalitionalInfluenceToward
                (FABL.majority (k + m))
                (FABL.majorityHeadCoalition k
                  m)
                1 -
              (FABL.standardGaussianUpperTail
                  (FABL.majorityPlusBribeThreshold
                    k m) -
                FABL.standardGaussianUpperTail
                  (-1 / (k + m)))| 
          2 *
              ProbabilityTheory.thirdMomentBerryEsseenConstant *
            ((m)⁻¹ + ((k + m))⁻¹) 
        |FABL.coalitionalInfluenceToward
                (FABL.majority (k + m))
                (FABL.majorityHeadCoalition k
                  m)
                (-1) -
              (FABL.standardGaussianUpperTail
                  (-1 / (k + m)) -
                FABL.standardGaussianUpperTail
                  (FABL.majorityMinusBribeThreshold
                    k m))| 
          2 *
              ProbabilityTheory.thirdMomentBerryEsseenConstant *
            ((m)⁻¹ + ((k + m))⁻¹)
    Explicit finite Berry--Esseen errors for both directed Majority coalitional influences. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_expect_hammingUpperTailIndicator_of_tendsto (d :   )
      (u :   ) (a : ) (hd : Filter.Tendsto d Filter.atTop Filter.atTop)
      (hu : Filter.Tendsto u Filter.atTop (nhds a)) :
      Filter.Tendsto
        (fun q =>
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator (u q) (d q) x)
        Filter.atTop (nhds (FABL.standardGaussianUpperTail a))
    theorem FABL.tendsto_expect_hammingUpperTailIndicator_of_tendsto
      (d :   ) (u :   ) (a : )
      (hd :
        Filter.Tendsto d Filter.atTop
          Filter.atTop)
      (hu :
        Filter.Tendsto u Filter.atTop
          (nhds a)) :
      Filter.Tendsto
        (fun q =>
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator
              (u q) (d q) x)
        Filter.atTop
        (nhds
          (FABL.standardGaussianUpperTail a))
    Moving-threshold CLT with the explicit uniform Berry--Esseen error. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.majorityCoalitionGaussianLimit (t : ) : 
    def FABL.majorityCoalitionGaussianLimit
      (t : ) : 
    The common Gaussian limit for each directed Majority coalitional influence. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.standardGaussianUpperTail_zero :
      FABL.standardGaussianUpperTail 0 = 1 / 2
    theorem FABL.standardGaussianUpperTail_zero :
      FABL.standardGaussianUpperTail 0 = 1 / 2
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majorityPlusBribeThreshold (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkm :
        Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop (nhds t)) :
      Filter.Tendsto (fun q => FABL.majorityPlusBribeThreshold (k q) (m q))
        Filter.atTop (nhds (-t))
    theorem FABL.tendsto_majorityPlusBribeThreshold
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkm :
        Filter.Tendsto
          (fun q => (k q) / (m q))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.majorityPlusBribeThreshold
            (k q) (m q))
        Filter.atTop (nhds (-t))
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majorityMinusBribeThreshold (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkm :
        Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop (nhds t)) :
      Filter.Tendsto (fun q => FABL.majorityMinusBribeThreshold (k q) (m q))
        Filter.atTop (nhds t)
    theorem FABL.tendsto_majorityMinusBribeThreshold
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkm :
        Filter.Tendsto
          (fun q => (k q) / (m q))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.majorityMinusBribeThreshold
            (k q) (m q))
        Filter.atTop (nhds t)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majorityBaselineThreshold (k m :   )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop) :
      Filter.Tendsto (fun q => -1 / ((k q) + (m q))) Filter.atTop
        (nhds 0)
    theorem FABL.tendsto_majorityBaselineThreshold
      (k m :   )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop) :
      Filter.Tendsto
        (fun q => -1 / ((k q) + (m q)))
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_directed_influences (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkm :
        Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition (k q) (m q)) 1)
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition (k q) (m q)) (-1))
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_head_directed_influences
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkm :
        Filter.Tendsto
          (fun q => (k q) / (m q))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition
                (k q) (m q))
              1)
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition
                (k q) (m q))
              (-1))
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t))
    Exercise 9.25(5): both directed influences of the canonical size-`k_q` Majority coalition
    converge to `Φ(t)-1/2`, represented as `1/2 - upperTail(t)`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence (k m :   )
      (t : ) (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkm :
        Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q) (m q)))
        Filter.atTop (nhds (2 * FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkm :
        Filter.Tendsto
          (fun q => (k q) / (m q))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q)
              (m q)))
        Filter.atTop
        (nhds
          (2 *
            FABL.majorityCoalitionGaussianLimit
              t))
    Exercise 9.25(5): total Majority coalitional influence has limit
    `2 Φ(t) - 1`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_outside_ratio_of_total_ratio (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds t)) :
      Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop (nhds t)
    theorem FABL.tendsto_majority_outside_ratio_of_total_ratio
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q => (k q) / (m q))
        Filter.atTop (nhds t)
    Parameter bridge from the book's total dimension `n=k+m` to the outside-coordinate
    normalization used by the Berry--Esseen reduction. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_directed_influences_totalDimension
      (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition (k q) (m q)) 1)
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition (k q) (m q)) (-1))
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_head_directed_influences_totalDimension
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition
                (k q) (m q))
              1)
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (FABL.majorityHeadCoalition
                (k q) (m q))
              (-1))
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t))
    Exercise 9.25(5) with the book's normalization `|J_q|/sqrt(k_q+m_q) → t`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_totalDimension
      (k m :   ) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q) (m q)))
        Filter.atTop (nhds (2 * FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_totalDimension
      (k m :   ) (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q)
              (m q)))
        Filter.atTop
        (nhds
          (2 *
            FABL.majorityCoalitionGaussianLimit
              t))
    Exercise 9.25(5), total influence with the book's total-dimension normalization. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_zero_of_subsqrt
      (k m :   ) (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds 0)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q) (m q)))
        Filter.atTop (nhds 0)
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_zero_of_subsqrt
      (k m :   )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds 0)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q)
              (m q)))
        Filter.atTop (nhds 0)
    Exercise 9.25(5), `o(sqrt n)` corollary. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_expect_hammingUpperTailIndicator_of_tail_tendsto
      (d :   ) (u :   ) (L : )
      (hd : Filter.Tendsto d Filter.atTop Filter.atTop)
      (htail :
        Filter.Tendsto (fun q => FABL.standardGaussianUpperTail (u q))
          Filter.atTop (nhds L)) :
      Filter.Tendsto
        (fun q =>
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator (u q) (d q) x)
        Filter.atTop (nhds L)
    theorem FABL.tendsto_expect_hammingUpperTailIndicator_of_tail_tendsto
      (d :   ) (u :   ) (L : )
      (hd :
        Filter.Tendsto d Filter.atTop
          Filter.atTop)
      (htail :
        Filter.Tendsto
          (fun q =>
            FABL.standardGaussianUpperTail
              (u q))
          Filter.atTop (nhds L)) :
      Filter.Tendsto
        (fun q =>
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator
              (u q) (d q) x)
        Filter.atTop (nhds L)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_outside_ratio_atTop_of_total_ratio_atTop
      (k m :   ) (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          Filter.atTop) :
      Filter.Tendsto (fun q => (k q) / (m q)) Filter.atTop Filter.atTop
    theorem FABL.tendsto_majority_outside_ratio_atTop_of_total_ratio_atTop
      (k m :   )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop Filter.atTop) :
      Filter.Tendsto
        (fun q => (k q) / (m q))
        Filter.atTop Filter.atTop
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_one_of_omega_sqrt
      (k m :   ) (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          Filter.atTop) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q) (m q)))
        Filter.atTop (nhds 1)
    theorem FABL.tendsto_majority_head_total_coalitionalInfluence_one_of_omega_sqrt
      (k m :   )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop Filter.atTop) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q))
            (FABL.majorityHeadCoalition (k q)
              (m q)))
        Filter.atTop (nhds 1)
    Exercise 9.25(5), `ω(sqrt n)` corollary. 
  • defdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    def FABL.coalitionTransportPerm {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card) : Equiv.Perm (Fin n)
    def FABL.coalitionTransportPerm {n : }
      (A B : Finset (Fin n))
      (hcard : A.card = B.card) :
      Equiv.Perm (Fin n)
    A coordinate permutation carrying `A` onto `B`. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mem_coalitionTransportPerm_iff {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card) (i : Fin n) :
      (FABL.coalitionTransportPerm A B hcard) i  B  i  A
    theorem FABL.mem_coalitionTransportPerm_iff
      {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card) (i : Fin n) :
      (FABL.coalitionTransportPerm A B hcard)
            i 
          B 
        i  A
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.bribeInput_permuteInput_coalitionTransport {n : }
      (A B : Finset (Fin n)) (hcard : A.card = B.card) (b : FABL.Sign)
      (x : FABL.SignCube n) :
      FABL.bribeInput A b
          (FABL.permuteInput (FABL.coalitionTransportPerm A B hcard) x) =
        FABL.permuteInput (FABL.coalitionTransportPerm A B hcard)
          (FABL.bribeInput B b x)
    theorem FABL.bribeInput_permuteInput_coalitionTransport
      {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card)
      (b : FABL.Sign) (x : FABL.SignCube n) :
      FABL.bribeInput A b
          (FABL.permuteInput
            (FABL.coalitionTransportPerm A B
              hcard)
            x) =
        FABL.permuteInput
          (FABL.coalitionTransportPerm A B
            hcard)
          (FABL.bribeInput B b x)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.mean_bribeFunction_majority_eq_of_card {n : }
      (A B : Finset (Fin n)) (hcard : A.card = B.card) (b : FABL.Sign) :
      FABL.mean (FABL.bribeFunction (FABL.majority n) A b).toReal =
        FABL.mean (FABL.bribeFunction (FABL.majority n) B b).toReal
    theorem FABL.mean_bribeFunction_majority_eq_of_card
      {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card)
      (b : FABL.Sign) :
      FABL.mean
          (FABL.bribeFunction
              (FABL.majority n) A b).toReal =
        FABL.mean
          (FABL.bribeFunction
              (FABL.majority n) B b).toReal
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluenceToward_majority_eq_of_card {n : }
      (A B : Finset (Fin n)) (hcard : A.card = B.card) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward (FABL.majority n) A b =
        FABL.coalitionalInfluenceToward (FABL.majority n) B b
    theorem FABL.coalitionalInfluenceToward_majority_eq_of_card
      {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card)
      (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward
          (FABL.majority n) A b =
        FABL.coalitionalInfluenceToward
          (FABL.majority n) B b
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.coalitionalInfluence_majority_eq_of_card {n : }
      (A B : Finset (Fin n)) (hcard : A.card = B.card) :
      FABL.coalitionalInfluence (FABL.majority n) A =
        FABL.coalitionalInfluence (FABL.majority n) B
    theorem FABL.coalitionalInfluence_majority_eq_of_card
      {n : } (A B : Finset (Fin n))
      (hcard : A.card = B.card) :
      FABL.coalitionalInfluence
          (FABL.majority n) A =
        FABL.coalitionalInfluence
          (FABL.majority n) B
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_arbitraryCoalition_total (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q)) (J q))
        Filter.atTop (nhds (2 * FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_arbitraryCoalition_total
      (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q)) (J q))
        Filter.atTop
        (nhds
          (2 *
            FABL.majorityCoalitionGaussianLimit
              t))
    Book-parameter corollary for arbitrary coalition sequences. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_arbitraryCoalition_directed (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q) (t : )
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (J q) 1)
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward (FABL.majority (k q + m q))
              (J q) (-1))
          Filter.atTop (nhds (FABL.majorityCoalitionGaussianLimit t))
    theorem FABL.tendsto_majority_arbitraryCoalition_directed
      (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (t : )
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds t)) :
      Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (J q) 1)
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t)) 
        Filter.Tendsto
          (fun q =>
            FABL.coalitionalInfluenceToward
              (FABL.majority (k q + m q))
              (J q) (-1))
          Filter.atTop
          (nhds
            (FABL.majorityCoalitionGaussianLimit
              t))
    Directed version of the arbitrary-coalition limit. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_arbitraryCoalition_zero_of_subsqrt (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          (nhds 0)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q)) (J q))
        Filter.atTop (nhds 0)
    theorem FABL.tendsto_majority_arbitraryCoalition_zero_of_subsqrt
      (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop (nhds 0)) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q)) (J q))
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.tendsto_majority_arbitraryCoalition_one_of_omega_sqrt (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (hm : Filter.Tendsto m Filter.atTop Filter.atTop)
      (hkn :
        Filter.Tendsto (fun q => (k q) / ((k q) + (m q))) Filter.atTop
          Filter.atTop) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence (FABL.majority (k q + m q)) (J q))
        Filter.atTop (nhds 1)
    theorem FABL.tendsto_majority_arbitraryCoalition_one_of_omega_sqrt
      (k m :   )
      (J : (q : )  Finset (Fin (k q + m q)))
      (hcard :  (q : ), (J q).card = k q)
      (hm :
        Filter.Tendsto m Filter.atTop
          Filter.atTop)
      (hkn :
        Filter.Tendsto
          (fun q =>
            (k q) / ((k q) + (m q)))
          Filter.atTop Filter.atTop) :
      Filter.Tendsto
        (fun q =>
          FABL.coalitionalInfluence
            (FABL.majority (k q + m q)) (J q))
        Filter.atTop (nhds 1)
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.two_pow_sub_two_le_tribesCriticalSize (w : ) (hw : 4  w) :
      2 ^ (w - 2)  FABL.tribesCriticalSize w
    theorem FABL.two_pow_sub_two_le_tribesCriticalSize
      (w : ) (hw : 4  w) :
      2 ^ (w - 2)  FABL.tribesCriticalSize w
    For every sufficiently large critical-Tribes width, the critical size is already at least
    `2^(w-2)`.  This narrow finite bound is enough to compare the book's logarithmic coalition cap
    with one complete tribe. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.width_le_clog_tribesCriticalDimension (w : ) (hw : 4  w) :
      w  Nat.clog 2 (FABL.tribesCriticalDimension w)
    theorem FABL.width_le_clog_tribesCriticalDimension
      (w : ) (hw : 4  w) :
      w 
        Nat.clog 2
          (FABL.tribesCriticalDimension w)
    A full critical tribe fits within the book's base-two logarithmic coalition cap. 
  • theoremdefined in FABL/Chapter09/CoalitionalInfluenceAsymptotics.lean
    complete
    theorem FABL.criticalTribes_towardTrue_max_clog_exact (w : ) (hw : 4  w) :
      (∀ (J : Finset (Fin (FABL.tribesCriticalDimension w))),
          J.card  Nat.clog 2 (FABL.tribesCriticalDimension w) 
            FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J (-1) 
              1 / 2 + FABL.tribesCriticalProbabilityDeficit w) 
         J,
          J.card = w 
            J.card  Nat.clog 2 (FABL.tribesCriticalDimension w) 
              FABL.coalitionalInfluenceToward (FABL.tribesCritical w) J
                  (-1) =
                1 / 2 + FABL.tribesCriticalProbabilityDeficit w
    theorem FABL.criticalTribes_towardTrue_max_clog_exact
      (w : ) (hw : 4  w) :
      (∀
          (J :
            Finset
              (Fin
                (FABL.tribesCriticalDimension
                  w))),
          J.card 
              Nat.clog 2
                (FABL.tribesCriticalDimension
                  w) 
            FABL.coalitionalInfluenceToward
                (FABL.tribesCritical w) J
                (-1) 
              1 / 2 +
                FABL.tribesCriticalProbabilityDeficit
                  w) 
         J,
          J.card = w 
            J.card 
                Nat.clog 2
                  (FABL.tribesCriticalDimension
                    w) 
              FABL.coalitionalInfluenceToward
                  (FABL.tribesCritical w) J
                  (-1) =
                1 / 2 +
                  FABL.tribesCriticalProbabilityDeficit
                    w
    Exercise 9.25(g), literal logarithmic-cap form: the exact maximum toward True is attained
    by one full tribe, and every coalition below `clog₂ n_w` obeys the same universal upper bound. 
Lemma9.7.27
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 2.1.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.26. Use the construction of Exercise 4.15 to prove that the exponential dependence on \mathbf I[f] in Friedgut's Junta Theorem is necessary up to constants in the exponent.

The formal proof uses the equivalent addressing-function witness: on m+2^m variables it has total influence at most m+1, while every 2^{m-1}-junta is at least 1/4-far. This proves the same exponential necessity conclusion without importing an unformalized Exercise 4.15 lemma.

Lean code for Lemma9.7.2734 declarations
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingAddressEquiv (m : ) : FABL.SignCube m  Fin (2 ^ m)
    def FABL.addressingAddressEquiv (m : ) :
      FABL.SignCube m  Fin (2 ^ m)
    A fixed enumeration of the `2^m` possible address strings. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingInputEquiv (m : ) :
      FABL.SignCube (m + 2 ^ m) 
        FABL.SignCube m × (Fin (2 ^ m)  FABL.Sign)
    def FABL.addressingInputEquiv (m : ) :
      FABL.SignCube (m + 2 ^ m) 
        FABL.SignCube m ×
          (Fin (2 ^ m)  FABL.Sign)
    Split an addressing input into its address and data-table parts. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingFunction (m : ) : FABL.BooleanFunction (m + 2 ^ m)
    def FABL.addressingFunction (m : ) :
      FABL.BooleanFunction (m + 2 ^ m)
    The addressing Boolean function: return the data bit selected by the address. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingAddressCoordinate (m : ) (i : Fin m) : Fin (m + 2 ^ m)
    def FABL.addressingAddressCoordinate (m : )
      (i : Fin m) : Fin (m + 2 ^ m)
    Embed an address coordinate into the full input. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingDataCoordinate (m : ) (j : Fin (2 ^ m)) :
      Fin (m + 2 ^ m)
    def FABL.addressingDataCoordinate (m : )
      (j : Fin (2 ^ m)) : Fin (m + 2 ^ m)
    Embed a data-table coordinate into the full input. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingInputEquiv_addressCoordinate (m : )
      (x : FABL.SignCube (m + 2 ^ m)) (i : Fin m) :
      ((FABL.addressingInputEquiv m) x).1 i =
        x (FABL.addressingAddressCoordinate m i)
    theorem FABL.addressingInputEquiv_addressCoordinate
      (m : ) (x : FABL.SignCube (m + 2 ^ m))
      (i : Fin m) :
      ((FABL.addressingInputEquiv m) x).1 i =
        x
          (FABL.addressingAddressCoordinate m
            i)
    Coordinate evaluation on the address part of `addressingInputEquiv`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingInputEquiv_dataCoordinate (m : )
      (x : FABL.SignCube (m + 2 ^ m)) (j : Fin (2 ^ m)) :
      ((FABL.addressingInputEquiv m) x).2 j =
        x (FABL.addressingDataCoordinate m j)
    theorem FABL.addressingInputEquiv_dataCoordinate
      (m : ) (x : FABL.SignCube (m + 2 ^ m))
      (j : Fin (2 ^ m)) :
      ((FABL.addressingInputEquiv m) x).2 j =
        x (FABL.addressingDataCoordinate m j)
    Coordinate evaluation on the data part of `addressingInputEquiv`. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingSelectedCoordinate (m : )
      (x : FABL.SignCube (m + 2 ^ m)) : Fin (m + 2 ^ m)
    def FABL.addressingSelectedCoordinate (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      Fin (m + 2 ^ m)
    The full coordinate of the data bit selected by an input's address. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingInputEquiv_first_flip_selected (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      ((FABL.addressingInputEquiv m)
            (FABL.flipCoordinate x
              (FABL.addressingSelectedCoordinate m x))).1 =
        ((FABL.addressingInputEquiv m) x).1
    theorem FABL.addressingInputEquiv_first_flip_selected
      (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      ((FABL.addressingInputEquiv m)
            (FABL.flipCoordinate x
              (FABL.addressingSelectedCoordinate
                m x))).1 =
        ((FABL.addressingInputEquiv m) x).1
    Flipping the selected data bit leaves the address part unchanged. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingSelectedCoordinate_flip (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.addressingSelectedCoordinate m
          (FABL.flipCoordinate x (FABL.addressingSelectedCoordinate m x)) =
        FABL.addressingSelectedCoordinate m x
    theorem FABL.addressingSelectedCoordinate_flip
      (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.addressingSelectedCoordinate m
          (FABL.flipCoordinate x
            (FABL.addressingSelectedCoordinate
              m x)) =
        FABL.addressingSelectedCoordinate m x
    The selected coordinate is unchanged when that data bit is flipped. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingFunction_flip_selected (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.addressingFunction m
          (FABL.flipCoordinate x (FABL.addressingSelectedCoordinate m x)) =
        -FABL.addressingFunction m x
    theorem FABL.addressingFunction_flip_selected
      (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.addressingFunction m
          (FABL.flipCoordinate x
            (FABL.addressingSelectedCoordinate
              m x)) =
        -FABL.addressingFunction m x
    Flipping the selected data bit negates the addressing function. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingInputEquiv_first_flip_data (m : )
      (x : FABL.SignCube (m + 2 ^ m)) (j : Fin (2 ^ m)) :
      ((FABL.addressingInputEquiv m)
            (FABL.flipCoordinate x (FABL.addressingDataCoordinate m j))).1 =
        ((FABL.addressingInputEquiv m) x).1
    theorem FABL.addressingInputEquiv_first_flip_data
      (m : ) (x : FABL.SignCube (m + 2 ^ m))
      (j : Fin (2 ^ m)) :
      ((FABL.addressingInputEquiv m)
            (FABL.flipCoordinate x
              (FABL.addressingDataCoordinate m
                j))).1 =
        ((FABL.addressingInputEquiv m) x).1
    Flipping any data bit leaves the address part unchanged. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingFunction_flip_data_of_ne (m : )
      (x : FABL.SignCube (m + 2 ^ m)) (j : Fin (2 ^ m))
      (hj :
        j 
          (FABL.addressingAddressEquiv m)
            ((FABL.addressingInputEquiv m) x).1) :
      FABL.addressingFunction m
          (FABL.flipCoordinate x (FABL.addressingDataCoordinate m j)) =
        FABL.addressingFunction m x
    theorem FABL.addressingFunction_flip_data_of_ne
      (m : ) (x : FABL.SignCube (m + 2 ^ m))
      (j : Fin (2 ^ m))
      (hj :
        j 
          (FABL.addressingAddressEquiv m)
            ((FABL.addressingInputEquiv m)
                x).1) :
      FABL.addressingFunction m
          (FABL.flipCoordinate x
            (FABL.addressingDataCoordinate m
              j)) =
        FABL.addressingFunction m x
    Flipping a nonselected data bit leaves the addressing output unchanged. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingRelevantCoordinates (m : )
      (x : FABL.SignCube (m + 2 ^ m)) : Finset (Fin (m + 2 ^ m))
    def FABL.addressingRelevantCoordinates (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      Finset (Fin (m + 2 ^ m))
    The address coordinates together with the currently selected data coordinate. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.isPivotal_addressingFunction_mem_relevant (m : )
      (x : FABL.SignCube (m + 2 ^ m)) (i : Fin (m + 2 ^ m))
      (hi : FABL.IsPivotal (FABL.addressingFunction m) i x) :
      i  FABL.addressingRelevantCoordinates m x
    theorem FABL.isPivotal_addressingFunction_mem_relevant
      (m : ) (x : FABL.SignCube (m + 2 ^ m))
      (i : Fin (m + 2 ^ m))
      (hi :
        FABL.IsPivotal
          (FABL.addressingFunction m) i x) :
      i 
        FABL.addressingRelevantCoordinates m x
    Every pivotal addressing coordinate is in the explicit relevant-coordinate set. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.card_addressingRelevantCoordinates_le (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      (FABL.addressingRelevantCoordinates m x).card  m + 1
    theorem FABL.card_addressingRelevantCoordinates_le
      (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      (FABL.addressingRelevantCoordinates m
            x).card 
        m + 1
    The relevant-coordinate set has at most `m+1` elements. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.sensitivity_addressingFunction_le (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.sensitivity (FABL.addressingFunction m) x  m + 1
    theorem FABL.sensitivity_addressingFunction_le
      (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      FABL.sensitivity
          (FABL.addressingFunction m) x 
        m + 1
    Pointwise sensitivity of the addressing function is at most `m+1`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.totalInfluence_addressingFunction_le (m : ) :
      FABL.totalInfluence (FABL.addressingFunction m).toReal  m + 1
    theorem FABL.totalInfluence_addressingFunction_le
      (m : ) :
      FABL.totalInfluence
          (FABL.addressingFunction m).toReal 
        m + 1
    The addressing function has total influence at most `m+1`. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingFlipEquiv (m : ) :
      FABL.SignCube (m + 2 ^ m)  FABL.SignCube (m + 2 ^ m)
    def FABL.addressingFlipEquiv (m : ) :
      FABL.SignCube (m + 2 ^ m) 
        FABL.SignCube (m + 2 ^ m)
    The involution that flips the currently selected data bit. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.addressingFlipEquiv_apply (m : ) (x : FABL.SignCube (m + 2 ^ m)) :
      (FABL.addressingFlipEquiv m) x =
        FABL.flipCoordinate x (FABL.addressingSelectedCoordinate m x)
    theorem FABL.addressingFlipEquiv_apply (m : )
      (x : FABL.SignCube (m + 2 ^ m)) :
      (FABL.addressingFlipEquiv m) x =
        FABL.flipCoordinate x
          (FABL.addressingSelectedCoordinate m
            x)
    Evaluation rule for `addressingFlipEquiv`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.eq_addressingFlip_of_dependsOn (m : )
      (J : Finset (Fin (m + 2 ^ m))) (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) (x : FABL.SignCube (m + 2 ^ m))
      (hx : FABL.addressingSelectedCoordinate m x  J) :
      g ((FABL.addressingFlipEquiv m) x) = g x
    theorem FABL.eq_addressingFlip_of_dependsOn
      (m : ) (J : Finset (Fin (m + 2 ^ m)))
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J)
      (x : FABL.SignCube (m + 2 ^ m))
      (hx :
        FABL.addressingSelectedCoordinate m
            x 
          J) :
      g ((FABL.addressingFlipEquiv m) x) = g x
    A function depending on `J` is unchanged by the addressing flip whenever the selected data
    coordinate lies outside `J`. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingErrorIndicator {N : } (f g : FABL.BooleanFunction N)
      (x : FABL.SignCube N) : 
    def FABL.addressingErrorIndicator {N : }
      (f g : FABL.BooleanFunction N)
      (x : FABL.SignCube N) : 
    Indicator that two Boolean functions disagree at an input. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.one_le_addressingErrorIndicator_add_flip (m : )
      (J : Finset (Fin (m + 2 ^ m))) (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) (x : FABL.SignCube (m + 2 ^ m))
      (hx : FABL.addressingSelectedCoordinate m x  J) :
      1 
        FABL.addressingErrorIndicator (FABL.addressingFunction m) g x +
          FABL.addressingErrorIndicator (FABL.addressingFunction m) g
            ((FABL.addressingFlipEquiv m) x)
    theorem FABL.one_le_addressingErrorIndicator_add_flip
      (m : ) (J : Finset (Fin (m + 2 ^ m)))
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J)
      (x : FABL.SignCube (m + 2 ^ m))
      (hx :
        FABL.addressingSelectedCoordinate m
            x 
          J) :
      1 
        FABL.addressingErrorIndicator
            (FABL.addressingFunction m) g x +
          FABL.addressingErrorIndicator
            (FABL.addressingFunction m) g
            ((FABL.addressingFlipEquiv m) x)
    On the selected-outside event, at least one point in an addressing-flip pair is an error. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.sum_addressingErrorIndicator_flip (m : )
      (g : FABL.BooleanFunction (m + 2 ^ m)) :
       x,
          FABL.addressingErrorIndicator (FABL.addressingFunction m) g
            ((FABL.addressingFlipEquiv m) x) =
         x, FABL.addressingErrorIndicator (FABL.addressingFunction m) g x
    theorem FABL.sum_addressingErrorIndicator_flip
      (m : )
      (g : FABL.BooleanFunction (m + 2 ^ m)) :
       x,
          FABL.addressingErrorIndicator
            (FABL.addressingFunction m) g
            ((FABL.addressingFlipEquiv m) x) =
         x,
          FABL.addressingErrorIndicator
            (FABL.addressingFunction m) g x
    The addressing flip preserves the total number of errors. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.two_mul_sum_addressingErrorIndicator_ge_event_card (m : )
      (J : Finset (Fin (m + 2 ^ m))) (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) :
      2 *
           x,
            FABL.addressingErrorIndicator (FABL.addressingFunction m) g x 
        {x | FABL.addressingSelectedCoordinate m x  J}.card
    theorem FABL.two_mul_sum_addressingErrorIndicator_ge_event_card
      (m : ) (J : Finset (Fin (m + 2 ^ m)))
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) :
      2 *
           x,
            FABL.addressingErrorIndicator
              (FABL.addressingFunction m) g
              x 
        {x |
              FABL.addressingSelectedCoordinate
                  m x 
                J}.card
    Pairing by the addressing flip lower-bounds twice the error count by the selected-outside
    event count. 
  • defdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    def FABL.addressingDataIndicesIn (m : ) (J : Finset (Fin (m + 2 ^ m))) :
      Finset (Fin (2 ^ m))
    def FABL.addressingDataIndicesIn (m : )
      (J : Finset (Fin (m + 2 ^ m))) :
      Finset (Fin (2 ^ m))
    Data-table indices whose full coordinates belong to `J`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.card_addressingDataIndicesIn_le (m : )
      (J : Finset (Fin (m + 2 ^ m))) :
      (FABL.addressingDataIndicesIn m J).card  J.card
    theorem FABL.card_addressingDataIndicesIn_le
      (m : ) (J : Finset (Fin (m + 2 ^ m))) :
      (FABL.addressingDataIndicesIn m
            J).card 
        J.card
    `J` contains at least as many coordinates as its data-index subset. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.card_addressingDataIndicesOutside_ge (m : ) (hm : 0 < m)
      (J : Finset (Fin (m + 2 ^ m))) (hJ : J.card  2 ^ (m - 1)) :
      {j | FABL.addressingDataCoordinate m j  J}.card  2 ^ (m - 1)
    theorem FABL.card_addressingDataIndicesOutside_ge
      (m : ) (hm : 0 < m)
      (J : Finset (Fin (m + 2 ^ m)))
      (hJ : J.card  2 ^ (m - 1)) :
      {j |
            FABL.addressingDataCoordinate m
                j 
              J}.card 
        2 ^ (m - 1)
    If `J` has at most half the data-table size, at least half the data indices lie outside it. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.uniformProbability_addressingSelectedOutside (m : )
      (J : Finset (Fin (m + 2 ^ m))) :
      (FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m x  J) =
        {j | FABL.addressingDataCoordinate m j  J}.card / 2 ^ m
    theorem FABL.uniformProbability_addressingSelectedOutside
      (m : ) (J : Finset (Fin (m + 2 ^ m))) :
      (FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m
              x 
            J) =
        {j |
                FABL.addressingDataCoordinate
                    m j 
                  J}.card /
          2 ^ m
    Exact probability that the selected addressing coordinate lies outside `J`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.uniformProbability_addressingSelectedOutside_ge_half (m : )
      (hm : 0 < m) (J : Finset (Fin (m + 2 ^ m)))
      (hJ : J.card  2 ^ (m - 1)) :
      1 / 2 
        FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m x  J
    theorem FABL.uniformProbability_addressingSelectedOutside_ge_half
      (m : ) (hm : 0 < m)
      (J : Finset (Fin (m + 2 ^ m)))
      (hJ : J.card  2 ^ (m - 1)) :
      1 / 2 
        FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m
              x 
            J
    A set of at most `2^(m-1)` coordinates misses the selected data bit with probability at least
    one half. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.two_mul_relativeHammingDist_addressing_ge_event (m : )
      (J : Finset (Fin (m + 2 ^ m))) (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) :
      (FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m x  J) 
        2 * FABL.relativeHammingDist (FABL.addressingFunction m) g
    theorem FABL.two_mul_relativeHammingDist_addressing_ge_event
      (m : ) (J : Finset (Fin (m + 2 ^ m)))
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) :
      (FABL.uniformProbability fun x =>
          FABL.addressingSelectedCoordinate m
              x 
            J) 
        2 *
          FABL.relativeHammingDist
            (FABL.addressingFunction m) g
    Twice the Hamming distance dominates the selected-outside probability. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.relativeHammingDist_addressing_ge_quarter (m : ) (hm : 0 < m)
      (J : Finset (Fin (m + 2 ^ m))) (hJ : J.card  2 ^ (m - 1))
      (g : FABL.BooleanFunction (m + 2 ^ m)) (hg : DependsOn g J) :
      1 / 4  FABL.relativeHammingDist (FABL.addressingFunction m) g
    theorem FABL.relativeHammingDist_addressing_ge_quarter
      (m : ) (hm : 0 < m)
      (J : Finset (Fin (m + 2 ^ m)))
      (hJ : J.card  2 ^ (m - 1))
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : DependsOn g J) :
      1 / 4 
        FABL.relativeHammingDist
          (FABL.addressingFunction m) g
    Every function depending on at most half of the data-table coordinates is at least `1/4`-far
    from addressing. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.not_close_addressing_of_isKJunta (m : ) (hm : 0 < m)
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : FABL.IsKJunta g (2 ^ (m - 1))) :
      1 / 4  FABL.relativeHammingDist (FABL.addressingFunction m) g
    theorem FABL.not_close_addressing_of_isKJunta
      (m : ) (hm : 0 < m)
      (g : FABL.BooleanFunction (m + 2 ^ m))
      (hg : FABL.IsKJunta g (2 ^ (m - 1))) :
      1 / 4 
        FABL.relativeHammingDist
          (FABL.addressingFunction m) g
    No `2^(m-1)`-junta can approximate addressing to error below `1/4`. 
  • theoremdefined in FABL/Chapter09/FriedgutNecessity.lean
    complete
    theorem FABL.exercise9_26_addressing_witness (m : ) (hm : 0 < m) :
      FABL.totalInfluence (FABL.addressingFunction m).toReal  m + 1 
         (g : FABL.BooleanFunction (m + 2 ^ m)),
          FABL.IsKJunta g (2 ^ (m - 1)) 
            1 / 4  FABL.relativeHammingDist (FABL.addressingFunction m) g
    theorem FABL.exercise9_26_addressing_witness
      (m : ) (hm : 0 < m) :
      FABL.totalInfluence
            (FABL.addressingFunction
                m).toReal 
          m + 1 
        
          (g :
            FABL.BooleanFunction (m + 2 ^ m)),
          FABL.IsKJunta g (2 ^ (m - 1)) 
            1 / 4 
              FABL.relativeHammingDist
                (FABL.addressingFunction m) g
    Exercise 9.26: an explicit family with influence `O(m)` requiring `2^(m-1)` junta
    coordinates at fixed error. 
Theorem9.7.28
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.6.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Exercise 9.27. Let f be monotone with \operatorname{Var}[f]\ge\delta>0 and 0<\epsilon<1/2. Prove there is J with |J|\le O\left(\log\frac1{\epsilon\delta}\right) \frac n{\log n} such that fixing J to 1 makes the expectation at least 1-\epsilon. Prove also that a coalition of the same size has total influence at least 1-\epsilon.

Lean code for Theorem9.7.2823 declarations
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.positiveBias {n : } (f : FABL.BooleanFunction n) : 
    def FABL.positiveBias {n : }
      (f : FABL.BooleanFunction n) : 
    Positive-output bias. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.positiveBias_eq_mean {n : } (f : FABL.BooleanFunction n) :
      FABL.positiveBias f = (1 + FABL.mean f.toReal) / 2
    theorem FABL.positiveBias_eq_mean {n : }
      (f : FABL.BooleanFunction n) :
      FABL.positiveBias f =
        (1 + FABL.mean f.toReal) / 2
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.positiveBias_mem_Icc {n : } (f : FABL.BooleanFunction n) :
      FABL.positiveBias f  Set.Icc 0 1
    theorem FABL.positiveBias_mem_Icc {n : }
      (f : FABL.BooleanFunction n) :
      FABL.positiveBias f  Set.Icc 0 1
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.variance_eq_four_mul_positiveBias {n : }
      (f : FABL.BooleanFunction n) :
      FABL.variance f.toReal =
        4 * FABL.positiveBias f * (1 - FABL.positiveBias f)
    theorem FABL.variance_eq_four_mul_positiveBias
      {n : } (f : FABL.BooleanFunction n) :
      FABL.variance f.toReal =
        4 * FABL.positiveBias f *
          (1 - FABL.positiveBias f)
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.briberyRate (n : ) : 
    def FABL.briberyRate (n : ) : 
    Dimension-dependent KKL rate. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberyRate_pos {n : } (hn : 2  n) : 0 < FABL.briberyRate n
    theorem FABL.briberyRate_pos {n : }
      (hn : 2  n) : 0 < FABL.briberyRate n
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberyRate_le_one_half {n : } (hn : 2  n) :
      FABL.briberyRate n  1 / 2
    theorem FABL.briberyRate_le_one_half {n : }
      (hn : 2  n) :
      FABL.briberyRate n  1 / 2
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.maximumInfluenceCoordinate_positiveBias_step {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2  n)
      (hp : 0 < FABL.positiveBias f) (hq : FABL.positiveBias f < 1) :
      have i := FABL.maximumInfluenceCoordinate f ;
      FABL.positiveBias f +
          2 * FABL.positiveBias f * (1 - FABL.positiveBias f) *
            FABL.briberyRate n 
        FABL.positiveBias fun x => f (FABL.setCoordinate x i 1)
    theorem FABL.maximumInfluenceCoordinate_positiveBias_step
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (hp : 0 < FABL.positiveBias f)
      (hq : FABL.positiveBias f < 1) :
      have i :=
        FABL.maximumInfluenceCoordinate f ;
      FABL.positiveBias f +
          2 * FABL.positiveBias f *
              (1 - FABL.positiveBias f) *
            FABL.briberyRate n 
        FABL.positiveBias fun x =>
          f (FABL.setCoordinate x i 1)
    General KKL step in positive-bias form. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.briberySetsTo {n : } (f : FABL.BooleanFunction n) (hn : 0 < n)
      (target : ) :   Finset (Fin n)
    def FABL.briberySetsTo {n : }
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) :
        Finset (Fin n)
    Greedy bribery sets for an arbitrary target mean. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberySetsTo_succ {n : } (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) (t : ) :
      FABL.briberySetsTo f hn target (t + 1) =
        if
            FABL.mean
                (FABL.bribeFunction f (FABL.briberySetsTo f hn target t)
                    1).toReal <
              target then
          insert
            (FABL.maximumInfluenceCoordinate
              (FABL.bribeFunction f (FABL.briberySetsTo f hn target t) 1)
              hn)
            (FABL.briberySetsTo f hn target t)
        else FABL.briberySetsTo f hn target t
    theorem FABL.briberySetsTo_succ {n : }
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) (t : ) :
      FABL.briberySetsTo f hn target (t + 1) =
        if
            FABL.mean
                (FABL.bribeFunction f
                    (FABL.briberySetsTo f hn
                      target t)
                    1).toReal <
              target then
          insert
            (FABL.maximumInfluenceCoordinate
              (FABL.bribeFunction f
                (FABL.briberySetsTo f hn
                  target t)
                1)
              hn)
            (FABL.briberySetsTo f hn target t)
        else FABL.briberySetsTo f hn target t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.card_briberySetsTo_le {n : } (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) (t : ) :
      (FABL.briberySetsTo f hn target t).card  t
    theorem FABL.card_briberySetsTo_le {n : }
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) (t : ) :
      (FABL.briberySetsTo f hn target
            t).card 
        t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberySetsTo_stable {n : } (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) {t : }
      (htarget :
        target 
          FABL.mean
            (FABL.bribeFunction f (FABL.briberySetsTo f hn target t)
                1).toReal)
      (s : ) :
      FABL.briberySetsTo f hn target (t + s) =
        FABL.briberySetsTo f hn target t
    theorem FABL.briberySetsTo_stable {n : }
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) {t : }
      (htarget :
        target 
          FABL.mean
            (FABL.bribeFunction f
                (FABL.briberySetsTo f hn
                  target t)
                1).toReal)
      (s : ) :
      FABL.briberySetsTo f hn target (t + s) =
        FABL.briberySetsTo f hn target t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.maximumInfluenceCoordinate_fresh_of_bias {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (hn : 2  n)
      (hp : 0 < FABL.positiveBias (FABL.bribeFunction f J 1))
      (hq : FABL.positiveBias (FABL.bribeFunction f J 1) < 1) :
      FABL.maximumInfluenceCoordinate (FABL.bribeFunction f J 1)   J
    theorem FABL.maximumInfluenceCoordinate_fresh_of_bias
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (hn : 2  n)
      (hp :
        0 <
          FABL.positiveBias
            (FABL.bribeFunction f J 1))
      (hq :
        FABL.positiveBias
            (FABL.bribeFunction f J 1) <
          1) :
      FABL.maximumInfluenceCoordinate
          (FABL.bribeFunction f J 1)  
        J
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.card_briberySetsTo_eq_of_mean_lt {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2  n)
      (target : ) (htarget : target < 1) (hp0 : 0 < FABL.positiveBias f)
      {t : } (ht : t  n)
      (hbelow :
        FABL.mean
            (FABL.bribeFunction f (FABL.briberySetsTo f  target t)
                1).toReal <
          target) :
      (FABL.briberySetsTo f  target t).card = t
    theorem FABL.card_briberySetsTo_eq_of_mean_lt
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (target : ) (htarget : target < 1)
      (hp0 : 0 < FABL.positiveBias f) {t : }
      (ht : t  n)
      (hbelow :
        FABL.mean
            (FABL.bribeFunction f
                (FABL.briberySetsTo f  target
                  t)
                1).toReal <
          target) :
      (FABL.briberySetsTo f  target t).card =
        t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.positiveBias_odds_step {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (hp : 0 < FABL.positiveBias f)
      (hq : FABL.positiveBias f < 1) :
      have i := FABL.maximumInfluenceCoordinate f ;
      have p' := FABL.positiveBias fun x => f (FABL.setCoordinate x i 1);
      (1 + 2 * FABL.briberyRate n) * FABL.positiveBias f * (1 - p') 
        p' * (1 - FABL.positiveBias f)
    theorem FABL.positiveBias_odds_step {n : }
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (hp : 0 < FABL.positiveBias f)
      (hq : FABL.positiveBias f < 1) :
      have i :=
        FABL.maximumInfluenceCoordinate f ;
      have p' :=
        FABL.positiveBias fun x =>
          f (FABL.setCoordinate x i 1);
      (1 + 2 * FABL.briberyRate n) *
            FABL.positiveBias f *
          (1 - p') 
        p' * (1 - FABL.positiveBias f)
    Cross-multiplied one-step odds growth. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberySetsTo_odds_invariant {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (target : ) (htarget : target < 1)
      (hp0 : 0 < FABL.positiveBias f) (t : ) :
      (1 + 2 * FABL.briberyRate n) ^
              (FABL.briberySetsTo f  target t).card *
            FABL.positiveBias f *
          (1 -
            FABL.positiveBias
              (FABL.bribeFunction f (FABL.briberySetsTo f  target t) 1)) 
        FABL.positiveBias
            (FABL.bribeFunction f (FABL.briberySetsTo f  target t) 1) *
          (1 - FABL.positiveBias f)
    theorem FABL.briberySetsTo_odds_invariant {n : }
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (target : ) (htarget : target < 1)
      (hp0 : 0 < FABL.positiveBias f)
      (t : ) :
      (1 + 2 * FABL.briberyRate n) ^
              (FABL.briberySetsTo f  target
                  t).card *
            FABL.positiveBias f *
          (1 -
            FABL.positiveBias
              (FABL.bribeFunction f
                (FABL.briberySetsTo f  target
                  t)
                1)) 
        FABL.positiveBias
            (FABL.bribeFunction f
              (FABL.briberySetsTo f  target
                t)
              1) *
          (1 - FABL.positiveBias f)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_univ_one_of_positiveBias {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f)
      (hp : 0 < FABL.positiveBias f) :
      FABL.mean (FABL.bribeFunction f Finset.univ 1).toReal = 1
    theorem FABL.mean_bribeFunction_univ_one_of_positiveBias
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hp : 0 < FABL.positiveBias f) :
      FABL.mean
          (FABL.bribeFunction f Finset.univ
              1).toReal =
        1
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_briberySetsTo_final_ge_target {n : }
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2  n)
      (target : ) (htarget : target < 1) (hp0 : 0 < FABL.positiveBias f) :
      target 
        FABL.mean
          (FABL.bribeFunction f (FABL.briberySetsTo f  target n) 1).toReal
    theorem FABL.mean_briberySetsTo_final_ge_target
      {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n)
      (target : ) (htarget : target < 1)
      (hp0 : 0 < FABL.positiveBias f) :
      target 
        FABL.mean
          (FABL.bribeFunction f
              (FABL.briberySetsTo f  target
                n)
              1).toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_lt_target_of_final_card_gt {n : }
      (f : FABL.BooleanFunction n) (hn : 0 < n) (target : ) {t : }
      (htn : t  n) (hcard : t < (FABL.briberySetsTo f hn target n).card) :
      FABL.mean
          (FABL.bribeFunction f (FABL.briberySetsTo f hn target t)
              1).toReal <
        target
    theorem FABL.mean_lt_target_of_final_card_gt
      {n : } (f : FABL.BooleanFunction n)
      (hn : 0 < n) (target : ) {t : }
      (htn : t  n)
      (hcard :
        t <
          (FABL.briberySetsTo f hn target
              n).card) :
      FABL.mean
          (FABL.bribeFunction f
              (FABL.briberySetsTo f hn target
                t)
              1).toReal <
        target
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.log_one_add_two_mul_briberyRate_ge {n : } (hn : 2  n) :
      FABL.briberyRate n  Real.log (1 + 2 * FABL.briberyRate n)
    theorem FABL.log_one_add_two_mul_briberyRate_ge
      {n : } (hn : 2  n) :
      FABL.briberyRate n 
        Real.log (1 + 2 * FABL.briberyRate n)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.exercise9_27_positive {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (δ ε : ) ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal) ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε  FABL.mean (FABL.bribeFunction f J 1).toReal 
          J.card  1 + 100 * n / Real.log n * Real.log (8 / (ε * δ))
    theorem FABL.exercise9_27_positive {n : }
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (δ ε : )
      ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal)
      ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε 
            FABL.mean
              (FABL.bribeFunction f J
                  1).toReal 
          J.card 
            1 +
              100 * n / Real.log n *
                Real.log (8 / (ε * δ))
    Exercise 9.27(a), with an explicit cardinality bound. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.variance_dualBooleanFunction {n : } (f : FABL.BooleanFunction n) :
      FABL.variance (FABL.dualBooleanFunction f).toReal =
        FABL.variance f.toReal
    theorem FABL.variance_dualBooleanFunction {n : }
      (f : FABL.BooleanFunction n) :
      FABL.variance
          (FABL.dualBooleanFunction
              f).toReal =
        FABL.variance f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.exercise9_27_coalition {n : } (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (δ ε : ) ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal) ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε  FABL.coalitionalInfluence f J 
          J.card  2 + 200 * n / Real.log n * Real.log (8 / (ε * δ))
    theorem FABL.exercise9_27_coalition {n : }
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2  n) (δ ε : )
      ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal)
      ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε 
            FABL.coalitionalInfluence f J 
          J.card 
            2 +
              200 * n / Real.log n *
                Real.log (8 / (ε * δ))
    Exercise 9.27(b): union of the two directed bribery sets has total coalitional influence at
    least `1-ε`, with an explicit `O(log(1/(εδ))) · n/log n` bound. 
Theorem9.7.29
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 9.7.26
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.28. Define the monotonization f^* of a Boolean function. Prove that monotonization does not increase either toward-b or total coalitional influence. Deduce for every Boolean f the existence of a coalition of the cardinality in Exercise 9.27 whose influence is at least 1-\epsilon.

Lean code for Theorem9.7.2934 declarations
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.coordinatePolarization {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) : FABL.BooleanFunction n
    def FABL.coordinatePolarization {n : }
      (f : FABL.BooleanFunction n)
      (i : Fin n) : FABL.BooleanFunction n
    The `i`-polarization from Exercise 2.52: on every edge in direction `i`, place the
    larger value at its `+1` endpoint and the smaller value at its `-1` endpoint. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coordinateExpectation_coordinatePolarization_toReal {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) :
      (FABL.coordinateExpectation i)
          (FABL.coordinatePolarization f i).toReal =
        (FABL.coordinateExpectation i) f.toReal
    theorem FABL.coordinateExpectation_coordinatePolarization_toReal
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      (FABL.coordinateExpectation i)
          (FABL.coordinatePolarization f
              i).toReal =
        (FABL.coordinateExpectation i)
          f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_coordinatePolarization {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.mean (FABL.coordinatePolarization f i).toReal =
        FABL.mean f.toReal
    theorem FABL.mean_coordinatePolarization {n : }
      (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.mean
          (FABL.coordinatePolarization f
              i).toReal =
        FABL.mean f.toReal
    Exercise 2.52(a), Boolean specialization: a polarization preserves the mean. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.uniformProbability_coordinatePolarization_eq {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) (b : FABL.Sign) :
      (FABL.uniformProbability fun x =>
          FABL.coordinatePolarization f i x = b) =
        FABL.uniformProbability fun x => f x = b
    theorem FABL.uniformProbability_coordinatePolarization_eq
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) (b : FABL.Sign) :
      (FABL.uniformProbability fun x =>
          FABL.coordinatePolarization f i x =
            b) =
        FABL.uniformProbability fun x =>
          f x = b
    Polarization preserves the probability of each Boolean output. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.setCoordinate_comm_of_ne {n : } (x : FABL.SignCube n)
      {i j : Fin n} (hij : i  j) (a b : FABL.Sign) :
      FABL.setCoordinate (FABL.setCoordinate x i a) j b =
        FABL.setCoordinate (FABL.setCoordinate x j b) i a
    theorem FABL.setCoordinate_comm_of_ne {n : }
      (x : FABL.SignCube n) {i j : Fin n}
      (hij : i  j) (a b : FABL.Sign) :
      FABL.setCoordinate
          (FABL.setCoordinate x i a) j b =
        FABL.setCoordinate
          (FABL.setCoordinate x j b) i a
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.isMonotoneInCoordinate_coordinatePolarization_self {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) :
      FABL.IsMonotoneInCoordinate (FABL.coordinatePolarization f i) i
    theorem FABL.isMonotoneInCoordinate_coordinatePolarization_self
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.IsMonotoneInCoordinate
        (FABL.coordinatePolarization f i) i
    Exercise 2.52(d): polarization makes the selected direction monotone. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.isMonotoneInCoordinate_coordinatePolarization {n : }
      (f : FABL.BooleanFunction n) {i j : Fin n}
      (hj : FABL.IsMonotoneInCoordinate f j) :
      FABL.IsMonotoneInCoordinate (FABL.coordinatePolarization f i) j
    theorem FABL.isMonotoneInCoordinate_coordinatePolarization
      {n : } (f : FABL.BooleanFunction n)
      {i j : Fin n}
      (hj : FABL.IsMonotoneInCoordinate f j) :
      FABL.IsMonotoneInCoordinate
        (FABL.coordinatePolarization f i) j
    Exercise 2.52(d): polarization preserves monotonicity in every direction that was already
    monotone. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_coordinatePolarization_imp_of_mem {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain (FABL.coordinatePolarization f i) J b x 
        FABL.CoalitionCanAttain f J b x
    theorem FABL.coalitionCanAttain_coordinatePolarization_imp_of_mem
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) (hiJ : i  J)
      (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain
          (FABL.coordinatePolarization f i) J
          b x 
        FABL.CoalitionCanAttain f J b x
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_coordinatePolarization_one_set_one_imp {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain (FABL.coordinatePolarization f i) J 1
          (FABL.setCoordinate x i 1) 
        FABL.CoalitionCanAttain f J 1 (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J 1 (FABL.setCoordinate x i (-1))
    theorem FABL.coalitionCanAttain_coordinatePolarization_one_set_one_imp
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain
          (FABL.coordinatePolarization f i) J
          1 (FABL.setCoordinate x i 1) 
        FABL.CoalitionCanAttain f J 1
            (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J 1
            (FABL.setCoordinate x i (-1))
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_coordinatePolarization_one_set_neg_one_imp
      {n : } (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain (FABL.coordinatePolarization f i) J 1
          (FABL.setCoordinate x i (-1)) 
        FABL.CoalitionCanAttain f J 1 (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J 1 (FABL.setCoordinate x i (-1))
    theorem FABL.coalitionCanAttain_coordinatePolarization_one_set_neg_one_imp
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain
          (FABL.coordinatePolarization f i) J
          1 (FABL.setCoordinate x i (-1)) 
        FABL.CoalitionCanAttain f J 1
            (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J 1
            (FABL.setCoordinate x i (-1))
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_coordinatePolarization_neg_one_set_one_imp
      {n : } (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain (FABL.coordinatePolarization f i) J (-1)
          (FABL.setCoordinate x i 1) 
        FABL.CoalitionCanAttain f J (-1) (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J (-1) (FABL.setCoordinate x i (-1))
    theorem FABL.coalitionCanAttain_coordinatePolarization_neg_one_set_one_imp
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain
          (FABL.coordinatePolarization f i) J
          (-1) (FABL.setCoordinate x i 1) 
        FABL.CoalitionCanAttain f J (-1)
            (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J (-1)
            (FABL.setCoordinate x i (-1))
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionCanAttain_coordinatePolarization_neg_one_set_neg_one_imp
      {n : } (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain (FABL.coordinatePolarization f i) J (-1)
          (FABL.setCoordinate x i (-1)) 
        FABL.CoalitionCanAttain f J (-1) (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J (-1) (FABL.setCoordinate x i (-1))
    theorem FABL.coalitionCanAttain_coordinatePolarization_neg_one_set_neg_one_imp
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n)
      (hiJ : i  J) (x : FABL.SignCube n) :
      FABL.CoalitionCanAttain
          (FABL.coordinatePolarization f i) J
          (-1) (FABL.setCoordinate x i (-1)) 
        FABL.CoalitionCanAttain f J (-1)
            (FABL.setCoordinate x i 1) 
          FABL.CoalitionCanAttain f J (-1)
            (FABL.setCoordinate x i (-1))
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_le_mean_of_pointwise {n : } {u v : FABL.SignCube n  }
      (huv :  (x : FABL.SignCube n), u x  v x) : FABL.mean u  FABL.mean v
    theorem FABL.mean_le_mean_of_pointwise {n : }
      {u v : FABL.SignCube n  }
      (huv :
         (x : FABL.SignCube n), u x  v x) :
      FABL.mean u  FABL.mean v
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.indicator_pair_le_of_union_inter (Pplus Pminus Aplus Aminus : Prop)
      [Decidable Pplus] [Decidable Pminus] [Decidable Aplus]
      [Decidable Aminus] (hplus : Pplus  Aplus  Aminus)
      (hminus : Pminus  Aplus  Aminus) :
      ((if Pplus then 1 else 0) + if Pminus then 1 else 0) 
        (if Aplus then 1 else 0) + if Aminus then 1 else 0
    theorem FABL.indicator_pair_le_of_union_inter
      (Pplus Pminus Aplus Aminus : Prop)
      [Decidable Pplus] [Decidable Pminus]
      [Decidable Aplus] [Decidable Aminus]
      (hplus : Pplus  Aplus  Aminus)
      (hminus : Pminus  Aplus  Aminus) :
      ((if Pplus then 1 else 0) +
          if Pminus then 1 else 0) 
        (if Aplus then 1 else 0) +
          if Aminus then 1 else 0
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.indicator_pair_le_of_imp (Pplus Pminus Aplus Aminus : Prop)
      [Decidable Pplus] [Decidable Pminus] [Decidable Aplus]
      [Decidable Aminus] (hplus : Pplus  Aplus)
      (hminus : Pminus  Aminus) :
      ((if Pplus then 1 else 0) + if Pminus then 1 else 0) 
        (if Aplus then 1 else 0) + if Aminus then 1 else 0
    theorem FABL.indicator_pair_le_of_imp
      (Pplus Pminus Aplus Aminus : Prop)
      [Decidable Pplus] [Decidable Pminus]
      [Decidable Aplus] [Decidable Aminus]
      (hplus : Pplus  Aplus)
      (hminus : Pminus  Aminus) :
      ((if Pplus then 1 else 0) +
          if Pminus then 1 else 0) 
        (if Aplus then 1 else 0) +
          if Aminus then 1 else 0
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionSuccessProbability_coordinatePolarization_le {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) :
      FABL.coalitionSuccessProbability (FABL.coordinatePolarization f i) J
          b 
        FABL.coalitionSuccessProbability f J b
    theorem FABL.coalitionSuccessProbability_coordinatePolarization_le
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) :
      FABL.coalitionSuccessProbability
          (FABL.coordinatePolarization f i) J
          b 
        FABL.coalitionSuccessProbability f J b
    Exercise 9.28(a), the key one-coordinate rearrangement inequality: polarization cannot
    increase the probability that a fixed coalition can force either prescribed output. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_coordinatePolarization_le {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) :
      FABL.coalitionalInfluenceToward (FABL.coordinatePolarization f i) J
          b 
        FABL.coalitionalInfluenceToward f J b
    theorem FABL.coalitionalInfluenceToward_coordinatePolarization_le
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign)
      (i : Fin n) :
      FABL.coalitionalInfluenceToward
          (FABL.coordinatePolarization f i) J
          b 
        FABL.coalitionalInfluenceToward f J b
    Exercise 9.28(a), directed form: a single polarization does not increase coalition
    influence toward either output. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_coordinatePolarization_le {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (i : Fin n) :
      FABL.coalitionalInfluence (FABL.coordinatePolarization f i) J 
        FABL.coalitionalInfluence f J
    theorem FABL.coalitionalInfluence_coordinatePolarization_le
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n) :
      FABL.coalitionalInfluence
          (FABL.coordinatePolarization f i)
          J 
        FABL.coalitionalInfluence f J
    Exercise 9.28(a), total form: a single polarization does not increase total coalitional
    influence. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.polarizeCoordinates {n : } :
      FABL.BooleanFunction n  List (Fin n)  FABL.BooleanFunction n
    def FABL.polarizeCoordinates {n : } :
      FABL.BooleanFunction n 
        List (Fin n)  FABL.BooleanFunction n
    Apply coordinate polarizations in the order given by a finite list. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_polarizeCoordinates {n : } (f : FABL.BooleanFunction n)
      (is : List (Fin n)) :
      FABL.mean (FABL.polarizeCoordinates f is).toReal = FABL.mean f.toReal
    theorem FABL.mean_polarizeCoordinates {n : }
      (f : FABL.BooleanFunction n)
      (is : List (Fin n)) :
      FABL.mean
          (FABL.polarizeCoordinates f
              is).toReal =
        FABL.mean f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_polarizeCoordinates_le {n : }
      (f : FABL.BooleanFunction n) (is : List (Fin n)) (J : Finset (Fin n))
      (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward (FABL.polarizeCoordinates f is) J b 
        FABL.coalitionalInfluenceToward f J b
    theorem FABL.coalitionalInfluenceToward_polarizeCoordinates_le
      {n : } (f : FABL.BooleanFunction n)
      (is : List (Fin n)) (J : Finset (Fin n))
      (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward
          (FABL.polarizeCoordinates f is) J
          b 
        FABL.coalitionalInfluenceToward f J b
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_polarizeCoordinates_le {n : }
      (f : FABL.BooleanFunction n) (is : List (Fin n))
      (J : Finset (Fin n)) :
      FABL.coalitionalInfluence (FABL.polarizeCoordinates f is) J 
        FABL.coalitionalInfluence f J
    theorem FABL.coalitionalInfluence_polarizeCoordinates_le
      {n : } (f : FABL.BooleanFunction n)
      (is : List (Fin n))
      (J : Finset (Fin n)) :
      FABL.coalitionalInfluence
          (FABL.polarizeCoordinates f is) J 
        FABL.coalitionalInfluence f J
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.isMonotoneInCoordinate_polarizeCoordinates {n : }
      (f : FABL.BooleanFunction n) (is : List (Fin n)) (j : Fin n)
      (hj : FABL.IsMonotoneInCoordinate f j) :
      FABL.IsMonotoneInCoordinate (FABL.polarizeCoordinates f is) j
    theorem FABL.isMonotoneInCoordinate_polarizeCoordinates
      {n : } (f : FABL.BooleanFunction n)
      (is : List (Fin n)) (j : Fin n)
      (hj : FABL.IsMonotoneInCoordinate f j) :
      FABL.IsMonotoneInCoordinate
        (FABL.polarizeCoordinates f is) j
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.isMonotoneInCoordinate_polarizeCoordinates_of_mem {n : }
      (f : FABL.BooleanFunction n) (is : List (Fin n)) (j : Fin n)
      (hj : j  is) :
      FABL.IsMonotoneInCoordinate (FABL.polarizeCoordinates f is) j
    theorem FABL.isMonotoneInCoordinate_polarizeCoordinates_of_mem
      {n : } (f : FABL.BooleanFunction n)
      (is : List (Fin n)) (j : Fin n)
      (hj : j  is) :
      FABL.IsMonotoneInCoordinate
        (FABL.polarizeCoordinates f is) j
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.le_bribeInput_one_of_isMonotoneInCoordinate {n : }
      (f : FABL.BooleanFunction n)
      (hf :  (i : Fin n), FABL.IsMonotoneInCoordinate f i)
      (J : Finset (Fin n)) (x : FABL.SignCube n) :
      f x  f (FABL.bribeInput J 1 x)
    theorem FABL.le_bribeInput_one_of_isMonotoneInCoordinate
      {n : } (f : FABL.BooleanFunction n)
      (hf :
         (i : Fin n),
          FABL.IsMonotoneInCoordinate f i)
      (J : Finset (Fin n))
      (x : FABL.SignCube n) :
      f x  f (FABL.bribeInput J 1 x)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.monotone_of_isMonotoneInCoordinate {n : }
      (f : FABL.BooleanFunction n)
      (hf :  (i : Fin n), FABL.IsMonotoneInCoordinate f i) : Monotone f
    theorem FABL.monotone_of_isMonotoneInCoordinate
      {n : } (f : FABL.BooleanFunction n)
      (hf :
         (i : Fin n),
          FABL.IsMonotoneInCoordinate f i) :
      Monotone f
    Coordinatewise monotonicity on every direction is equivalent to monotonicity for the product
    order; this is the direction needed for the monotonization. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.monotonization {n : } (f : FABL.BooleanFunction n) :
      FABL.BooleanFunction n
    def FABL.monotonization {n : }
      (f : FABL.BooleanFunction n) :
      FABL.BooleanFunction n
    Exercise 9.28's monotonization `f*`, obtained by polarizing once in each coordinate. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_monotonization {n : } (f : FABL.BooleanFunction n) :
      FABL.mean (FABL.monotonization f).toReal = FABL.mean f.toReal
    theorem FABL.mean_monotonization {n : }
      (f : FABL.BooleanFunction n) :
      FABL.mean
          (FABL.monotonization f).toReal =
        FABL.mean f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.isMonotoneInCoordinate_monotonization {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) :
      FABL.IsMonotoneInCoordinate (FABL.monotonization f) i
    theorem FABL.isMonotoneInCoordinate_monotonization
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) :
      FABL.IsMonotoneInCoordinate
        (FABL.monotonization f) i
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.monotone_monotonization {n : } (f : FABL.BooleanFunction n) :
      Monotone (FABL.monotonization f)
    theorem FABL.monotone_monotonization {n : }
      (f : FABL.BooleanFunction n) :
      Monotone (FABL.monotonization f)
    Exercise 9.28: the full polarization is monotone. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluenceToward_monotonization_le {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward (FABL.monotonization f) J b 
        FABL.coalitionalInfluenceToward f J b
    theorem FABL.coalitionalInfluenceToward_monotonization_le
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) :
      FABL.coalitionalInfluenceToward
          (FABL.monotonization f) J b 
        FABL.coalitionalInfluenceToward f J b
    Exercise 9.28(a), directed form for the full monotonization. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.coalitionalInfluence_monotonization_le {n : }
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) :
      FABL.coalitionalInfluence (FABL.monotonization f) J 
        FABL.coalitionalInfluence f J
    theorem FABL.coalitionalInfluence_monotonization_le
      {n : } (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.coalitionalInfluence
          (FABL.monotonization f) J 
        FABL.coalitionalInfluence f J
    Exercise 9.28(a), total form for the full monotonization. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.variance_monotonization {n : } (f : FABL.BooleanFunction n) :
      FABL.variance (FABL.monotonization f).toReal = FABL.variance f.toReal
    theorem FABL.variance_monotonization {n : }
      (f : FABL.BooleanFunction n) :
      FABL.variance
          (FABL.monotonization f).toReal =
        FABL.variance f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.exercise9_28_coalition {n : } (f : FABL.BooleanFunction n)
      (hn : 2  n) (δ ε : ) ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal) ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε  FABL.coalitionalInfluence f J 
          J.card  2 + 200 * n / Real.log n * Real.log (8 / (ε * δ))
    theorem FABL.exercise9_28_coalition {n : }
      (f : FABL.BooleanFunction n)
      (hn : 2  n) (δ ε : ) ( : 0 < δ)
      (hvar : δ  FABL.variance f.toReal)
      ( : ε  Set.Ioo 0 (1 / 2)) :
       J,
        1 - ε 
            FABL.coalitionalInfluence f J 
          J.card 
            2 +
              200 * n / Real.log n *
                Real.log (8 / (ε * δ))
    Exercise 9.28(b): the general coalition theorem for an arbitrary Boolean function.  The
    explicit bound is inherited unchanged from Exercise 9.27 after monotonization. 
Lemma9.7.30
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 4.2.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Exercise 9.29. Establish the general-variance KKL Edge-Isoperimetric Theorem. In place of the unbiased spectral step prove 3\sum_{|S|\ge1}(1/3)^{|S|}\widehat f(S)^2 \ge 3\operatorname{Var}[f] 3^{-\mathbf I[f]/\operatorname{Var}[f]}.

Lemma9.7.31
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.5.7
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.30. For 0<\delta<1, prove \operatorname{MaxInf}[f] \ge \left(\frac{1+\delta}{1-\delta}\right)^{1/\delta} \left(\frac1{\widetilde I[f]}\right)^{1/\delta} \left(\frac{1-\delta}{1+\delta}\right)^{\widetilde I[f]/\delta}. Deduce a \widetilde\Omega(C^{-\widetilde I[f]}) bound for every C>e^2. Taking \delta=1/(2\widetilde I[f]^{1/3}), obtain the refined explicit bound in the exercise and conclude \operatorname{MaxInf}[f] \ge \frac12\operatorname{Var}[f] \frac{\ln n}{n}(1-o_n(1)).

Lean code for Lemma9.7.3117 declarations
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.variance_mul_rho_rpow_sub_one_le_totalStableInfluence {n : }
      (f : FABL.BooleanFunction n) (hvar : 0 < FABL.variance f.toReal)
      (rho : ) (hrho : rho  Set.Ioc 0 1) :
      FABL.variance f.toReal *
          rho ^
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal - 1) 
        FABL.totalStableInfluence rho f.toReal
    theorem FABL.variance_mul_rho_rpow_sub_one_le_totalStableInfluence
      {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal)
      (rho : ) (hrho : rho  Set.Ioc 0 1) :
      FABL.variance f.toReal *
          rho ^
            (FABL.totalInfluence f.toReal /
                FABL.variance f.toReal -
              1) 
        FABL.totalStableInfluence rho f.toReal
    The general spectral Jensen lower bound used in Exercise 9.30. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.totalStableInfluence_le_maximumInfluence_rpow_mul {n : }
      (f : FABL.BooleanFunction n) (delta rho : ) (hdelta : 0  delta)
      (hrho : rho  Set.Icc 0 1) (hexponent : 2 / (1 + rho) = 1 + delta) :
      FABL.totalStableInfluence rho f.toReal 
        FABL.maximumInfluence f ^ delta * FABL.totalInfluence f.toReal
    theorem FABL.totalStableInfluence_le_maximumInfluence_rpow_mul
      {n : } (f : FABL.BooleanFunction n)
      (delta rho : ) (hdelta : 0  delta)
      (hrho : rho  Set.Icc 0 1)
      (hexponent :
        2 / (1 + rho) = 1 + delta) :
      FABL.totalStableInfluence rho f.toReal 
        FABL.maximumInfluence f ^ delta *
          FABL.totalInfluence f.toReal
    Corollary 9.25 summed over coordinates and bounded by maximum influence. 
  • defdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    def FABL.exercise9_30Rho (delta : ) : 
    def FABL.exercise9_30Rho (delta : ) : 
    The correlation parameter `rho = (1-delta)/(1+delta)` from Exercise 9.30. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30Rho_mem_Ioc {delta : }
      (hdelta : delta  Set.Ioo 0 1) :
      FABL.exercise9_30Rho delta  Set.Ioc 0 1
    theorem FABL.exercise9_30Rho_mem_Ioc {delta : }
      (hdelta : delta  Set.Ioo 0 1) :
      FABL.exercise9_30Rho delta  Set.Ioc 0 1
    The Exercise 9.30 correlation lies in `(0,1]`. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_exponent_identity {delta : }
      (hdelta : delta  Set.Ioo 0 1) :
      2 / (1 + FABL.exercise9_30Rho delta) = 1 + delta
    theorem FABL.exercise9_30_exponent_identity
      {delta : }
      (hdelta : delta  Set.Ioo 0 1) :
      2 / (1 + FABL.exercise9_30Rho delta) =
        1 + delta
    The chosen correlation makes the stable-influence exponent exactly `1+delta`. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_compact {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      (FABL.exercise9_30Rho delta ^
              (FABL.totalInfluence f.toReal / FABL.variance f.toReal - 1) /
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal)) ^
          delta⁻¹ 
        FABL.maximumInfluence f
    theorem FABL.exercise9_30_compact {n : }
      (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal)
      (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      (FABL.exercise9_30Rho delta ^
              (FABL.totalInfluence f.toReal /
                  FABL.variance f.toReal -
                1) /
            (FABL.totalInfluence f.toReal /
              FABL.variance f.toReal)) ^
          delta⁻¹ 
        FABL.maximumInfluence f
    Exercise 9.30(a) in compact normalized form. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_rho_form {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      (FABL.exercise9_30Rho delta)⁻¹ ^ delta⁻¹ *
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal)⁻¹ ^
              delta⁻¹ *
          FABL.exercise9_30Rho delta ^
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal /
              delta) 
        FABL.maximumInfluence f
    theorem FABL.exercise9_30_rho_form {n : }
      (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal)
      (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      (FABL.exercise9_30Rho delta)⁻¹ ^
              delta⁻¹ *
            (FABL.totalInfluence f.toReal /
                  FABL.variance f.toReal)⁻¹ ^
              delta⁻¹ *
          FABL.exercise9_30Rho delta ^
            (FABL.totalInfluence f.toReal /
                FABL.variance f.toReal /
              delta) 
        FABL.maximumInfluence f
    Exercise 9.30(a) with the three normalized factors separated. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_parameterized {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      ((1 + delta) / (1 - delta)) ^ (1 / delta) *
            (1 / (FABL.totalInfluence f.toReal / FABL.variance f.toReal)) ^
              (1 / delta) *
          ((1 - delta) / (1 + delta)) ^
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal /
              delta) 
        FABL.maximumInfluence f
    theorem FABL.exercise9_30_parameterized {n : }
      (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal)
      (delta : )
      (hdelta : delta  Set.Ioo 0 1) :
      ((1 + delta) / (1 - delta)) ^
              (1 / delta) *
            (1 /
                (FABL.totalInfluence
                    f.toReal /
                  FABL.variance f.toReal)) ^
              (1 / delta) *
          ((1 - delta) / (1 + delta)) ^
            (FABL.totalInfluence f.toReal /
                FABL.variance f.toReal /
              delta) 
        FABL.maximumInfluence f
    Exercise 9.30(a), exactly in the displayed book parameterization. 
  • defdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    def FABL.exercise9_30LogRemainder (delta : ) : 
    def FABL.exercise9_30LogRemainder
      (delta : ) : 
    The logarithmic remainder in the elementary estimate used by Exercise 9.30(b). 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30LogRemainder_nonneg {delta : }
      (hdelta : delta  Set.Icc 0 (1 / 2)) :
      0  FABL.exercise9_30LogRemainder delta
    theorem FABL.exercise9_30LogRemainder_nonneg
      {delta : }
      (hdelta : delta  Set.Icc 0 (1 / 2)) :
      0  FABL.exercise9_30LogRemainder delta
    The logarithmic remainder is nonnegative on `[0,1/2]`. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_rho_rpow_inv_lower {delta : }
      (hdelta : delta  Set.Ioc 0 (1 / 2)) :
      Real.exp (-2 - delta ^ 2)  FABL.exercise9_30Rho delta ^ delta⁻¹
    theorem FABL.exercise9_30_rho_rpow_inv_lower
      {delta : }
      (hdelta : delta  Set.Ioc 0 (1 / 2)) :
      Real.exp (-2 - delta ^ 2) 
        FABL.exercise9_30Rho delta ^ delta⁻¹
    Exercise 9.30(b)'s hinted estimate
    `exp (-2-delta^2) ≤ ((1-delta)/(1+delta))^(1/delta)`. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_refined {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      have K := FABL.totalInfluence f.toReal / FABL.variance f.toReal;
      Real.exp (-2 * K) * Real.exp 2 * K⁻¹ ^ (2 * K ^ (1 / 3)) *
          Real.exp (-(1 / 4) * K ^ (1 / 3)) 
        FABL.maximumInfluence f
    theorem FABL.exercise9_30_refined {n : }
      (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      have K :=
        FABL.totalInfluence f.toReal /
          FABL.variance f.toReal;
      Real.exp (-2 * K) * Real.exp 2 *
            K⁻¹ ^ (2 * K ^ (1 / 3)) *
          Real.exp (-(1 / 4) * K ^ (1 / 3)) 
        FABL.maximumInfluence f
    Exercise 9.30(b)'s refined explicit maximum-influence lower bound. 
  • defdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    def FABL.exercise9_30KKLError (n : ) : 
    def FABL.exercise9_30KKLError (n : ) : 
    The explicit error term used for Exercise 9.30(c). 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.exercise9_30_asymptotic_bound_of_large (n : )
      (hlog : 1 < Real.log n)
      (hpower : 96 * Real.log n ^ (5 / 12)  (Real.log n))
      (hexp : Real.log n / 2  Real.exp ((Real.log n) / 2))
      (f : FABL.BooleanFunction n) :
      1 / 2 * FABL.variance f.toReal * Real.log n / n *
          (1 - FABL.exercise9_30KKLError n) 
        FABL.maximumInfluence f
    theorem FABL.exercise9_30_asymptotic_bound_of_large
      (n : ) (hlog : 1 < Real.log n)
      (hpower :
        96 * Real.log n ^ (5 / 12) 
          (Real.log n))
      (hexp :
        Real.log n / 2 
          Real.exp ((Real.log n) / 2))
      (f : FABL.BooleanFunction n) :
      1 / 2 * FABL.variance f.toReal *
              Real.log n /
            n *
          (1 - FABL.exercise9_30KKLError n) 
        FABL.maximumInfluence f
    Exercise 9.30(c) under three purely numerical large-dimension conditions.  These conditions
    are independent of the Boolean function and are discharged asymptotically below. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.tendsto_exercise9_30KKLError :
      Filter.Tendsto FABL.exercise9_30KKLError Filter.atTop (nhds 0)
    theorem FABL.tendsto_exercise9_30KKLError :
      Filter.Tendsto FABL.exercise9_30KKLError
        Filter.atTop (nhds 0)
    The explicit error in Exercise 9.30(c) tends to zero. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.eventually_exercise9_30_numeric_conditions :
      ∀ᶠ (n : ) in Filter.atTop,
        1 < Real.log n 
          96 * Real.log n ^ (5 / 12)  (Real.log n) 
            Real.log n / 2  Real.exp ((Real.log n) / 2)
    theorem FABL.eventually_exercise9_30_numeric_conditions :
      ∀ᶠ (n : ) in Filter.atTop,
        1 < Real.log n 
          96 * Real.log n ^ (5 / 12) 
              (Real.log n) 
            Real.log n / 2 
              Real.exp ((Real.log n) / 2)
    The numerical hypotheses of `exercise9_30_asymptotic_bound_of_large` hold eventually. 
  • theoremdefined in FABL/Chapter09/ImprovedKKL.lean
    complete
    theorem FABL.eventually_exercise9_30_asymptotic_kkl :
      ∀ᶠ (n : ) in Filter.atTop,
         (f : FABL.BooleanFunction n),
          1 / 2 * FABL.variance f.toReal * Real.log n / n *
              (1 - FABL.exercise9_30KKLError n) 
            FABL.maximumInfluence f
    theorem FABL.eventually_exercise9_30_asymptotic_kkl :
      ∀ᶠ (n : ) in Filter.atTop,
         (f : FABL.BooleanFunction n),
          1 / 2 * FABL.variance f.toReal *
                  Real.log n /
                n *
              (1 -
                FABL.exercise9_30KKLError n) 
            FABL.maximumInfluence f
    Exercise 9.30(c): the sharp asymptotic KKL constant with an explicit `o(1)` error. 
Lemma9.7.32
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.5.7
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.31. For 0<\eta\le1, establish the improved influential-coordinate cardinality claim in Remark 9.29 with C(\eta)=(2/\eta+1)^2.

Lean code for Lemma9.7.3223 declarations
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutRho_pos {eta : } (heta : 0 < eta) :
      0 < FABL.improvedFriedgutRho eta
    theorem FABL.improvedFriedgutRho_pos {eta : }
      (heta : 0 < eta) :
      0 < FABL.improvedFriedgutRho eta
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutRho_le_one {eta : } (heta : 0 < eta) :
      FABL.improvedFriedgutRho eta  1
    theorem FABL.improvedFriedgutRho_le_one {eta : }
      (heta : 0 < eta) :
      FABL.improvedFriedgutRho eta  1
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutRho_lt_one {eta : } (heta : 0 < eta) :
      FABL.improvedFriedgutRho eta < 1
    theorem FABL.improvedFriedgutRho_lt_one {eta : }
      (heta : 0 < eta) :
      FABL.improvedFriedgutRho eta < 1
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutConstant_eq_inv_rho_sq {eta : } (heta : 0 < eta) :
      FABL.improvedFriedgutConstant eta =
        (FABL.improvedFriedgutRho eta)⁻¹ ^ 2
    theorem FABL.improvedFriedgutConstant_eq_inv_rho_sq
      {eta : } (heta : 0 < eta) :
      FABL.improvedFriedgutConstant eta =
        (FABL.improvedFriedgutRho eta)⁻¹ ^ 2
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.two_div_eta_add_one_eq_inv_improvedFriedgutRho {eta : }
      (heta : 0 < eta) : 2 / eta + 1 = (FABL.improvedFriedgutRho eta)⁻¹
    theorem FABL.two_div_eta_add_one_eq_inv_improvedFriedgutRho
      {eta : } (heta : 0 < eta) :
      2 / eta + 1 =
        (FABL.improvedFriedgutRho eta)⁻¹
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutGeneralConstant_eq_inv_rho_rpow {eta : }
      (heta : 0 < eta) :
      FABL.improvedFriedgutGeneralConstant eta =
        (FABL.improvedFriedgutRho eta)⁻¹ ^ (1 + eta)
    theorem FABL.improvedFriedgutGeneralConstant_eq_inv_rho_rpow
      {eta : } (heta : 0 < eta) :
      FABL.improvedFriedgutGeneralConstant
          eta =
        (FABL.improvedFriedgutRho eta)⁻¹ ^
          (1 + eta)
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.lowDegreeCoordinateMass_le_inv_rho_pow_mul_stableInfluence {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) (k : ) {rho : }
      (hrhoPos : 0 < rho) (hrhoOne : rho  1) :
      FABL.lowDegreeCoordinateMass f i k 
        rho⁻¹ ^ k * FABL.stableInfluence rho f.toReal i
    theorem FABL.lowDegreeCoordinateMass_le_inv_rho_pow_mul_stableInfluence
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) (k : ) {rho : }
      (hrhoPos : 0 < rho)
      (hrhoOne : rho  1) :
      FABL.lowDegreeCoordinateMass f i k 
        rho⁻¹ ^ k *
          FABL.stableInfluence rho f.toReal i
    Low-degree coordinate mass controlled by stable influence at an arbitrary positive
    correlation.  This is the parameterized version of the first estimate in Theorem 9.28. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.stableInfluence_improvedFriedgutRho_le {n : }
      (f : FABL.BooleanFunction n) (i : Fin n) {eta tau : }
      (heta : 0 < eta) (_htau : 0 < tau)
      (hi : FABL.booleanInfluence f i < tau) :
      FABL.stableInfluence (FABL.improvedFriedgutRho eta) f.toReal i 
        tau ^ (1 / (1 + eta)) * FABL.booleanInfluence f i
    theorem FABL.stableInfluence_improvedFriedgutRho_le
      {n : } (f : FABL.BooleanFunction n)
      (i : Fin n) {eta tau : }
      (heta : 0 < eta) (_htau : 0 < tau)
      (hi : FABL.booleanInfluence f i < tau) :
      FABL.stableInfluence
          (FABL.improvedFriedgutRho eta)
          f.toReal i 
        tau ^ (1 / (1 + eta)) *
          FABL.booleanInfluence f i
    Corollary 9.25 at the parameter of Remark 9.29, charged against a coordinate threshold. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutThreshold_pos {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : } (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      0 < FABL.improvedFriedgutThreshold f epsilon eta k
    theorem FABL.improvedFriedgutThreshold_pos {n : }
      (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      0 <
        FABL.improvedFriedgutThreshold f
          epsilon eta k
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutThreshold_rpow {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : } (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.improvedFriedgutThreshold f epsilon eta k ^ (1 / (1 + eta)) =
        epsilon / FABL.totalInfluence f.toReal *
          FABL.improvedFriedgutRho eta ^ k
    theorem FABL.improvedFriedgutThreshold_rpow
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.improvedFriedgutThreshold f epsilon
            eta k ^
          (1 / (1 + eta)) =
        epsilon /
            FABL.totalInfluence f.toReal *
          FABL.improvedFriedgutRho eta ^ k
    Taking the `1 / (1 + eta)` power of the improved threshold recovers the quantity
    which cancels the low-degree stable-influence estimate. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.lowDegreeOutsideInfluentialMass_le_improved {n : }
      (f : FABL.BooleanFunction n) {eta tau : } (heta : 0 < eta)
      (htau : 0 < tau) (k : ) :
      FABL.lowDegreeOutsideInfluentialMass f tau k 
        (FABL.improvedFriedgutRho eta)⁻¹ ^ k * tau ^ (1 / (1 + eta)) *
          FABL.totalInfluence f.toReal
    theorem FABL.lowDegreeOutsideInfluentialMass_le_improved
      {n : } (f : FABL.BooleanFunction n)
      {eta tau : } (heta : 0 < eta)
      (htau : 0 < tau) (k : ) :
      FABL.lowDegreeOutsideInfluentialMass f
          tau k 
        (FABL.improvedFriedgutRho eta)⁻¹ ^ k *
            tau ^ (1 / (1 + eta)) *
          FABL.totalInfluence f.toReal
    The improved low-degree mass bound obtained by summing Corollary 9.25 only over
    noninfluential coordinates. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.lowDegreeOutsideInfluentialMass_improvedThreshold_le {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.lowDegreeOutsideInfluentialMass f
          (FABL.improvedFriedgutThreshold f epsilon eta k) k 
        epsilon
    theorem FABL.lowDegreeOutsideInfluentialMass_improvedThreshold_le
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.lowDegreeOutsideInfluentialMass f
          (FABL.improvedFriedgutThreshold f
            epsilon eta k)
          k 
        epsilon
    At the improved threshold, the low-degree Fourier mass outside the influential set is at
    most `epsilon`. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.fourierWeightOutside_improvedFriedgutFamily {n : }
      (f : FABL.BooleanFunction n) (epsilon eta : ) (k : ) :
      FABL.fourierWeightOutside f.toReal
          (FABL.improvedFriedgutFamily f epsilon eta k) =
        FABL.lowDegreeOutsideInfluentialMass f
          (FABL.improvedFriedgutThreshold f epsilon eta k) k
    theorem FABL.fourierWeightOutside_improvedFriedgutFamily
      {n : } (f : FABL.BooleanFunction n)
      (epsilon eta : ) (k : ) :
      FABL.fourierWeightOutside f.toReal
          (FABL.improvedFriedgutFamily f
            epsilon eta k) =
        FABL.lowDegreeOutsideInfluentialMass f
          (FABL.improvedFriedgutThreshold f
            epsilon eta k)
          k
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutGeneralConstant_pow {eta : } (heta : 0 < eta)
      (k : ) :
      FABL.improvedFriedgutGeneralConstant eta ^ k =
        ((FABL.improvedFriedgutRho eta)⁻¹ ^ k) ^ (1 + eta)
    theorem FABL.improvedFriedgutGeneralConstant_pow
      {eta : } (heta : 0 < eta) (k : ) :
      FABL.improvedFriedgutGeneralConstant
            eta ^
          k =
        ((FABL.improvedFriedgutRho eta)⁻¹ ^
            k) ^
          (1 + eta)
    Commuting the natural and real powers in the all-`eta` constant. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_generalDenominator_identity {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.totalInfluence f.toReal /
          FABL.improvedFriedgutThreshold f epsilon eta k =
        FABL.improvedFriedgutGeneralJuntaSizeTerm f epsilon eta k
    theorem FABL.improvedFriedgut_generalDenominator_identity
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.totalInfluence f.toReal /
          FABL.improvedFriedgutThreshold f
            epsilon eta k =
        FABL.improvedFriedgutGeneralJuntaSizeTerm
          f epsilon eta k
    Exact cardinal-quotient identity for every `eta > 0`. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgutThreshold_lower {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (hetaOne : eta  1) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      (epsilon / FABL.totalInfluence f.toReal) ^ (1 + eta) *
          (FABL.improvedFriedgutRho eta ^ k) ^ 2 
        FABL.improvedFriedgutThreshold f epsilon eta k
    theorem FABL.improvedFriedgutThreshold_lower
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (hetaOne : eta  1)
      (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      (epsilon /
              FABL.totalInfluence f.toReal) ^
            (1 + eta) *
          (FABL.improvedFriedgutRho eta ^ k) ^
            2 
        FABL.improvedFriedgutThreshold f
          epsilon eta k
    In the book-relevant range `eta <= 1`, the improved threshold is bounded below by the
    quantity whose reciprocal produces `C(eta)^k`. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_bookDenominator_identity {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.totalInfluence f.toReal /
          ((epsilon / FABL.totalInfluence f.toReal) ^ (1 + eta) *
            (FABL.improvedFriedgutRho eta ^ k) ^ 2) =
        FABL.improvedFriedgutJuntaSizeTerm f epsilon eta k
    theorem FABL.improvedFriedgut_bookDenominator_identity
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.totalInfluence f.toReal /
          ((epsilon /
                FABL.totalInfluence
                  f.toReal) ^
              (1 + eta) *
            (FABL.improvedFriedgutRho eta ^
                k) ^
              2) =
        FABL.improvedFriedgutJuntaSizeTerm f
          epsilon eta k
    The algebraic reciprocal identity behind the displayed size in Remark 9.29. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutSmallFamily {n : } (f : FABL.BooleanFunction n)
      (epsilon eta : ) (k : ) : Set (Finset (Fin n))
    def FABL.improvedFriedgutSmallFamily {n : }
      (f : FABL.BooleanFunction n)
      (epsilon eta : ) (k : ) :
      Set (Finset (Fin n))
    The low-degree family supported on the improved influential-coordinate set. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.fourierWeightOutside_improvedFriedgutSmallFamily_le_add {n : }
      (f : FABL.BooleanFunction n) (epsilon eta : ) (k : ) :
      FABL.fourierWeightOutside f.toReal
          (FABL.improvedFriedgutSmallFamily f epsilon eta k) 
        FABL.fourierWeightOutside f.toReal
            (FABL.improvedFriedgutFamily f epsilon eta k) +
          FABL.fourierWeightAbove k f.toReal
    theorem FABL.fourierWeightOutside_improvedFriedgutSmallFamily_le_add
      {n : } (f : FABL.BooleanFunction n)
      (epsilon eta : ) (k : ) :
      FABL.fourierWeightOutside f.toReal
          (FABL.improvedFriedgutSmallFamily f
            epsilon eta k) 
        FABL.fourierWeightOutside f.toReal
            (FABL.improvedFriedgutFamily f
              epsilon eta k) +
          FABL.fourierWeightAbove k f.toReal
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_small_spectrum_concentrated {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo f.toReal epsilon k) :
      FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * epsilon)
        (FABL.improvedFriedgutSmallFamily f epsilon eta k)
    theorem FABL.improvedFriedgut_small_spectrum_concentrated
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal epsilon k) :
      FABL.IsFourierSpectrumConcentratedOn
        f.toReal (2 * epsilon)
        (FABL.improvedFriedgutSmallFamily f
          epsilon eta k)
    Remark 9.29's two-sided concentration conclusion after adding a degree-`k` tail bound. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_coordinateJunta_close {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo f.toReal epsilon k) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold f epsilon eta k))) 
        epsilon
    theorem FABL.improvedFriedgut_coordinateJunta_close
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal epsilon k) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold
                f epsilon eta k))) 
        epsilon
    The rounded conditional expectation at the improved coordinate threshold is
    `epsilon`-close to the original Boolean function. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_exists_close_junta_general {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo f.toReal epsilon k) :
       J g,
        J.card 
            FABL.improvedFriedgutGeneralJuntaSizeTerm f epsilon eta k 
          FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * epsilon)
              {S | S  J  S.card  k} 
            FABL.IsKJunta g J.card  FABL.relativeHammingDist f g  epsilon
    theorem FABL.improvedFriedgut_exists_close_junta_general
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal epsilon k) :
       J g,
        J.card 
            FABL.improvedFriedgutGeneralJuntaSizeTerm
              f epsilon eta k 
          FABL.IsFourierSpectrumConcentratedOn
              f.toReal (2 * epsilon)
              {S | S  J  S.card  k} 
            FABL.IsKJunta g J.card 
              FABL.relativeHammingDist f g 
                epsilon
    The all-positive-`eta` junta conclusion with the direct
    `(2 / eta + 1)^(1 + eta)` constant. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_exists_close_junta {n : }
      (f : FABL.BooleanFunction n) {epsilon eta : }
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (hetaOne : eta  1) (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo f.toReal epsilon k) :
       J g,
        J.card  FABL.improvedFriedgutJuntaSizeTerm f epsilon eta k 
          FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * epsilon)
              {S | S  J  S.card  k} 
            FABL.IsKJunta g J.card  FABL.relativeHammingDist f g  epsilon
    theorem FABL.improvedFriedgut_exists_close_junta
      {n : } (f : FABL.BooleanFunction n)
      {epsilon eta : }
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (hetaOne : eta  1)
      (k : )
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal epsilon k) :
       J g,
        J.card 
            FABL.improvedFriedgutJuntaSizeTerm
              f epsilon eta k 
          FABL.IsFourierSpectrumConcentratedOn
              f.toReal (2 * epsilon)
              {S | S  J  S.card  k} 
            FABL.IsKJunta g J.card 
              FABL.relativeHammingDist f g 
                epsilon
    Exercise 9.31 / Remark 9.29: the improved explicit junta conclusion. 
Theorem9.7.33
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 2.3.19
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Exercise 9.32. If f is nonconstant, prove there is S\subseteq[n] such that 0<|S|\le O\left(\frac{\mathbf I[f]}{\operatorname{Var}[f]}\right) and \widehat f(S)^2 \ge \exp\left( -O\left(\frac{\mathbf I[f]^2}{\operatorname{Var}[f]^2}\right) \right).

Lean code for Theorem9.7.338 declarations
  • defdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    def FABL.varianceFriedgutError {n : } (f : FABL.BooleanFunction n) : 
    def FABL.varianceFriedgutError {n : }
      (f : FABL.BooleanFunction n) : 
  • defdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    def FABL.varianceFriedgutDegree {n : } (f : FABL.BooleanFunction n) : 
    def FABL.varianceFriedgutDegree {n : }
      (f : FABL.BooleanFunction n) : 
  • defdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    def FABL.varianceFriedgutCoordinates {n : } (f : FABL.BooleanFunction n) :
      Finset (Fin n)
    def FABL.varianceFriedgutCoordinates {n : }
      (f : FABL.BooleanFunction n) :
      Finset (Fin n)
  • theoremdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    theorem FABL.varianceFriedgutDegree_eq {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      FABL.varianceFriedgutDegree f =
        8 * FABL.totalInfluence f.toReal / FABL.variance f.toReal⌉₊
    theorem FABL.varianceFriedgutDegree_eq {n : }
      (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      FABL.varianceFriedgutDegree f =
        8 * FABL.totalInfluence f.toReal /
            FABL.variance f.toReal⌉₊
  • theoremdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    theorem FABL.card_varianceFriedgutCoordinates_le {n : }
      (f : FABL.BooleanFunction n) (hvar : 0 < FABL.variance f.toReal) :
      (FABL.varianceFriedgutCoordinates f).card 
        64 * FABL.totalInfluence f.toReal ^ 3 / FABL.variance f.toReal ^ 2 *
          9 ^ FABL.varianceFriedgutDegree f
    theorem FABL.card_varianceFriedgutCoordinates_le
      {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      (FABL.varianceFriedgutCoordinates
              f).card 
        64 *
              FABL.totalInfluence f.toReal ^
                3 /
            FABL.variance f.toReal ^ 2 *
          9 ^ FABL.varianceFriedgutDegree f
  • defdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    def FABL.varianceLargeCoeffFamily {n : } (f : FABL.BooleanFunction n) :
      Finset (Finset (Fin n))
    def FABL.varianceLargeCoeffFamily {n : }
      (f : FABL.BooleanFunction n) :
      Finset (Finset (Fin n))
  • theoremdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    theorem FABL.three_variance_div_four_le_sum_varianceLargeCoeffFamily {n : }
      (f : FABL.BooleanFunction n) (hvar : 0 < FABL.variance f.toReal) :
      3 * FABL.variance f.toReal / 4 
         S  FABL.varianceLargeCoeffFamily f,
          FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.three_variance_div_four_le_sum_varianceLargeCoeffFamily
      {n : } (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      3 * FABL.variance f.toReal / 4 
         S  FABL.varianceLargeCoeffFamily f,
          FABL.fourierCoeff f.toReal S ^ 2
  • theoremdefined in FABL/Chapter09/VarianceSensitiveLargeCoefficient.lean
    complete
    theorem FABL.exists_varianceSensitive_large_fourierCoeff {n : }
      (f : FABL.BooleanFunction n)
      (hnonconst : FABL.IsNonconstantCubeFunction f) :
       S,
        S   
          S.card  FABL.varianceFriedgutDegree f 
            FABL.variance f.toReal /
                (2 *
                  ((FABL.varianceFriedgutDegree f + 1) *
                      ((FABL.varianceFriedgutCoordinates f).card + 1) ^
                        FABL.varianceFriedgutDegree f)) 
              FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.exists_varianceSensitive_large_fourierCoeff
      {n : } (f : FABL.BooleanFunction n)
      (hnonconst :
        FABL.IsNonconstantCubeFunction f) :
       S,
        S   
          S.card 
              FABL.varianceFriedgutDegree f 
            FABL.variance f.toReal /
                (2 *
                  ((FABL.varianceFriedgutDegree
                          f +
                        1) *
                      ((FABL.varianceFriedgutCoordinates
                              f).card +
                          1) ^
                        FABL.varianceFriedgutDegree
                          f)) 
              FABL.fourierCoeff f.toReal S ^ 2
    Exercise 9.32 with explicit degree and coefficient bounds. 
Theorem9.7.34
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Proposition 2.2.11
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.33. If f is nonconstant and monotone, improve the preceding bound to some nonempty S satisfying \widehat f(S)^2 \ge \exp\left( -O\left(\frac{\mathbf I[f]}{\operatorname{Var}[f]}\right) \right). In fact prove that one may take |S|\le1.

Lean code for Theorem9.7.342 theorems
  • theoremdefined in FABL/Chapter09/MonotoneLargeCoefficient.lean
    complete
    theorem FABL.exists_singletonCoeff_ge_edgeKKL {n : }
      (f : FABL.BooleanFunction n) (hmono : Monotone f)
      (hnonconst : FABL.IsNonconstantCubeFunction f) :
       i,
        9 *
              Real.rpow 9
                (-(FABL.totalInfluence f.toReal / FABL.variance f.toReal)) /
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal) ^ 2 
          FABL.fourierCoeff f.toReal {i}
    theorem FABL.exists_singletonCoeff_ge_edgeKKL
      {n : } (f : FABL.BooleanFunction n)
      (hmono : Monotone f)
      (hnonconst :
        FABL.IsNonconstantCubeFunction f) :
       i,
        9 *
              Real.rpow 9
                (-(FABL.totalInfluence
                      f.toReal /
                    FABL.variance f.toReal)) /
            (FABL.totalInfluence f.toReal /
                FABL.variance f.toReal) ^
              2 
          FABL.fourierCoeff f.toReal {i}
    A nonconstant monotone Boolean function has a singleton coefficient attaining its maximum
    influence and satisfying the explicit edge-KKL lower bound. 
  • theoremdefined in FABL/Chapter09/MonotoneLargeCoefficient.lean
    complete
    theorem FABL.exists_nonempty_singleton_fourierCoeff_sq_ge_edgeKKL_sq {n : }
      (f : FABL.BooleanFunction n) (hmono : Monotone f)
      (hnonconst : FABL.IsNonconstantCubeFunction f) :
       S,
        S   
          S.card  1 
            (9 *
                    Real.rpow 9
                      (-(FABL.totalInfluence f.toReal /
                          FABL.variance f.toReal)) /
                  (FABL.totalInfluence f.toReal / FABL.variance f.toReal) ^
                    2) ^
                2 
              FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.exists_nonempty_singleton_fourierCoeff_sq_ge_edgeKKL_sq
      {n : } (f : FABL.BooleanFunction n)
      (hmono : Monotone f)
      (hnonconst :
        FABL.IsNonconstantCubeFunction f) :
       S,
        S   
          S.card  1 
            (9 *
                    Real.rpow 9
                      (-(FABL.totalInfluence
                            f.toReal /
                          FABL.variance
                            f.toReal)) /
                  (FABL.totalInfluence
                        f.toReal /
                      FABL.variance
                        f.toReal) ^
                    2) ^
                2 
              FABL.fourierCoeff f.toReal S ^ 2
    Exercise 9.33 in squared-coefficient form, with `|S| = 1`. 
Lemma9.7.35
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.34. For every real function on the cube, prove \|f\|_4 \le \operatorname{sparsity}(\widehat f)^{1/4}\|f\|_2.

Lean code for Lemma9.7.356 declarations
  • defdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    def FABL.fourierSparsity {n : } (f : FABL.SignCube n  ) : 
    def FABL.fourierSparsity {n : }
      (f : FABL.SignCube n  ) : 
    The number of nonzero subset-indexed Fourier coefficients. 
  • theoremdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    theorem FABL.fourier_expansion_support {n : } (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      f x =
         S  FABL.fourierSupport f,
          FABL.fourierCoeff f S * FABL.monomial S x
    theorem FABL.fourier_expansion_support {n : }
      (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      f x =
         S  FABL.fourierSupport f,
          FABL.fourierCoeff f S *
            FABL.monomial S x
    Fourier expansion restricted to nonzero coefficients. 
  • theoremdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    theorem FABL.sum_sq_fourierCoeff_support {n : } (f : FABL.SignCube n  ) :
       S  FABL.fourierSupport f, FABL.fourierCoeff f S ^ 2 =
        Finset.univ.expect fun x => f x ^ 2
    theorem FABL.sum_sq_fourierCoeff_support {n : }
      (f : FABL.SignCube n  ) :
       S  FABL.fourierSupport f,
          FABL.fourierCoeff f S ^ 2 =
        Finset.univ.expect fun x => f x ^ 2
    Parseval restricted to the Fourier support. 
  • theoremdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    theorem FABL.sq_le_fourierSparsity_mul_secondMoment {n : }
      (f : FABL.SignCube n  ) (x : FABL.SignCube n) :
      f x ^ 2 
        (FABL.fourierSparsity f) * Finset.univ.expect fun y => f y ^ 2
    theorem FABL.sq_le_fourierSparsity_mul_secondMoment
      {n : } (f : FABL.SignCube n  )
      (x : FABL.SignCube n) :
      f x ^ 2 
        (FABL.fourierSparsity f) *
          Finset.univ.expect fun y => f y ^ 2
    Pointwise Cauchy--Schwarz bound by Fourier sparsity. 
  • theoremdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    theorem FABL.fourthMoment_le_fourierSparsity_mul_secondMoment_sq {n : }
      (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ 4) 
        (FABL.fourierSparsity f) *
          (Finset.univ.expect fun x => f x ^ 2) ^ 2
    theorem FABL.fourthMoment_le_fourierSparsity_mul_secondMoment_sq
      {n : } (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ 4) 
        (FABL.fourierSparsity f) *
          (Finset.univ.expect fun x =>
              f x ^ 2) ^
            2
    Exercise 9.34 in fourth-moment form. 
  • theoremdefined in FABL/Chapter09/HomogeneousMoments.lean
    complete
    theorem FABL.uniformLpNorm_four_le_fourierSparsity_rpow_mul_two {n : }
      (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4 f 
        (↑(FABL.fourierSparsity f)).rpow (1 / 4) * FABL.uniformLpNorm 2 f
    theorem FABL.uniformLpNorm_four_le_fourierSparsity_rpow_mul_two
      {n : } (f : FABL.SignCube n  ) :
      FABL.uniformLpNorm 4 f 
        (↑(FABL.fourierSparsity f)).rpow
            (1 / 4) *
          FABL.uniformLpNorm 2 f
    O'Donnell, Exercise 9.34. 
Theorem9.7.36
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 9.35. Let q=2r be a positive even integer and \rho=1/\sqrt{q-1}. For arbitrary f_1,\ldots,f_r:\{-1,1\}^n\to\mathbb R, prove \mathbb E\left[ \prod_{i=1}^r(T_\rho f_i)^2 \right] \le \prod_{i=1}^r\mathbb E[f_i^2].

Lean code for Theorem9.7.362 theorems
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.uniform_expect_prod_le_prod_uniformLpNorm.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (r : ) (hr : 0 < r) (g : Fin r  Ω  )
      (hg :  (i : Fin r) (x : Ω), 0  g i x) :
      (Finset.univ.expect fun x =>  i, g i x) 
         i, FABL.uniformLpNorm (↑r) (g i)
    theorem FABL.uniform_expect_prod_le_prod_uniformLpNorm.{u_1}
      {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (r : ) (hr : 0 < r) (g : Fin r  Ω  )
      (hg :
         (i : Fin r) (x : Ω), 0  g i x) :
      (Finset.univ.expect fun x =>
           i, g i x) 
         i, FABL.uniformLpNorm (↑r) (g i)
    Generalized Hölder for a family of `r` nonnegative functions, all with exponent `r`,
    under normalized finite-uniform expectation. 
  • theoremdefined in FABL/Chapter09/NoiseOperatorExercises.lean
    complete
    theorem FABL.mixed_even_noise_moment_le {n : } (r : ) (hr : 0 < r)
      (f : Fin r  FABL.SignCube n  ) :
      have q := 2 * r;
      have ρ := 1 / (q - 1);
      (Finset.univ.expect fun x =>
           i, (FABL.noiseOperator ρ) (f i) x ^ 2) 
         i, Finset.univ.expect fun x => f i x ^ 2
    theorem FABL.mixed_even_noise_moment_le {n : }
      (r : ) (hr : 0 < r)
      (f : Fin r  FABL.SignCube n  ) :
      have q := 2 * r;
      have ρ := 1 / (q - 1);
      (Finset.univ.expect fun x =>
           i,
            (FABL.noiseOperator ρ) (f i) x ^
              2) 
         i,
          Finset.univ.expect fun x =>
            f i x ^ 2
    Exercise 9.35: mixed even moments at the sharp `(2,2r)` noise parameter. 
Theorem9.7.37
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 9.3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 9.36. Let q=2r be a positive even integer.

  1. Prove that a uniform sign is (2,q,\rho)-hypercontractive if and only if \rho\le1/\sqrt{q-1}.

  2. Prove the same conclusion for every X satisfying \mathbb E[X^2]=1 and, for all 1\le j\le r, \mathbb E[X^{2j-1}]=0, \qquad \mathbb E[X^{2j}] \le (2r-1)^j\frac{\binom rj}{\binom{2r}{2j}}.

  3. In the finite-PMF coefficientwise interpretation, prove the sharpness of every even-moment condition: after all preceding even coefficients attain their sharp values, hypercontractivity at \rho=1/\sqrt{2r-1} forces the next displayed bound. A strict excess yields a positive affine test parameter for which hypercontractivity fails. The j=1 condition is exactly the separately assumed variance normalization and is therefore redundant rather than independently relaxable.

Lean code for Theorem9.7.3739 declarations
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfExpectation_affine_pow.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (a c : ) (m : ) :
      (FABL.pmfExpectation law fun x => (a + c * X x) ^ m) =
         j  Finset.range (m + 1),
          (m.choose j) * a ^ (m - j) * c ^ j *
            FABL.pmfExpectation law fun x => X x ^ j
    theorem FABL.pmfExpectation_affine_pow.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (a c : ) (m : ) :
      (FABL.pmfExpectation law fun x =>
          (a + c * X x) ^ m) =
         j  Finset.range (m + 1),
          (m.choose j) * a ^ (m - j) *
              c ^ j *
            FABL.pmfExpectation law fun x =>
              X x ^ j
    The exact binomial expansion of an affine finite random variable. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_range_two_mul_add_one_eq_sum_even.{u_1} {R : Type u_1}
      [AddCommMonoid R] (F :   R) (r : )
      (hodd :  j < r, F (2 * j + 1) = 0) :
       j  Finset.range (2 * r + 1), F j =
         j  Finset.range (r + 1), F (2 * j)
    theorem FABL.sum_range_two_mul_add_one_eq_sum_even.{u_1}
      {R : Type u_1} [AddCommMonoid R]
      (F :   R) (r : )
      (hodd :  j < r, F (2 * j + 1) = 0) :
       j  Finset.range (2 * r + 1), F j =
         j  Finset.range (r + 1), F (2 * j)
    A finite sum through `2r` whose odd-indexed terms vanish reduces to its even terms. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.affine_evenMoment_le_of_momentConditions.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      ( : 0  ρ) (hρsq : ρ ^ 2  1 / (2 * r - 1))
      (_hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j - 1)) = 0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j * (r.choose j) /
                  ((2 * r).choose (2 * j)))
      (a b : ) :
      (FABL.pmfExpectation law fun x => (a + ρ * b * X x) ^ (2 * r)) 
        (a ^ 2 + b ^ 2) ^ r
    theorem FABL.affine_evenMoment_le_of_momentConditions.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      ( : 0  ρ)
      (hρsq : ρ ^ 2  1 / (2 * r - 1))
      (_hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * j - 1)) =
                0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j *
                    (r.choose j) /
                  ((2 * r).choose (2 * j)))
      (a b : ) :
      (FABL.pmfExpectation law fun x =>
          (a + ρ * b * X x) ^ (2 * r)) 
        (a ^ 2 + b ^ 2) ^ r
    Exercise 9.36(b), moment form: the stated odd and even moment conditions imply
    the sharp affine `(2,2r)` estimate on a finite probability space. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfLpNorm_two_affine_centered.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (hmean : FABL.pmfExpectation law X = 0)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1) (a b : ) :
      (FABL.pmfLpNorm law 2 fun x => a + b * X x) = (a ^ 2 + b ^ 2)
    theorem FABL.pmfLpNorm_two_affine_centered.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  )
      (hmean : FABL.pmfExpectation law X = 0)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (a b : ) :
      (FABL.pmfLpNorm law 2 fun x =>
          a + b * X x) =
        (a ^ 2 + b ^ 2)
    The weighted `L²` norm of a centered, variance-one affine random variable. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.IsPmfTwoEvenHypercontractive.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (r : ) (ρ : ) (X : Ω  ) : Prop
    def FABL.IsPmfTwoEvenHypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (r : ) (ρ : ) (X : Ω  ) : Prop
    The finite-PMF version of the even-exponent hypercontractive-random-variable predicate. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.isPmfTwoEvenHypercontractive_of_momentConditions.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : )
      (hr : 0 < r) (ρ : ) ( : 0  ρ) (hρsq : ρ ^ 2  1 / (2 * r - 1))
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j - 1)) = 0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j * (r.choose j) /
                  ((2 * r).choose (2 * j))) :
      FABL.IsPmfTwoEvenHypercontractive law r ρ X
    theorem FABL.isPmfTwoEvenHypercontractive_of_momentConditions.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      ( : 0  ρ)
      (hρsq : ρ ^ 2  1 / (2 * r - 1))
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * j - 1)) =
                0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j *
                    (r.choose j) /
                  ((2 * r).choose (2 * j))) :
      FABL.IsPmfTwoEvenHypercontractive law r
        ρ X
    Exercise 9.36(b): the full PMF `(2,2r,ρ)` conclusion under the book's moment
    conditions. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfLpNorm_even_pow_eq_pmfExpectation_even.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (r : ) (hr : 0 < r) (f : Ω  ) :
      FABL.pmfLpNorm law (2 * r) f ^ (2 * r) =
        FABL.pmfExpectation law fun x => f x ^ (2 * r)
    theorem FABL.pmfLpNorm_even_pow_eq_pmfExpectation_even.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (r : ) (hr : 0 < r) (f : Ω  ) :
      FABL.pmfLpNorm law (2 * r) f ^
          (2 * r) =
        FABL.pmfExpectation law fun x =>
          f x ^ (2 * r)
    PMF analogue of `uniformLpNorm_even_pow_eq_expect_even`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfExpectation_affine_evenMoment_of_oddMoments.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : )
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j - 1)) = 0)
      (c : ) :
      (FABL.pmfExpectation law fun x => (1 + c * X x) ^ (2 * r)) =
         j  Finset.range (r + 1),
          ((2 * r).choose (2 * j)) * c ^ (2 * j) *
            FABL.pmfExpectation law fun x => X x ^ (2 * j)
    theorem FABL.pmfExpectation_affine_evenMoment_of_oddMoments.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : )
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * j - 1)) =
                0)
      (c : ) :
      (FABL.pmfExpectation law fun x =>
          (1 + c * X x) ^ (2 * r)) =
         j  Finset.range (r + 1),
          ((2 * r).choose (2 * j)) *
              c ^ (2 * j) *
            FABL.pmfExpectation law fun x =>
              X x ^ (2 * j)
    Exact affine even-moment expansion when all relevant odd moments vanish. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.isPmfTwoEvenHypercontractive_necessary_sq.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j - 1)) = 0)
      (hhyper : FABL.IsPmfTwoEvenHypercontractive law r ρ X) :
      ρ ^ 2  1 / (2 * r - 1)
    theorem FABL.isPmfTwoEvenHypercontractive_necessary_sq.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * j - 1)) =
                0)
      (hhyper :
        FABL.IsPmfTwoEvenHypercontractive law
          r ρ X) :
      ρ ^ 2  1 / (2 * r - 1)
    The sharp noise parameter is necessary for every centered variance-one finite PMF
    random variable with vanishing odd moments through order `2r-1`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.isPmfTwoEvenHypercontractive_iff_of_momentConditions.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : )
      (hr : 0 < r) (ρ : ) ( : 0  ρ)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j - 1)) = 0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j * (r.choose j) /
                  ((2 * r).choose (2 * j))) :
      FABL.IsPmfTwoEvenHypercontractive law r ρ X  ρ  1 / (2 * r - 1)
    theorem FABL.isPmfTwoEvenHypercontractive_iff_of_momentConditions.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      ( : 0  ρ)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * j - 1)) =
                0)
      (heven :
         (j : ),
          1  j 
            j  r 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * j)) 
                (2 * r - 1) ^ j *
                    (r.choose j) /
                  ((2 * r).choose (2 * j))) :
      FABL.IsPmfTwoEvenHypercontractive law r
          ρ X 
        ρ  1 / (2 * r - 1)
    Exercise 9.36(b), exact finite-PMF sharpness statement. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfExpectation_uniformSign_evenMoment (j : ) :
      (FABL.pmfExpectation (FABL.uniformPMF FABL.Sign) fun x =>
          FABL.signValue x ^ (2 * j)) =
        1
    theorem FABL.pmfExpectation_uniformSign_evenMoment
      (j : ) :
      (FABL.pmfExpectation
          (FABL.uniformPMF FABL.Sign) fun x =>
          FABL.signValue x ^ (2 * j)) =
        1
    Every even moment of a uniform sign is one. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfExpectation_uniformSign_oddMoment (j : ) :
      (FABL.pmfExpectation (FABL.uniformPMF FABL.Sign) fun x =>
          FABL.signValue x ^ (2 * j + 1)) =
        0
    theorem FABL.pmfExpectation_uniformSign_oddMoment
      (j : ) :
      (FABL.pmfExpectation
          (FABL.uniformPMF FABL.Sign) fun x =>
          FABL.signValue x ^ (2 * j + 1)) =
        0
    Every odd moment of a uniform sign is zero. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniformSign_twoEven_of_rho_le (r : ) (hr : 0 < r) (ρ : )
      ( : 0  ρ) (hsharp : ρ  1 / (2 * r - 1)) (a b : ) :
      (FABL.uniformLpNorm (2 * r) fun x => a + ρ * b * FABL.signValue x) 
        FABL.uniformLpNorm 2 fun x => a + b * FABL.signValue x
    theorem FABL.uniformSign_twoEven_of_rho_le (r : )
      (hr : 0 < r) (ρ : ) ( : 0  ρ)
      (hsharp : ρ  1 / (2 * r - 1))
      (a b : ) :
      (FABL.uniformLpNorm (2 * r) fun x =>
          a + ρ * b * FABL.signValue x) 
        FABL.uniformLpNorm 2 fun x =>
          a + b * FABL.signValue x
    Exercise 9.36(a), sufficient direction, including the `q=2` endpoint. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pmfExpectation_uniformSign_affine_evenMoment (r : ) (c : ) :
      (FABL.pmfExpectation (FABL.uniformPMF FABL.Sign) fun x =>
          (1 + c * FABL.signValue x) ^ (2 * r)) =
         j  Finset.range (r + 1), ((2 * r).choose (2 * j)) * c ^ (2 * j)
    theorem FABL.pmfExpectation_uniformSign_affine_evenMoment
      (r : ) (c : ) :
      (FABL.pmfExpectation
          (FABL.uniformPMF FABL.Sign) fun x =>
          (1 + c * FABL.signValue x) ^
            (2 * r)) =
         j  Finset.range (r + 1),
          ((2 * r).choose (2 * j)) *
            c ^ (2 * j)
    Exact even moment of an affine uniform sign. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniformLpNorm_even_pow_eq_expect_even.{u_1} {Ω : Type u_1}
      [Fintype Ω] (r : ) (hr : 0 < r) (f : Ω  ) :
      FABL.uniformLpNorm (2 * r) f ^ (2 * r) =
        Finset.univ.expect fun x => f x ^ (2 * r)
    theorem FABL.uniformLpNorm_even_pow_eq_expect_even.{u_1}
      {Ω : Type u_1} [Fintype Ω] (r : )
      (hr : 0 < r) (f : Ω  ) :
      FABL.uniformLpNorm (2 * r) f ^
          (2 * r) =
        Finset.univ.expect fun x =>
          f x ^ (2 * r)
    Raising an even-exponent finite-uniform norm to its exponent gives the ordinary
    even moment. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniformSign_twoEven_necessary_sq (r : ) (hr : 0 < r) (ρ : )
      (h :
         (a b : ),
          (FABL.uniformLpNorm (2 * r) fun x =>
              a + ρ * b * FABL.signValue x) 
            FABL.uniformLpNorm 2 fun x => a + b * FABL.signValue x) :
      ρ ^ 2  1 / (2 * r - 1)
    theorem FABL.uniformSign_twoEven_necessary_sq
      (r : ) (hr : 0 < r) (ρ : )
      (h :
         (a b : ),
          (FABL.uniformLpNorm (2 * r)
              fun x =>
              a + ρ * b * FABL.signValue x) 
            FABL.uniformLpNorm 2 fun x =>
              a + b * FABL.signValue x) :
      ρ ^ 2  1 / (2 * r - 1)
    Exercise 9.36(a), necessary quadratic condition for every positive even exponent. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniformSign_twoEven_iff (r : ) (hr : 0 < r) (ρ : ) ( : 0  ρ) :
      (∀ (a b : ),
          (FABL.uniformLpNorm (2 * r) fun x =>
              a + ρ * b * FABL.signValue x) 
            FABL.uniformLpNorm 2 fun x => a + b * FABL.signValue x) 
        ρ  1 / (2 * r - 1)
    theorem FABL.uniformSign_twoEven_iff (r : )
      (hr : 0 < r) (ρ : ) ( : 0  ρ) :
      (∀ (a b : ),
          (FABL.uniformLpNorm (2 * r)
              fun x =>
              a + ρ * b * FABL.signValue x) 
            FABL.uniformLpNorm 2 fun x =>
              a + b * FABL.signValue x) 
        ρ  1 / (2 * r - 1)
    Exercise 9.36(a): a uniform sign has the sharp `(2,2r,ρ)` range. 
  • defdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    def FABL.sharpEvenMomentNoise (r : ) : 
    def FABL.sharpEvenMomentNoise (r : ) : 
    The sharp noise parameter in Exercise 9.36. 
  • defdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    def FABL.sharpEvenMomentBound (r j : ) : 
    def FABL.sharpEvenMomentBound (r j : ) : 
    The `j`th sharp even-moment coefficient from Exercise 9.36(b). 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.sharpEvenMomentNoise_nonneg (r : ) :
      0  FABL.sharpEvenMomentNoise r
    theorem FABL.sharpEvenMomentNoise_nonneg (r : ) :
      0  FABL.sharpEvenMomentNoise r
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.sharpEvenMomentNoise_sq (r : ) (hr : 0 < r) :
      FABL.sharpEvenMomentNoise r ^ 2 = 1 / (2 * r - 1)
    theorem FABL.sharpEvenMomentNoise_sq (r : )
      (hr : 0 < r) :
      FABL.sharpEvenMomentNoise r ^ 2 =
        1 / (2 * r - 1)
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.sharpEvenMomentBound_one (r : ) (hr : 0 < r) :
      FABL.sharpEvenMomentBound r 1 = 1
    theorem FABL.sharpEvenMomentBound_one (r : )
      (hr : 0 < r) :
      FABL.sharpEvenMomentBound r 1 = 1
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.first_evenMoment_condition_redundant.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1) :
      (FABL.pmfExpectation law fun x => X x ^ (2 * 1)) =
        FABL.sharpEvenMomentBound r 1
    theorem FABL.first_evenMoment_condition_redundant.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1) :
      (FABL.pmfExpectation law fun x =>
          X x ^ (2 * 1)) =
        FABL.sharpEvenMomentBound r 1
    The first even-moment condition is exactly the variance normalization. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.not_first_evenMoment_gt_sharp.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1) :
      ¬FABL.sharpEvenMomentBound r 1 <
          FABL.pmfExpectation law fun x => X x ^ (2 * 1)
    theorem FABL.not_first_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1) :
      ¬FABL.sharpEvenMomentBound r 1 <
          FABL.pmfExpectation law fun x =>
            X x ^ (2 * 1)
    Consequently the `j=1` bound cannot be strictly relaxed while the variance
    normalization from Exercise 9.36 is retained.  The independently sharp conditions
    start at `j=2`. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.sharp_even_coefficient_mul_bound (r l : ) (hr : 0 < r)
      (hl : l  r) :
      ((2 * r).choose (2 * l)) * FABL.sharpEvenMomentNoise r ^ (2 * l) *
          FABL.sharpEvenMomentBound r l =
        (r.choose l)
    theorem FABL.sharp_even_coefficient_mul_bound
      (r l : ) (hr : 0 < r) (hl : l  r) :
      ((2 * r).choose (2 * l)) *
            FABL.sharpEvenMomentNoise r ^
              (2 * l) *
          FABL.sharpEvenMomentBound r l =
        (r.choose l)
  • defdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    def FABL.evenMomentCoefficientGap.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (r l : ) : 
    def FABL.evenMomentCoefficientGap.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r l : ) : 
    The coefficient gap between the affine `2r`-moment and the sharp comparison polynomial. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.evenMomentCoefficientGap_eq_zero_of_sharp.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r l : ) (hr : 0 < r)
      (hl : l  r)
      (hmoment :
        (FABL.pmfExpectation law fun x => X x ^ (2 * l)) =
          FABL.sharpEvenMomentBound r l) :
      FABL.evenMomentCoefficientGap law X r l = 0
    theorem FABL.evenMomentCoefficientGap_eq_zero_of_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r l : ) (hr : 0 < r)
      (hl : l  r)
      (hmoment :
        (FABL.pmfExpectation law fun x =>
            X x ^ (2 * l)) =
          FABL.sharpEvenMomentBound r l) :
      FABL.evenMomentCoefficientGap law X r
          l =
        0
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.evenMomentCoefficientGap_le_zero_iff.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r l : ) (hr : 0 < r)
      (hl : l  r) :
      FABL.evenMomentCoefficientGap law X r l  0 
        (FABL.pmfExpectation law fun x => X x ^ (2 * l)) 
          FABL.sharpEvenMomentBound r l
    theorem FABL.evenMomentCoefficientGap_le_zero_iff.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r l : ) (hr : 0 < r)
      (hl : l  r) :
      FABL.evenMomentCoefficientGap law X r
            l 
          0 
        (FABL.pmfExpectation law fun x =>
            X x ^ (2 * l)) 
          FABL.sharpEvenMomentBound r l
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.affine_evenMoment_le_of_hypercontractive.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hhyper : FABL.IsPmfTwoEvenHypercontractive law r ρ X) (t : ) :
      (FABL.pmfExpectation law fun x => (1 + ρ * t * X x) ^ (2 * r)) 
        (1 + t ^ 2) ^ r
    theorem FABL.affine_evenMoment_le_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hhyper :
        FABL.IsPmfTwoEvenHypercontractive law
          r ρ X)
      (t : ) :
      (FABL.pmfExpectation law fun x =>
          (1 + ρ * t * X x) ^ (2 * r)) 
        (1 + t ^ 2) ^ r
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.sum_evenMomentCoefficientGap_mul_pow_le_zero.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hhyper : FABL.IsPmfTwoEvenHypercontractive law r ρ X) (t : ) :
       l  Finset.range (r + 1),
          ((((2 * r).choose (2 * l)) * ρ ^ (2 * l) *
                FABL.pmfExpectation law fun x => X x ^ (2 * l)) -
              (r.choose l)) *
            t ^ (2 * l) 
        0
    theorem FABL.sum_evenMomentCoefficientGap_mul_pow_le_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : ) (hr : 0 < r) (ρ : )
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hhyper :
        FABL.IsPmfTwoEvenHypercontractive law
          r ρ X)
      (t : ) :
       l  Finset.range (r + 1),
          ((((2 * r).choose (2 * l)) *
                  ρ ^ (2 * l) *
                FABL.pmfExpectation law
                  fun x => X x ^ (2 * l)) -
              (r.choose l)) *
            t ^ (2 * l) 
        0
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.affine_evenMoment_sub_eq_coefficientGap_sum.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r : )
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (t : ) :
      (FABL.pmfExpectation law fun x =>
            (1 + FABL.sharpEvenMomentNoise r * t * X x) ^ (2 * r)) -
          (1 + t ^ 2) ^ r =
         l  Finset.range (r + 1),
          FABL.evenMomentCoefficientGap law X r l * t ^ (2 * l)
    theorem FABL.affine_evenMoment_sub_eq_coefficientGap_sum.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r : )
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (t : ) :
      (FABL.pmfExpectation law fun x =>
            (1 +
                FABL.sharpEvenMomentNoise r *
                    t *
                  X x) ^
              (2 * r)) -
          (1 + t ^ 2) ^ r =
         l  Finset.range (r + 1),
          FABL.evenMomentCoefficientGap law X
              r l *
            t ^ (2 * l)
  • defdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    def FABL.higherEvenMomentCoefficientTail.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (r j : ) (t : ) : 
    def FABL.higherEvenMomentCoefficientTail.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (t : ) : 
    The higher-order remainder after the `j`th coefficient is divided by `t ^ (2 * j)`.
    It is written over the whole finite range so its convergence is a direct finite sum. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.higherEvenMomentCoefficientTail_tendsto_zero.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r j : ) :
      Filter.Tendsto
        (fun n =>
          FABL.higherEvenMomentCoefficientTail law X r j (1 / (n + 1)))
        Filter.atTop (nhds 0)
    theorem FABL.higherEvenMomentCoefficientTail_tendsto_zero.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) :
      Filter.Tendsto
        (fun n =>
          FABL.higherEvenMomentCoefficientTail
            law X r j (1 / (n + 1)))
        Filter.atTop (nhds 0)
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.coefficientGap_mul_pow_add_higher.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (r j : ) (hj : j  r)
      (hzero :  l < j, FABL.evenMomentCoefficientGap law X r l = 0)
      (t : ) :
       l  Finset.range (r + 1),
          FABL.evenMomentCoefficientGap law X r l * t ^ (2 * l) =
        FABL.evenMomentCoefficientGap law X r j * t ^ (2 * j) +
           l  Finset.range (r + 1) with j < l,
            FABL.evenMomentCoefficientGap law X r l * t ^ (2 * l)
    theorem FABL.coefficientGap_mul_pow_add_higher.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (hj : j  r)
      (hzero :
         l < j,
          FABL.evenMomentCoefficientGap law X
              r l =
            0)
      (t : ) :
       l  Finset.range (r + 1),
          FABL.evenMomentCoefficientGap law X
              r l *
            t ^ (2 * l) =
        FABL.evenMomentCoefficientGap law X r
              j *
            t ^ (2 * j) +
           l  Finset.range (r + 1) with
            j < l,
            FABL.evenMomentCoefficientGap law
                X r l *
              t ^ (2 * l)
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.higher_sum_eq_neg_pow_mul_tail.{u_1} {Ω : Type u_1} [Fintype Ω]
      (law : PMF Ω) (X : Ω  ) (r j : ) (t : ) :
       l  Finset.range (r + 1) with j < l,
          FABL.evenMomentCoefficientGap law X r l * t ^ (2 * l) =
        -(t ^ (2 * j) * FABL.higherEvenMomentCoefficientTail law X r j t)
    theorem FABL.higher_sum_eq_neg_pow_mul_tail.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (t : ) :
       l  Finset.range (r + 1) with j < l,
          FABL.evenMomentCoefficientGap law X
              r l *
            t ^ (2 * l) =
        -(t ^ (2 * j) *
            FABL.higherEvenMomentCoefficientTail
              law X r j t)
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.evenMoment_le_sharp_of_hypercontractive.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r j : ) (hr : 0 < r)
      (_hjone : 1  j) (hjr : j  r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hhyper :
        FABL.IsPmfTwoEvenHypercontractive law r
          (FABL.sharpEvenMomentNoise r) X) :
      (FABL.pmfExpectation law fun x => X x ^ (2 * j)) 
        FABL.sharpEvenMomentBound r j
    theorem FABL.evenMoment_le_sharp_of_hypercontractive.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (hr : 0 < r)
      (_hjone : 1  j) (hjr : j  r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hhyper :
        FABL.IsPmfTwoEvenHypercontractive law
          r (FABL.sharpEvenMomentNoise r) X) :
      (FABL.pmfExpectation law fun x =>
          X x ^ (2 * j)) 
        FABL.sharpEvenMomentBound r j
    Exercise 9.36(c), coefficientwise necessity.  Once the preceding even coefficients
    are sharp, the sharp `(2,2r)` inequality forces the `j`th moment condition.  This is the
    finite-PMF form of taking the affine parameter to zero and reading the first coefficient
    that has not already vanished. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.not_isPmfTwoEvenHypercontractive_of_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r j : )
      (hr : 0 < r) (hjone : 1  j) (hjr : j  r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x => X x ^ (2 * j)) :
      ¬FABL.IsPmfTwoEvenHypercontractive law r (FABL.sharpEvenMomentNoise r)
          X
    theorem FABL.not_isPmfTwoEvenHypercontractive_of_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (hr : 0 < r)
      (hjone : 1  j) (hjr : j  r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x =>
            X x ^ (2 * j)) :
      ¬FABL.IsPmfTwoEvenHypercontractive law r
          (FABL.sharpEvenMomentNoise r) X
    Exercise 9.36(c), strict form: a strict increase of the first not-yet-fixed even
    moment destroys hypercontractivity at the sharp noise parameter. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.exists_positive_affine_test_of_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r j : )
      (hr : 0 < r) (_hjone : 1  j) (hjr : j  r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x => X x ^ (2 * j)) :
       t,
        0 < t 
          (FABL.pmfLpNorm law (2 * r) fun x =>
              1 + FABL.sharpEvenMomentNoise r * t * X x) >
            FABL.pmfLpNorm law 2 fun x => 1 + t * X x
    theorem FABL.exists_positive_affine_test_of_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (hr : 0 < r)
      (_hjone : 1  j) (hjr : j  r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x =>
            X x ^ (2 * j)) :
       t,
        0 < t 
          (FABL.pmfLpNorm law (2 * r)
              fun x =>
              1 +
                FABL.sharpEvenMomentNoise r *
                    t *
                  X x) >
            FABL.pmfLpNorm law 2 fun x =>
              1 + t * X x
    The coefficient proof supplies the promised explicit kind of affine witness: `(a,b)=(1,t)`
    for some positive `t`. 
  • theoremdefined in FABL/Chapter09/HypercontractiveMomentSharpness.lean
    complete
    theorem FABL.exists_affine_test_of_evenMoment_gt_sharp.{u_1} {Ω : Type u_1}
      [Fintype Ω] (law : PMF Ω) (X : Ω  ) (r j : ) (hr : 0 < r)
      (hjone : 1  j) (hjr : j  r)
      (hsecond : (FABL.pmfExpectation law fun x => X x ^ 2) = 1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l - 1)) = 0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x => X x ^ (2 * j)) :
       a b,
        (FABL.pmfLpNorm law (2 * r) fun x =>
            a + FABL.sharpEvenMomentNoise r * b * X x) >
          FABL.pmfLpNorm law 2 fun x => a + b * X x
    theorem FABL.exists_affine_test_of_evenMoment_gt_sharp.{u_1}
      {Ω : Type u_1} [Fintype Ω] (law : PMF Ω)
      (X : Ω  ) (r j : ) (hr : 0 < r)
      (hjone : 1  j) (hjr : j  r)
      (hsecond :
        (FABL.pmfExpectation law fun x =>
            X x ^ 2) =
          1)
      (hodd :
         (l : ),
          1  l 
            l  r 
              (FABL.pmfExpectation law
                  fun x =>
                  X x ^ (2 * l - 1)) =
                0)
      (hpreceding :
         (l : ),
          1  l 
            l < j 
              (FABL.pmfExpectation law
                  fun x => X x ^ (2 * l)) =
                FABL.sharpEvenMomentBound r l)
      (hstrict :
        FABL.sharpEvenMomentBound r j <
          FABL.pmfExpectation law fun x =>
            X x ^ (2 * j)) :
       a b,
        (FABL.pmfLpNorm law (2 * r) fun x =>
            a +
              FABL.sharpEvenMomentNoise r *
                  b *
                X x) >
          FABL.pmfLpNorm law 2 fun x =>
            a + b * X x
    The failed hypercontractive inequality has concrete affine test parameters. 
Theorem9.7.38
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 1.4.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Exercise 9.37. Let q=2r and let f=f^{=k} be homogeneous of degree k\ge1.

  1. Prove \mathbb E[f^q] =\sum_{S_1\mathbin\triangle\cdots\mathbin\triangle S_q=\varnothing} \widehat f(S_1)\cdots\widehat f(S_q) \le \sum |\widehat f(S_1)\cdots\widehat f(S_q)|. \tag{9.18}

  2. Let G be the complete q-partite graph with parts V_1,\ldots,V_q of size k, and let \mathcal M be its perfect matchings. The book prints the last sum as equal to \frac1{(k!)^q} \sum_{M\in\mathcal M}\sum_{\ell:M\to[n]} |\widehat f(T_1(M,\ell))\cdots\widehat f(T_q(M,\ell))|. \tag{9.19} This equality is false because a parity tuple may admit several compatible perfect matchings; at q=4,k=1,n=1 its two sides are 1 and 3. Prove instead the corrected upper bound with the same right-hand side.

  3. Reindex that corrected matching-label sum by edge assignments (equivalently, by ordered matching edges and labels i_1,\ldots,i_{rk}\in[n]).

  4. Apply the two-regular Finner inequality, equivalently the book's rk repeated Cauchy--Schwarz steps, to bound each matching sum by the rth power of the sum of squared degree-k coefficients.

  5. Deduce \|f\|_q \le\frac{|\mathcal M|^{1/q}}{\sqrt{k!}}\|f\|_2.

Lean code for Theorem9.7.38157 declarations
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.listSymmDiff.{u_1} {α : Type u_1} [DecidableEq α] :
      List (Finset α)  Finset α
    def FABL.listSymmDiff.{u_1} {α : Type u_1}
      [DecidableEq α] :
      List (Finset α)  Finset α
    Symmetric difference of a finite list of subsets. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.tupleSymmDiff.{u_1} {α : Type u_1} [DecidableEq α] {q : }
      (S : Fin q  Finset α) : Finset α
    def FABL.tupleSymmDiff.{u_1} {α : Type u_1}
      [DecidableEq α] {q : }
      (S : Fin q  Finset α) : Finset α
    Symmetric difference of a tuple indexed by `Fin q`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.not_mem_listSymmDiff_iff_even_countP.{u_1} {α : Type u_1}
      [DecidableEq α] (x : α) (sets : List (Finset α)) :
      x  FABL.listSymmDiff sets 
        Even (List.countP (fun S => decide (x  S)) sets)
    theorem FABL.not_mem_listSymmDiff_iff_even_countP.{u_1}
      {α : Type u_1} [DecidableEq α] (x : α)
      (sets : List (Finset α)) :
      x  FABL.listSymmDiff sets 
        Even
          (List.countP
            (fun S => decide (x  S)) sets)
    Empty list-symmetric-difference is equivalent to even point multiplicity. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.even_countP_of_tupleSymmDiff_eq_empty.{u_1} {α : Type u_1}
      [DecidableEq α] {q : } (sets : Fin q  Finset α)
      (hsets : FABL.tupleSymmDiff sets = ) (x : α) :
      Even (List.countP (fun S => decide (x  S)) (List.ofFn sets))
    theorem FABL.even_countP_of_tupleSymmDiff_eq_empty.{u_1}
      {α : Type u_1} [DecidableEq α] {q : }
      (sets : Fin q  Finset α)
      (hsets : FABL.tupleSymmDiff sets = )
      (x : α) :
      Even
        (List.countP (fun S => decide (x  S))
          (List.ofFn sets))
    Tuple form: an empty total symmetric difference gives even membership count
    for every point. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_ite_eq_countP_ofFn (q : ) (p : Fin q  Prop)
      [DecidablePred p] :
      (∑ i, if p i then 1 else 0) =
        List.countP (fun i => decide (p i)) (List.ofFn fun i => i)
    theorem FABL.sum_ite_eq_countP_ofFn (q : )
      (p : Fin q  Prop) [DecidablePred p] :
      (∑ i, if p i then 1 else 0) =
        List.countP (fun i => decide (p i))
          (List.ofFn fun i => i)
    Counting a predicate over `Fin q` agrees with `List.countP` on `List.ofFn`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_subtype_eq_countP_ofFn {q : } (p : Fin q  Prop)
      [DecidablePred p] :
      Nat.card { i // p i } =
        List.countP (fun i => decide (p i)) (List.ofFn fun i => i)
    theorem FABL.natCard_subtype_eq_countP_ofFn
      {q : } (p : Fin q  Prop)
      [DecidablePred p] :
      Nat.card { i // p i } =
        List.countP (fun i => decide (p i))
          (List.ofFn fun i => i)
    Cardinal form of `sum_ite_eq_countP_ofFn`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.list_prod_monomial {n : } (sets : List (Finset (Fin n)))
      (x : FABL.SignCube n) :
      (List.map (fun S => FABL.monomial S x) sets).prod =
        FABL.monomial (FABL.listSymmDiff sets) x
    theorem FABL.list_prod_monomial {n : }
      (sets : List (Finset (Fin n)))
      (x : FABL.SignCube n) :
      (List.map (fun S => FABL.monomial S x)
            sets).prod =
        FABL.monomial (FABL.listSymmDiff sets)
          x
    Products of Walsh monomials are indexed by the symmetric difference of their supports. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.prod_monomial_eq_tupleSymmDiff {n q : }
      (sets : Fin q  Finset (Fin n)) (x : FABL.SignCube n) :
       j, FABL.monomial (sets j) x =
        FABL.monomial (FABL.tupleSymmDiff sets) x
    theorem FABL.prod_monomial_eq_tupleSymmDiff
      {n q : }
      (sets : Fin q  Finset (Fin n))
      (x : FABL.SignCube n) :
       j, FABL.monomial (sets j) x =
        FABL.monomial
          (FABL.tupleSymmDiff sets) x
    Tuple-indexed form of `list_prod_monomial`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_pow_eq_sum_fourierCoeff_of_tupleSymmDiff_empty {n : }
      (q : ) (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ q) =
         sets with FABL.tupleSymmDiff sets = ,
           j, FABL.fourierCoeff f (sets j)
    theorem FABL.expect_pow_eq_sum_fourierCoeff_of_tupleSymmDiff_empty
      {n : } (q : )
      (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ q) =
         sets with
          FABL.tupleSymmDiff sets = ,
           j, FABL.fourierCoeff f (sets j)
    Exercise 9.37(a), equation (9.18), first equality.  The formula is valid without
    the homogeneity or parity assumptions; those assumptions only restrict which coefficients
    can be nonzero. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_pow_le_sum_abs_fourierCoeff_of_tupleSymmDiff_empty {n : }
      (q : ) (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ q) 
         sets with FABL.tupleSymmDiff sets = ,
          | j, FABL.fourierCoeff f (sets j)|
    theorem FABL.expect_pow_le_sum_abs_fourierCoeff_of_tupleSymmDiff_empty
      {n : } (q : )
      (f : FABL.SignCube n  ) :
      (Finset.univ.expect fun x => f x ^ q) 
         sets with
          FABL.tupleSymmDiff sets = ,
          | j, FABL.fourierCoeff f (sets j)|
    Exercise 9.37(a), equation (9.18), triangle-inequality half. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.BookPartiteVertex (q k : ) : Type
    abbrev FABL.BookPartiteVertex (q k : ) : Type
    Vertices of the complete `q`-partite graph with `k` vertices per part. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.bookPartiteGraph (q k : ) :
      SimpleGraph (FABL.BookPartiteVertex q k)
    abbrev FABL.bookPartiteGraph (q k : ) :
      SimpleGraph (FABL.BookPartiteVertex q k)
    The complete `q`-partite graph used in Exercise 9.37. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.GraphPartitePerfectMatching (q k : ) : Type
    def FABL.GraphPartitePerfectMatching
      (q k : ) : Type
    Graph-theoretic perfect matchings in the book's complete multipartite graph. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.MatchingCompatibleLabeling.{u_1} {q k : } {β : Type u_1}
      (label : FABL.BookPartiteVertex q k  β)
      (matching : (FABL.bookPartiteGraph q k).Subgraph) : Prop
    def FABL.MatchingCompatibleLabeling.{u_1}
      {q k : } {β : Type u_1}
      (label : FABL.BookPartiteVertex q k  β)
      (matching :
        (FABL.bookPartiteGraph q
            k).Subgraph) :
      Prop
    A vertex labeling is constant on every edge of a matching. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.exists_graphPartitePerfectMatching_compatible.{u_1} {q k : }
      {β : Type u_1} (label : FABL.BookPartiteVertex q k  β)
      (hinj :
         (part : Fin q), Function.Injective fun pos => label part, pos)
      (heven :  (b : β), Even (Nat.card { v // label v = b })) :
       matching, FABL.MatchingCompatibleLabeling label matching
    theorem FABL.exists_graphPartitePerfectMatching_compatible.{u_1}
      {q k : } {β : Type u_1}
      (label : FABL.BookPartiteVertex q k  β)
      (hinj :
         (part : Fin q),
          Function.Injective fun pos =>
            label part, pos)
      (heven :
         (b : β),
          Even
            (Nat.card { v // label v = b })) :
       matching,
        FABL.MatchingCompatibleLabeling label
          matching
    Even label fibers and injectivity within every part produce a compatible partite
    perfect matching. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_le_inv_mul_sum_of_injective_lifts.{u_1, u_2} {A : Type u_1}
      {B : Type u_2} [Fintype A] [Fintype B] (m : ) (hm : 0 < m)
      (sourceWeight : A  ) (targetWeight : B  )
      (htarget :  (b : B), 0  targetWeight b) (lift : A × Fin m  B)
      (hlift : Function.Injective lift)
      (hweight :
         (z : A × Fin m), targetWeight (lift z) = sourceWeight z.1) :
       a, sourceWeight a  1 / m *  b, targetWeight b
    theorem FABL.sum_le_inv_mul_sum_of_injective_lifts.{u_1,
        u_2}
      {A : Type u_1} {B : Type u_2}
      [Fintype A] [Fintype B] (m : )
      (hm : 0 < m) (sourceWeight : A  )
      (targetWeight : B  )
      (htarget :
         (b : B), 0  targetWeight b)
      (lift : A × Fin m  B)
      (hlift : Function.Injective lift)
      (hweight :
         (z : A × Fin m),
          targetWeight (lift z) =
            sourceWeight z.1) :
       a, sourceWeight a 
        1 / m *  b, targetWeight b
    Weighted overcounting principle used by the corrected inequality form of
    Exercise 9.37(b): `m` injective, weight-preserving lifts of every source object into
    the target imply that the source sum is at most `1/m` times the target sum. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.LevelKParityTuple.enumeration {n k q : }
      (tuple : FABL.LevelKParityTuple n k q) (part : Fin q) :
      Fin k  (tuple part)
    def FABL.LevelKParityTuple.enumeration
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (part : Fin q) : Fin k  (tuple part)
    A canonical enumeration of one `k`-element support in a parity tuple. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.ParityTupleReordering (q k : ) : Type
    abbrev FABL.ParityTupleReordering (q k : ) :
      Type
    The `(k!)^q` independent reorderings of the canonical support enumerations. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.LevelKParityTuple.assignedVertexLabel {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) :
      FABL.BookPartiteVertex q k  Fin n
    def FABL.LevelKParityTuple.assignedVertexLabel
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k) :
      FABL.BookPartiteVertex q k  Fin n
    Vertex labeling obtained by enumerating every support, then independently permuting
    the `k` positions in every part. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.LevelKParityTuple.assignedVertexLabel_injective_on_part {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) (part : Fin q) :
      Function.Injective fun pos =>
        tuple.assignedVertexLabel reordering part, pos
    theorem FABL.LevelKParityTuple.assignedVertexLabel_injective_on_part
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k)
      (part : Fin q) :
      Function.Injective fun pos =>
        tuple.assignedVertexLabel reordering
          part, pos
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.LevelKParityTuple.assignedLabelFiberEquivPartFiber {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) (x : Fin n) :
      { v // tuple.assignedVertexLabel reordering v = x } 
        { part // x  tuple part }
    def FABL.LevelKParityTuple.assignedLabelFiberEquivPartFiber
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k)
      (x : Fin n) :
      { v //
          tuple.assignedVertexLabel reordering
              v =
            x } 
        { part // x  tuple part }
    A label fiber of the assigned multipartite vertex labeling is equivalent to the set
    of parts whose support contains that label. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.LevelKParityTuple.assignedVertexLabel_even_fiber {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) (x : Fin n) :
      Even (Nat.card { v // tuple.assignedVertexLabel reordering v = x })
    theorem FABL.LevelKParityTuple.assignedVertexLabel_even_fiber
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k)
      (x : Fin n) :
      Even
        (Nat.card
          { v //
            tuple.assignedVertexLabel
                reordering v =
              x })
    Empty symmetric difference makes every assigned label fiber even. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.LevelKParityTuple.exists_compatible_matching {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) :
       matching,
        FABL.MatchingCompatibleLabeling
          (tuple.assignedVertexLabel reordering) matching
    theorem FABL.LevelKParityTuple.exists_compatible_matching
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k) :
       matching,
        FABL.MatchingCompatibleLabeling
          (tuple.assignedVertexLabel
            reordering)
          matching
    Every parity tuple enumeration admits a compatible complete-partite perfect matching. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.matchingLabelSet {n q k : }
      (label : FABL.BookPartiteVertex q k  Fin n) (part : Fin q) :
      Finset (Fin n)
    def FABL.matchingLabelSet {n q k : }
      (label :
        FABL.BookPartiteVertex q k  Fin n)
      (part : Fin q) : Finset (Fin n)
    Label set seen by one part of a vertex labeling. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.LevelKParityTuple.matchingLabelSet_assignedVertexLabel {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) (part : Fin q) :
      FABL.matchingLabelSet (tuple.assignedVertexLabel reordering) part =
        tuple part
    theorem FABL.LevelKParityTuple.matchingLabelSet_assignedVertexLabel
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k)
      (part : Fin q) :
      FABL.matchingLabelSet
          (tuple.assignedVertexLabel
            reordering)
          part =
        tuple part
    Assigned labels recover exactly the original parity-tuple supports. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.GraphMatchingLabeling (q k n : ) : Type
    def FABL.GraphMatchingLabeling (q k n : ) :
      Type
    A perfect matching together with a compatible vertex labeling.  Compatibility makes
    the vertex labeling equivalent to the book's edge labeling. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.LevelKParityTuple.chosenCompatibleMatching {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) :
      FABL.GraphPartitePerfectMatching q k
    def FABL.LevelKParityTuple.chosenCompatibleMatching
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k) :
      FABL.GraphPartitePerfectMatching q k
    Choose the compatible perfect matching furnished by the even-fiber theorem. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.LevelKParityTuple.chosenCompatibleMatching_spec {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering : FABL.ParityTupleReordering q k) :
      FABL.MatchingCompatibleLabeling (tuple.assignedVertexLabel reordering)
        (tuple.chosenCompatibleMatching reordering)
    theorem FABL.LevelKParityTuple.chosenCompatibleMatching_spec
      {n k q : }
      (tuple : FABL.LevelKParityTuple n k q)
      (reordering :
        FABL.ParityTupleReordering q k) :
      FABL.MatchingCompatibleLabeling
        (tuple.assignedVertexLabel reordering)
        (tuple.chosenCompatibleMatching
            reordering)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.parityTupleMatchingLift {n k q : } :
      FABL.LevelKParityTuple n k q × FABL.ParityTupleReordering q k 
        FABL.GraphMatchingLabeling q k n
    def FABL.parityTupleMatchingLift {n k q : } :
      FABL.LevelKParityTuple n k q ×
          FABL.ParityTupleReordering q k 
        FABL.GraphMatchingLabeling q k n
    Lift a parity tuple and one of its `(k!)^q` enumerations to a compatible labeled
    perfect matching. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.parityTupleMatchingLift_injective {n k q : } :
      Function.Injective FABL.parityTupleMatchingLift
    theorem FABL.parityTupleMatchingLift_injective
      {n k q : } :
      Function.Injective
        FABL.parityTupleMatchingLift
    The parity-tuple matching lift is injective. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_parityTupleReordering (q k : ) :
      Fintype.card (FABL.ParityTupleReordering q k) = k.factorial ^ q
    theorem FABL.card_parityTupleReordering
      (q k : ) :
      Fintype.card
          (FABL.ParityTupleReordering q k) =
        k.factorial ^ q
    Cardinality of the independent tuple reorderings. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.parityTupleFourierWeight {n k q : } (f : FABL.SignCube n  )
      (tuple : FABL.LevelKParityTuple n k q) : 
    def FABL.parityTupleFourierWeight {n k q : }
      (f : FABL.SignCube n  )
      (tuple : FABL.LevelKParityTuple n k q) :
      
    Absolute Fourier-product weight of one parity tuple. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.matchingLabelingFourierWeight {n k q : } (f : FABL.SignCube n  )
      (labeled : FABL.GraphMatchingLabeling q k n) : 
    def FABL.matchingLabelingFourierWeight
      {n k q : } (f : FABL.SignCube n  )
      (labeled :
        FABL.GraphMatchingLabeling q k n) :
      
    Absolute Fourier-product weight of one compatible labeled matching. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.parityTupleMatchingLift_weight {n k q : }
      (f : FABL.SignCube n  )
      (z : FABL.LevelKParityTuple n k q × FABL.ParityTupleReordering q k) :
      FABL.matchingLabelingFourierWeight f
          (FABL.parityTupleMatchingLift z) =
        FABL.parityTupleFourierWeight f z.1
    theorem FABL.parityTupleMatchingLift_weight
      {n k q : } (f : FABL.SignCube n  )
      (z :
        FABL.LevelKParityTuple n k q ×
          FABL.ParityTupleReordering q k) :
      FABL.matchingLabelingFourierWeight f
          (FABL.parityTupleMatchingLift z) =
        FABL.parityTupleFourierWeight f z.1
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.parityTuple_sum_le_matchingLabeling_sum (n k q : )
      (f : FABL.SignCube n  ) :
       tuple, FABL.parityTupleFourierWeight f tuple 
        1 / k.factorial ^ q *
           labeled, FABL.matchingLabelingFourierWeight f labeled
    theorem FABL.parityTuple_sum_le_matchingLabeling_sum
      (n k q : ) (f : FABL.SignCube n  ) :
       tuple,
          FABL.parityTupleFourierWeight f
            tuple 
        1 / k.factorial ^ q *
           labeled,
            FABL.matchingLabelingFourierWeight
              f labeled
    Corrected form of Exercise 9.37(b): the matching-label expression is an
    overcount, not an equality.  The printed equality fails because a label appearing in
    four or more parts admits multiple perfect pairings. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.IsFourierHomogeneous {n : } (f : FABL.SignCube n  ) (k : ) :
      Prop
    def FABL.IsFourierHomogeneous {n : }
      (f : FABL.SignCube n  ) (k : ) : Prop
    A function is Fourier-homogeneous of degree `k` when every nonzero coefficient
    lies on level `k`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_abs_fourierCoeff_tupleSymmDiff_eq_parityTuple_sum {n : }
      (q k : ) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
       sets with FABL.tupleSymmDiff sets = ,
          | part, FABL.fourierCoeff f (sets part)| =
         tuple, FABL.parityTupleFourierWeight f tuple
    theorem FABL.sum_abs_fourierCoeff_tupleSymmDiff_eq_parityTuple_sum
      {n : } (q k : )
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
       sets with FABL.tupleSymmDiff sets = ,
          | part,
              FABL.fourierCoeff f
                (sets part)| =
         tuple,
          FABL.parityTupleFourierWeight f
            tuple
    Under homogeneity, the absolute XOR-tuple sum is exactly the sum over
    `LevelKParityTuple`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_evenMoment_le_matchingLabeling_sum {n : } (r k : )
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x => f x ^ (2 * r)) 
        1 / k.factorial ^ (2 * r) *
           labeled, FABL.matchingLabelingFourierWeight f labeled
    theorem FABL.homogeneous_evenMoment_le_matchingLabeling_sum
      {n : } (r k : )
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x =>
          f x ^ (2 * r)) 
        1 / k.factorial ^ (2 * r) *
           labeled,
            FABL.matchingLabelingFourierWeight
              f labeled
    Corrected Exercise 9.37(a,b): a homogeneous even moment is bounded by the
    matching-label overcount. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_fin_snoc.{u_1} {Ω : Type u_1} [Fintype Ω] [Nonempty Ω]
      (m : ) (f : (Fin (m + 1)  Ω)  ) :
      (Finset.univ.expect fun z => f z) =
        Finset.univ.expect fun y =>
          Finset.univ.expect fun a => f (Fin.snoc y a)
    theorem FABL.expect_fin_snoc.{u_1} {Ω : Type u_1}
      [Fintype Ω] [Nonempty Ω] (m : )
      (f : (Fin (m + 1)  Ω)  ) :
      (Finset.univ.expect fun z => f z) =
        Finset.univ.expect fun y =>
          Finset.univ.expect fun a =>
            f (Fin.snoc y a)
    Fubini for a finite vector with its last coordinate split off. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.prod_eq_mul_mul_prod_erase_two.{u_1} {P : Type u_1} [Fintype P]
      [DecidableEq P] (a b : P) (hab : a  b) (F : P  ) :
       p, F p = F a * F b *  p  (Finset.univ.erase a).erase b, F p
    theorem FABL.prod_eq_mul_mul_prod_erase_two.{u_1}
      {P : Type u_1} [Fintype P]
      [DecidableEq P] (a b : P) (hab : a  b)
      (F : P  ) :
       p, F p =
        F a * F b *
           p  (Finset.univ.erase a).erase b,
            F p
    Split two distinct factors out of a finite product. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniform_expect_prod_le_prod_sqrt_expect_sq_twoRegular.{u_1, u_2}
      {Ω : Type u_1} {P : Type u_2} [Fintype Ω] [Nonempty Ω] [Fintype P]
      (m : ) (deps : P  Finset (Fin m))
      (hdegree :
         (edge : Fin m), Nat.card { part // edge  deps part } = 2)
      (g : P  (Fin m  Ω)  )
      (hg :  (part : P) (assignment : Fin m  Ω), 0  g part assignment)
      (hdepends :
         (part : P), DependsOn (g part) {edge | edge  deps part}) :
      (Finset.univ.expect fun assignment =>  part, g part assignment) 
         part,
          (Finset.univ.expect fun assignment => g part assignment ^ 2)
    theorem FABL.uniform_expect_prod_le_prod_sqrt_expect_sq_twoRegular.{u_1,
        u_2}
      {Ω : Type u_1} {P : Type u_2}
      [Fintype Ω] [Nonempty Ω] [Fintype P]
      (m : ) (deps : P  Finset (Fin m))
      (hdegree :
         (edge : Fin m),
          Nat.card
              { part // edge  deps part } =
            2)
      (g : P  (Fin m  Ω)  )
      (hg :
         (part : P) (assignment : Fin m  Ω),
          0  g part assignment)
      (hdepends :
         (part : P),
          DependsOn (g part)
            {edge | edge  deps part}) :
      (Finset.univ.expect fun assignment =>
           part, g part assignment) 
         part,
          (Finset.univ.expect
              fun assignment =>
              g part assignment ^ 2)
    Finner's inequality for a two-regular finite dependency system.  This is the
    abstract form of the `rk` successive Cauchy--Schwarz steps in Exercise 9.37(d). 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.uniform_expect_prod_le_prod_sqrt_expect_sq_twoRegular_finite.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {P : Type u_2} {E : Type u_3} [Fintype Ω] [Nonempty Ω]
      [Fintype P] [Fintype E] [DecidableEq E] (deps : P  Finset E)
      (hdegree :  (edge : E), Nat.card { part // edge  deps part } = 2)
      (g : P  (E  Ω)  )
      (hg :  (part : P) (assignment : E  Ω), 0  g part assignment)
      (hdepends :
         (part : P), DependsOn (g part) {edge | edge  deps part}) :
      (Finset.univ.expect fun assignment =>  part, g part assignment) 
         part,
          (Finset.univ.expect fun assignment => g part assignment ^ 2)
    theorem FABL.uniform_expect_prod_le_prod_sqrt_expect_sq_twoRegular_finite.{u_1,
        u_2, u_3}
      {Ω : Type u_1} {P : Type u_2}
      {E : Type u_3} [Fintype Ω] [Nonempty Ω]
      [Fintype P] [Fintype E] [DecidableEq E]
      (deps : P  Finset E)
      (hdegree :
         (edge : E),
          Nat.card
              { part // edge  deps part } =
            2)
      (g : P  (E  Ω)  )
      (hg :
         (part : P) (assignment : E  Ω),
          0  g part assignment)
      (hdepends :
         (part : P),
          DependsOn (g part)
            {edge | edge  deps part}) :
      (Finset.univ.expect fun assignment =>
           part, g part assignment) 
         part,
          (Finset.univ.expect
              fun assignment =>
              g part assignment ^ 2)
    Coordinate-free form of the two-regular Finner contraction, obtained by
    transporting an arbitrary finite edge type to its canonical `Fin` model. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.matching_eq_or_adj_of_toEdge_eq.{u_1} {V : Type u_1}
      {G : SimpleGraph V} {M : G.Subgraph} (hM : M.IsMatching)
      (v w : M.verts) (h : hM.toEdge v = hM.toEdge w) : v = w  M.Adj v w
    theorem FABL.matching_eq_or_adj_of_toEdge_eq.{u_1}
      {V : Type u_1} {G : SimpleGraph V}
      {M : G.Subgraph} (hM : M.IsMatching)
      (v w : M.verts)
      (h : hM.toEdge v = hM.toEdge w) :
      v = w  M.Adj v w
    Two vertices incident to the same edge of a matching either coincide or are
    the two adjacent endpoints of that edge. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingPartEdges {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      Finset (↑matching).edgeSet
    def FABL.graphMatchingPartEdges {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      Finset (↑matching).edgeSet
    Edges of a perfect matching incident to one part of the complete multipartite
    graph. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.mem_graphMatchingPartEdges_iff {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q)
      (edge : (↑matching).edgeSet) :
      edge  FABL.graphMatchingPartEdges matching part 
         pos, part, pos  edge
    theorem FABL.mem_graphMatchingPartEdges_iff
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q)
      (edge : (↑matching).edgeSet) :
      edge 
          FABL.graphMatchingPartEdges matching
            part 
         pos, part, pos  edge
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingPartEdge {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q)
      (pos : Fin k) : (↑matching).edgeSet
    def FABL.graphMatchingPartEdge {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) (pos : Fin k) :
      (↑matching).edgeSet
    The matching edge incident to a specified vertex of a part. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingPartEdge_mem {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q)
      (pos : Fin k) :
      FABL.graphMatchingPartEdge matching part pos 
        FABL.graphMatchingPartEdges matching part
    theorem FABL.graphMatchingPartEdge_mem {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) (pos : Fin k) :
      FABL.graphMatchingPartEdge matching part
          pos 
        FABL.graphMatchingPartEdges matching
          part
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingPartEdge_injective {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      Function.Injective (FABL.graphMatchingPartEdge matching part)
    theorem FABL.graphMatchingPartEdge_injective
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      Function.Injective
        (FABL.graphMatchingPartEdge matching
          part)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingPartEdgeEquiv {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      Fin k  (FABL.graphMatchingPartEdges matching part)
    def FABL.graphMatchingPartEdgeEquiv {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      Fin k 
        (FABL.graphMatchingPartEdges matching
            part)
    The `k` vertices of a part are incident to exactly `k` distinct matching
    edges. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingPartEdges_degree_two {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) :
      Nat.card
          { part // edge  FABL.graphMatchingPartEdges matching part } =
        2
    theorem FABL.graphMatchingPartEdges_degree_two
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) :
      Nat.card
          { part //
            edge 
              FABL.graphMatchingPartEdges
                matching part } =
        2
    Every matching edge is incident to exactly two distinct multipartite parts. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_eq_expect_subtype_of_dependsOn.{u_1, u_2} {E : Type u_1}
      {Ω : Type u_2} [Fintype E] [DecidableEq E] [Fintype Ω] [Nonempty Ω]
      (D : Finset E) (h : (E  Ω)  ) (hh : DependsOn h D) :
      (Finset.univ.expect fun assignment => h assignment) =
        Finset.univ.expect fun inside =>
          h fun edge =>
            if hedge : edge  D then inside edge, hedge
            else Classical.choice 
    theorem FABL.expect_eq_expect_subtype_of_dependsOn.{u_1,
        u_2}
      {E : Type u_1} {Ω : Type u_2}
      [Fintype E] [DecidableEq E] [Fintype Ω]
      [Nonempty Ω] (D : Finset E)
      (h : (E  Ω)  )
      (hh : DependsOn h D) :
      (Finset.univ.expect fun assignment =>
          h assignment) =
        Finset.univ.expect fun inside =>
          h fun edge =>
            if hedge : edge  D then
              inside edge, hedge
            else Classical.choice 
    Uniformly averaging a function which depends only on `D` is the same as
    averaging only the coordinates in `D`. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.LevelKSubset (n k : ) : Type
    abbrev FABL.LevelKSubset (n k : ) : Type
    A Fourier support of cardinality exactly `k`. 
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.InjectiveLabelTuple (n k : ) : Type
    abbrev FABL.InjectiveLabelTuple (n k : ) : Type
    An ordered `k`-tuple of distinct labels. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.InjectiveLabelTuple.image {n k : }
      (a : FABL.InjectiveLabelTuple n k) : FABL.LevelKSubset n k
    def FABL.InjectiveLabelTuple.image {n k : }
      (a : FABL.InjectiveLabelTuple n k) :
      FABL.LevelKSubset n k
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.InjectiveLabelTuple.imageEquiv {n k : }
      (a : FABL.InjectiveLabelTuple n k) : Fin k  a.image
    def FABL.InjectiveLabelTuple.imageEquiv
      {n k : }
      (a : FABL.InjectiveLabelTuple n k) :
      Fin k  a.image
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.InjectiveLabelCodeTarget (n k : ) : Type
    abbrev FABL.InjectiveLabelCodeTarget (n k : ) :
      Type
    A level-`k` set together with one of its `k!` enumerations. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.InjectiveLabelTuple.code {n k : }
      (a : FABL.InjectiveLabelTuple n k) : FABL.InjectiveLabelCodeTarget n k
    def FABL.InjectiveLabelTuple.code {n k : }
      (a : FABL.InjectiveLabelTuple n k) :
      FABL.InjectiveLabelCodeTarget n k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.injectiveLabelTuple_code_injective {n k : } :
      Function.Injective FABL.InjectiveLabelTuple.code
    theorem FABL.injectiveLabelTuple_code_injective
      {n k : } :
      Function.Injective
        FABL.InjectiveLabelTuple.code
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_injectiveLabelCodeTarget {n k : } (w : Finset (Fin n)  ) :
       z, w z.fst = k.factorial *  S, w S
    theorem FABL.sum_injectiveLabelCodeTarget
      {n k : } (w : Finset (Fin n)  ) :
       z, w z.fst = k.factorial *  S, w S
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_injectiveLabelTuple_le_factorial_mul {n k : }
      (w : Finset (Fin n)  ) (hw :  (S : Finset (Fin n)), 0  w S) :
       a, w (Finset.image (↑a) Finset.univ)  k.factorial *  S, w S
    theorem FABL.sum_injectiveLabelTuple_le_factorial_mul
      {n k : } (w : Finset (Fin n)  )
      (hw :  (S : Finset (Fin n)), 0  w S) :
       a, w (Finset.image (↑a) Finset.univ) 
        k.factorial *  S, w S
    There are at most `k!` injective enumerations of each level-`k` set,
    with equality when all enumerations are retained. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_labelTuple_fourierCoeff_sq_le {n k : }
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
       a, FABL.fourierCoeff f (Finset.image a Finset.univ) ^ 2 
        k.factorial * FABL.fourierWeightAtLevel k f
    theorem FABL.sum_labelTuple_fourierCoeff_sq_le
      {n k : } (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
       a,
          FABL.fourierCoeff f
              (Finset.image a Finset.univ) ^
            2 
        k.factorial *
          FABL.fourierWeightAtLevel k f
    The ordered level-`k` square sum has at most the expected `k!`
    multiplicity.  Noninjective tuples vanish by Fourier homogeneity. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_labelTuple_fourierCoeff_sq_le {n k : }
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun a =>
          FABL.fourierCoeff f (Finset.image a Finset.univ) ^ 2) 
        k.factorial / n ^ k * FABL.fourierWeightAtLevel k f
    theorem FABL.expect_labelTuple_fourierCoeff_sq_le
      {n k : } (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun a =>
          FABL.fourierCoeff f
              (Finset.image a Finset.univ) ^
            2) 
        k.factorial / n ^ k *
          FABL.fourierWeightAtLevel k f
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingEdgeLabelSet {q k n : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (assignment : (↑matching).edgeSet  Fin n) (part : Fin q) :
      Finset (Fin n)
    def FABL.graphMatchingEdgeLabelSet {q k n : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (assignment :
        (↑matching).edgeSet  Fin n)
      (part : Fin q) : Finset (Fin n)
    Labels seen in one part when the independent labels are placed on matching
    edges. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingEdgeFourierFactor {q k n : }
      (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q)
      (assignment : (↑matching).edgeSet  Fin n) : 
    def FABL.graphMatchingEdgeFourierFactor
      {q k n : } (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q)
      (assignment :
        (↑matching).edgeSet  Fin n) :
      
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeFourierFactor_nonneg {q k n : }
      (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q)
      (assignment : (↑matching).edgeSet  Fin n) :
      0  FABL.graphMatchingEdgeFourierFactor f matching part assignment
    theorem FABL.graphMatchingEdgeFourierFactor_nonneg
      {q k n : } (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q)
      (assignment :
        (↑matching).edgeSet  Fin n) :
      0 
        FABL.graphMatchingEdgeFourierFactor f
          matching part assignment
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeFourierFactor_dependsOn {q k n : }
      (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      DependsOn (FABL.graphMatchingEdgeFourierFactor f matching part)
        (FABL.graphMatchingPartEdges matching part)
    theorem FABL.graphMatchingEdgeFourierFactor_dependsOn
      {q k n : } (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      DependsOn
        (FABL.graphMatchingEdgeFourierFactor f
          matching part)
        (FABL.graphMatchingPartEdges matching
            part)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeFourierFactor_sq_dependsOn {q k n : }
      (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      DependsOn
        (fun assignment =>
          FABL.graphMatchingEdgeFourierFactor f matching part assignment ^
            2)
        (FABL.graphMatchingPartEdges matching part)
    theorem FABL.graphMatchingEdgeFourierFactor_sq_dependsOn
      {q k n : } (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      DependsOn
        (fun assignment =>
          FABL.graphMatchingEdgeFourierFactor
              f matching part assignment ^
            2)
        (FABL.graphMatchingPartEdges matching
            part)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_graphMatchingEdgeFourierFactor_sq_eq {q k n : }
      (hn : 0 < n) (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      (Finset.univ.expect fun assignment =>
          FABL.graphMatchingEdgeFourierFactor f matching part assignment ^
            2) =
        Finset.univ.expect fun values =>
          FABL.fourierCoeff f (Finset.image values Finset.univ) ^ 2
    theorem FABL.expect_graphMatchingEdgeFourierFactor_sq_eq
      {q k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      (Finset.univ.expect fun assignment =>
          FABL.graphMatchingEdgeFourierFactor
              f matching part assignment ^
            2) =
        Finset.univ.expect fun values =>
          FABL.fourierCoeff f
              (Finset.image values
                Finset.univ) ^
            2
    The local square average at any part is exactly the ordered level-`k`
    square average. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.expect_graphMatchingEdgeFourierFactor_sq_le {q k n : }
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k)
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      (Finset.univ.expect fun assignment =>
          FABL.graphMatchingEdgeFourierFactor f matching part assignment ^
            2) 
        k.factorial / n ^ k * FABL.fourierWeightAtLevel k f
    theorem FABL.expect_graphMatchingEdgeFourierFactor_sq_le
      {q k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k)
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      (Finset.univ.expect fun assignment =>
          FABL.graphMatchingEdgeFourierFactor
              f matching part assignment ^
            2) 
        k.factorial / n ^ k *
          FABL.fourierWeightAtLevel k f
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatching_finner {q k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (matching : FABL.GraphPartitePerfectMatching q k) :
      (Finset.univ.expect fun assignment =>
           part,
            FABL.graphMatchingEdgeFourierFactor f matching part
              assignment) 
         part,
          (Finset.univ.expect fun assignment =>
              FABL.graphMatchingEdgeFourierFactor f matching part
                  assignment ^
                2)
    theorem FABL.graphMatching_finner {q k n : }
      (hn : 0 < n) (f : FABL.SignCube n  )
      (matching :
        FABL.GraphPartitePerfectMatching q
          k) :
      (Finset.univ.expect fun assignment =>
           part,
            FABL.graphMatchingEdgeFourierFactor
              f matching part assignment) 
         part,
          (Finset.univ.expect
              fun assignment =>
              FABL.graphMatchingEdgeFourierFactor
                  f matching part assignment ^
                2)
    Exercise 9.37(d)'s `rk` successive Cauchy--Schwarz steps, in normalized
    finite-expectation form for an arbitrary fixed matching. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatching_fixed_expect_le {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      (Finset.univ.expect fun assignment =>
           part,
            FABL.graphMatchingEdgeFourierFactor f matching part
              assignment) 
        (k.factorial / n ^ k * FABL.fourierWeightAtLevel k f) ^ r
    theorem FABL.graphMatching_fixed_expect_le
      {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      (Finset.univ.expect fun assignment =>
           part,
            FABL.graphMatchingEdgeFourierFactor
              f matching part assignment) 
        (k.factorial / n ^ k *
            FABL.fourierWeightAtLevel k f) ^
          r
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_graphMatchingPartEdges {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) (part : Fin q) :
      (FABL.graphMatchingPartEdges matching part).card = k
    theorem FABL.card_graphMatchingPartEdges {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (part : Fin q) :
      (FABL.graphMatchingPartEdges matching
            part).card =
        k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_graphMatching_edgeSet {r k : }
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      Fintype.card (↑matching).edgeSet = r * k
    theorem FABL.card_graphMatching_edgeSet {r k : }
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      Fintype.card (↑matching).edgeSet =
        r * k
    A perfect matching on `2r` parts of size `k` has exactly `rk` edges. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatching_fixed_sum_le {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
       assignment,
           part,
            FABL.graphMatchingEdgeFourierFactor f matching part assignment 
        k.factorial ^ r * FABL.fourierWeightAtLevel k f ^ r
    theorem FABL.graphMatching_fixed_sum_le
      {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
       assignment,
           part,
            FABL.graphMatchingEdgeFourierFactor
              f matching part assignment 
        k.factorial ^ r *
          FABL.fourierWeightAtLevel k f ^ r
    Exercise 9.37(d), unnormalized form: for each fixed matching, the
    `n^{rk}` label sum contracts to `(k!)^r` times the `r`th power of the level
    weight. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingEdgeRepresentative {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) : (↑matching).verts
    def FABL.graphMatchingEdgeRepresentative
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) :
      (↑matching).verts
    A canonical endpoint used to read a compatible vertex label as an edge
    label. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeRepresentative_spec {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) :
      .toEdge (FABL.graphMatchingEdgeRepresentative matching edge) = edge
    theorem FABL.graphMatchingEdgeRepresentative_spec
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (edge : (↑matching).edgeSet) :
      .toEdge
          (FABL.graphMatchingEdgeRepresentative
            matching edge) =
        edge
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingVertexLabel {q k n : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (assignment : (↑matching).edgeSet  Fin n) :
      FABL.BookPartiteVertex q k  Fin n
    def FABL.graphMatchingVertexLabel {q k n : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (assignment :
        (↑matching).edgeSet  Fin n) :
      FABL.BookPartiteVertex q k  Fin n
    The compatible vertex labeling induced by independent edge labels. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingVertexLabel_compatible {q k n : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (assignment : (↑matching).edgeSet  Fin n) :
      FABL.MatchingCompatibleLabeling
        (FABL.graphMatchingVertexLabel matching assignment) matching
    theorem FABL.graphMatchingVertexLabel_compatible
      {q k n : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (assignment :
        (↑matching).edgeSet  Fin n) :
      FABL.MatchingCompatibleLabeling
        (FABL.graphMatchingVertexLabel
          matching assignment)
        matching
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.GraphMatchingEdgeAssignment (q k n : ) : Type
    abbrev FABL.GraphMatchingEdgeAssignment
      (q k n : ) : Type
    A graph matching together with independent labels on its edges. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingEdgeAssignmentToLabeling {q k n : } :
      FABL.GraphMatchingEdgeAssignment q k n 
        FABL.GraphMatchingLabeling q k n
    def FABL.graphMatchingEdgeAssignmentToLabeling
      {q k n : } :
      FABL.GraphMatchingEdgeAssignment q k n 
        FABL.GraphMatchingLabeling q k n
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingLabelingToEdgeAssignment {q k n : }
      (labeled : FABL.GraphMatchingLabeling q k n) :
      FABL.GraphMatchingEdgeAssignment q k n
    def FABL.graphMatchingLabelingToEdgeAssignment
      {q k n : }
      (labeled :
        FABL.GraphMatchingLabeling q k n) :
      FABL.GraphMatchingEdgeAssignment q k n
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeAssignmentToLabeling_leftInverse {q k n : } :
      Function.LeftInverse FABL.graphMatchingEdgeAssignmentToLabeling
        FABL.graphMatchingLabelingToEdgeAssignment
    theorem FABL.graphMatchingEdgeAssignmentToLabeling_leftInverse
      {q k n : } :
      Function.LeftInverse
        FABL.graphMatchingEdgeAssignmentToLabeling
        FABL.graphMatchingLabelingToEdgeAssignment
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingLabelingToEdgeAssignment_leftInverse {q k n : } :
      Function.LeftInverse FABL.graphMatchingLabelingToEdgeAssignment
        FABL.graphMatchingEdgeAssignmentToLabeling
    theorem FABL.graphMatchingLabelingToEdgeAssignment_leftInverse
      {q k n : } :
      Function.LeftInverse
        FABL.graphMatchingLabelingToEdgeAssignment
        FABL.graphMatchingEdgeAssignmentToLabeling
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingLabelingEquivEdgeAssignment (q k n : ) :
      FABL.GraphMatchingLabeling q k n 
        FABL.GraphMatchingEdgeAssignment q k n
    def FABL.graphMatchingLabelingEquivEdgeAssignment
      (q k n : ) :
      FABL.GraphMatchingLabeling q k n 
        FABL.GraphMatchingEdgeAssignment q k n
    Compatible vertex labelings are exactly independent edge labelings. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingEdgeAssignmentToLabeling_weight {q k n : }
      (f : FABL.SignCube n  )
      (data : FABL.GraphMatchingEdgeAssignment q k n) :
      FABL.matchingLabelingFourierWeight f
          (FABL.graphMatchingEdgeAssignmentToLabeling data) =
         part, FABL.graphMatchingEdgeFourierFactor f data.fst part data.snd
    theorem FABL.graphMatchingEdgeAssignmentToLabeling_weight
      {q k n : } (f : FABL.SignCube n  )
      (data :
        FABL.GraphMatchingEdgeAssignment q k
          n) :
      FABL.matchingLabelingFourierWeight f
          (FABL.graphMatchingEdgeAssignmentToLabeling
            data) =
         part,
          FABL.graphMatchingEdgeFourierFactor
            f data.fst part data.snd
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_matchingLabelingFourierWeight_eq_edgeAssignment {q k n : }
      (f : FABL.SignCube n  ) :
       labeled, FABL.matchingLabelingFourierWeight f labeled =
         data,
           part,
            FABL.graphMatchingEdgeFourierFactor f data.fst part data.snd
    theorem FABL.sum_matchingLabelingFourierWeight_eq_edgeAssignment
      {q k n : } (f : FABL.SignCube n  ) :
       labeled,
          FABL.matchingLabelingFourierWeight f
            labeled =
         data,
           part,
            FABL.graphMatchingEdgeFourierFactor
              f data.fst part data.snd
    Exercise 9.37(c), corrected for the multiplicity erratum in part (b):
    the compatible-label overcount is exactly the sum over independent edge labels. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_matchingLabelingFourierWeight_le {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
       labeled, FABL.matchingLabelingFourierWeight f labeled 
        (Fintype.card (FABL.GraphPartitePerfectMatching (2 * r) k)) *
          (k.factorial ^ r * FABL.fourierWeightAtLevel k f ^ r)
    theorem FABL.sum_matchingLabelingFourierWeight_le
      {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
       labeled,
          FABL.matchingLabelingFourierWeight f
            labeled 
        (Fintype.card
              (FABL.GraphPartitePerfectMatching
                (2 * r) k)) *
          (k.factorial ^ r *
            FABL.fourierWeightAtLevel k f ^ r)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_evenMoment_le_graphMatching_count {r k n : }
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x => f x ^ (2 * r)) 
        (Fintype.card (FABL.GraphPartitePerfectMatching (2 * r) k)) /
            k.factorial ^ r *
          FABL.fourierWeightAtLevel k f ^ r
    theorem FABL.homogeneous_evenMoment_le_graphMatching_count
      {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x =>
          f x ^ (2 * r)) 
        (Fintype.card
                (FABL.GraphPartitePerfectMatching
                  (2 * r) k)) /
            k.factorial ^ r *
          FABL.fourierWeightAtLevel k f ^ r
    Exercise 9.37(e), moment form.  Because the printed equality in part (b)
    overcounts label tuples, the result is an upper bound with the honest graph-matching
    count. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.pairEndpoints.{u_1} {α : Type u_1} (edge : α × α) : List α
    def FABL.pairEndpoints.{u_1} {α : Type u_1}
      (edge : α × α) : List α
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.flattenPairList.{u_1} {α : Type u_1} (edges : List (α × α)) :
      List α
    def FABL.flattenPairList.{u_1} {α : Type u_1}
      (edges : List (α × α)) : List α
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.flattenPairList_decodePerfectMatchingCode_perm {α : Type} (m : )
      (code : FABL.PerfectMatchingCode m) (vertices : List α)
      (hlen : vertices.length = 2 * m) :
      (FABL.flattenPairList
            (FABL.decodePerfectMatchingCode m code vertices)).Perm
        vertices
    theorem FABL.flattenPairList_decodePerfectMatchingCode_perm
      {α : Type} (m : )
      (code : FABL.PerfectMatchingCode m)
      (vertices : List α)
      (hlen : vertices.length = 2 * m) :
      (FABL.flattenPairList
            (FABL.decodePerfectMatchingCode m
              code vertices)).Perm
        vertices
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.flattenPairList_decodePerfectMatchingCode_nodup {α : Type} (m : )
      (code : FABL.PerfectMatchingCode m) (vertices : List α)
      (hlen : vertices.length = 2 * m) (hnodup : vertices.Nodup) :
      (FABL.flattenPairList
          (FABL.decodePerfectMatchingCode m code vertices)).Nodup
    theorem FABL.flattenPairList_decodePerfectMatchingCode_nodup
      {α : Type} (m : )
      (code : FABL.PerfectMatchingCode m)
      (vertices : List α)
      (hlen : vertices.length = 2 * m)
      (hnodup : vertices.Nodup) :
      (FABL.flattenPairList
          (FABL.decodePerfectMatchingCode m
            code vertices)).Nodup
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.pairListGraph {α : Type} (edges : List (α × α)) : SimpleGraph α
    def FABL.pairListGraph {α : Type}
      (edges : List (α × α)) : SimpleGraph α
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pairListGraph_adj_iff {α : Type} (edges : List (α × α)) (u v : α) :
      (FABL.pairListGraph edges).Adj u v 
        ((u, v)  edges  (v, u)  edges)  u  v
    theorem FABL.pairListGraph_adj_iff {α : Type}
      (edges : List (α × α)) (u v : α) :
      (FABL.pairListGraph edges).Adj u v 
        ((u, v)  edges  (v, u)  edges) 
          u  v
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pairListGraph_isPerfectMatching {α : Type} (vertices : List α)
      (edges : List (α × α))
      (hperm : (FABL.flattenPairList edges).Perm vertices)
      (hnodup : vertices.Nodup) (hcomplete :  (u : α), u  vertices)
      (G : SimpleGraph α) (hle : FABL.pairListGraph edges  G) :
      (SimpleGraph.toSubgraph (FABL.pairListGraph edges)
          hle).IsPerfectMatching
    theorem FABL.pairListGraph_isPerfectMatching
      {α : Type} (vertices : List α)
      (edges : List (α × α))
      (hperm :
        (FABL.flattenPairList edges).Perm
          vertices)
      (hnodup : vertices.Nodup)
      (hcomplete :  (u : α), u  vertices)
      (G : SimpleGraph α)
      (hle : FABL.pairListGraph edges  G) :
      (SimpleGraph.toSubgraph
          (FABL.pairListGraph edges)
          hle).IsPerfectMatching
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.decodePerfectMatchingCode_map {α β : Type} (f : α  β) (m : )
      (code : FABL.PerfectMatchingCode m) (vertices : List α) :
      FABL.decodePerfectMatchingCode m code (List.map f vertices) =
        List.map (Prod.map f f)
          (FABL.decodePerfectMatchingCode m code vertices)
    theorem FABL.decodePerfectMatchingCode_map
      {α β : Type} (f : α  β) (m : )
      (code : FABL.PerfectMatchingCode m)
      (vertices : List α) :
      FABL.decodePerfectMatchingCode m code
          (List.map f vertices) =
        List.map (Prod.map f f)
          (FABL.decodePerfectMatchingCode m
            code vertices)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.bookVertexFinEquiv (q k : ) :
      FABL.BookPartiteVertex q k  Fin (q * k)
    def FABL.bookVertexFinEquiv (q k : ) :
      FABL.BookPartiteVertex q k  Fin (q * k)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.finVertexList (N : ) : List (Fin N)
    def FABL.finVertexList (N : ) : List (Fin N)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.length_finVertexList (N : ) : (FABL.finVertexList N).length = N
    theorem FABL.length_finVertexList (N : ) :
      (FABL.finVertexList N).length = N
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.nodup_finVertexList (N : ) : (FABL.finVertexList N).Nodup
    theorem FABL.nodup_finVertexList (N : ) :
      (FABL.finVertexList N).Nodup
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.mem_finVertexList {N : } (x : Fin N) : x  FABL.finVertexList N
    theorem FABL.mem_finVertexList {N : }
      (x : Fin N) : x  FABL.finVertexList N
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.map_val_finVertexList (N : ) :
      List.map Fin.val (FABL.finVertexList N) = List.range N
    theorem FABL.map_val_finVertexList (N : ) :
      List.map Fin.val
          (FABL.finVertexList N) =
        List.range N
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.bookVertexList (q k : ) : List (FABL.BookPartiteVertex q k)
    def FABL.bookVertexList (q k : ) :
      List (FABL.BookPartiteVertex q k)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.length_bookVertexList (q k : ) :
      (FABL.bookVertexList q k).length = q * k
    theorem FABL.length_bookVertexList (q k : ) :
      (FABL.bookVertexList q k).length = q * k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.nodup_bookVertexList (q k : ) : (FABL.bookVertexList q k).Nodup
    theorem FABL.nodup_bookVertexList (q k : ) :
      (FABL.bookVertexList q k).Nodup
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.mem_bookVertexList {q k : } (v : FABL.BookPartiteVertex q k) :
      v  FABL.bookVertexList q k
    theorem FABL.mem_bookVertexList {q k : }
      (v : FABL.BookPartiteVertex q k) :
      v  FABL.bookVertexList q k
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.decodedBookPartiteEdges (q k : )
      (code : FABL.PerfectMatchingCode (q * k / 2)) :
      List (FABL.BookPartiteVertex q k × FABL.BookPartiteVertex q k)
    def FABL.decodedBookPartiteEdges (q k : )
      (code :
        FABL.PerfectMatchingCode
          (q * k / 2)) :
      List
        (FABL.BookPartiteVertex q k ×
          FABL.BookPartiteVertex q k)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.bookVertexFinEquiv_val_div {q k : } (hk : 0 < k)
      (v : FABL.BookPartiteVertex q k) :
      ((FABL.bookVertexFinEquiv q k) v) / k = v.fst
    theorem FABL.bookVertexFinEquiv_val_div {q k : }
      (hk : 0 < k)
      (v : FABL.BookPartiteVertex q k) :
      ((FABL.bookVertexFinEquiv q k) v) / k =
        v.fst
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.decodedBookPartiteEdges_map_fin (q k : )
      (code : FABL.PerfectMatchingCode (q * k / 2)) :
      List.map
          (Prod.map (FABL.bookVertexFinEquiv q k)
            (FABL.bookVertexFinEquiv q k))
          (FABL.decodedBookPartiteEdges q k code) =
        FABL.decodePerfectMatchingCode (q * k / 2) code
          (FABL.finVertexList (q * k))
    theorem FABL.decodedBookPartiteEdges_map_fin
      (q k : )
      (code :
        FABL.PerfectMatchingCode
          (q * k / 2)) :
      List.map
          (Prod.map
            (FABL.bookVertexFinEquiv q k)
            (FABL.bookVertexFinEquiv q k))
          (FABL.decodedBookPartiteEdges q k
            code) =
        FABL.decodePerfectMatchingCode
          (q * k / 2) code
          (FABL.finVertexList (q * k))
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.decode_finVertexList_map_val (m N : )
      (code : FABL.PerfectMatchingCode m) :
      List.map (Prod.map Fin.val Fin.val)
          (FABL.decodePerfectMatchingCode m code (FABL.finVertexList N)) =
        FABL.decodePerfectMatchingCode m code (List.range N)
    theorem FABL.decode_finVertexList_map_val
      (m N : )
      (code : FABL.PerfectMatchingCode m) :
      List.map (Prod.map Fin.val Fin.val)
          (FABL.decodePerfectMatchingCode m
            code (FABL.finVertexList N)) =
        FABL.decodePerfectMatchingCode m code
          (List.range N)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.decodedBookPartiteEdge_parts_ne {q k : } (hk : 0 < k)
      (code : FABL.PartitePerfectMatching q k)
      {u v : FABL.BookPartiteVertex q k}
      (hedge : (u, v)  FABL.decodedBookPartiteEdges q k code) :
      u.fst  v.fst
    theorem FABL.decodedBookPartiteEdge_parts_ne
      {q k : } (hk : 0 < k)
      (code : FABL.PartitePerfectMatching q k)
      {u v : FABL.BookPartiteVertex q k}
      (hedge :
        (u, v) 
          FABL.decodedBookPartiteEdges q k
            code) :
      u.fst  v.fst
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pairListGraph_decodedBookPartiteEdges_le {q k : } (hk : 0 < k)
      (code : FABL.PartitePerfectMatching q k) :
      FABL.pairListGraph (FABL.decodedBookPartiteEdges q k code) 
        FABL.bookPartiteGraph q k
    theorem FABL.pairListGraph_decodedBookPartiteEdges_le
      {q k : } (hk : 0 < k)
      (code :
        FABL.PartitePerfectMatching q k) :
      FABL.pairListGraph
          (FABL.decodedBookPartiteEdges q k
            code) 
        FABL.bookPartiteGraph q k
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.partiteMatchingGraphOfCode {q k : } (hk : 0 < k)
      (heven : Even (q * k)) (code : FABL.PartitePerfectMatching q k) :
      FABL.GraphPartitePerfectMatching q k
    def FABL.partiteMatchingGraphOfCode {q k : }
      (hk : 0 < k) (heven : Even (q * k))
      (code :
        FABL.PartitePerfectMatching q k) :
      FABL.GraphPartitePerfectMatching q k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.pairListGraph_decodePerfectMatchingCode_injective {α : Type}
      (m : ) (vertices : List α) (hlen : vertices.length = 2 * m)
      (hnodup : vertices.Nodup) :
      Function.Injective fun code =>
        FABL.pairListGraph (FABL.decodePerfectMatchingCode m code vertices)
    theorem FABL.pairListGraph_decodePerfectMatchingCode_injective
      {α : Type} (m : ) (vertices : List α)
      (hlen : vertices.length = 2 * m)
      (hnodup : vertices.Nodup) :
      Function.Injective fun code =>
        FABL.pairListGraph
          (FABL.decodePerfectMatchingCode m
            code vertices)
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.CompletePerfectMatching (m : ) : Type
    abbrev FABL.CompletePerfectMatching (m : ) :
      Type
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingPartner {m : }
      (matching : FABL.CompletePerfectMatching m) (v : Fin (2 * m)) :
      Fin (2 * m)
    def FABL.perfectMatchingPartner {m : }
      (matching :
        FABL.CompletePerfectMatching m)
      (v : Fin (2 * m)) : Fin (2 * m)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartner_adj {m : }
      (matching : FABL.CompletePerfectMatching m) (v : Fin (2 * m)) :
      (↑matching).Adj v (FABL.perfectMatchingPartner matching v)
    theorem FABL.perfectMatchingPartner_adj {m : }
      (matching :
        FABL.CompletePerfectMatching m)
      (v : Fin (2 * m)) :
      (↑matching).Adj v
        (FABL.perfectMatchingPartner matching
          v)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartner_unique {m : }
      (matching : FABL.CompletePerfectMatching m) (v w : Fin (2 * m))
      (hvw : (↑matching).Adj v w) :
      w = FABL.perfectMatchingPartner matching v
    theorem FABL.perfectMatchingPartner_unique {m : }
      (matching :
        FABL.CompletePerfectMatching m)
      (v w : Fin (2 * m))
      (hvw : (↑matching).Adj v w) :
      w =
        FABL.perfectMatchingPartner matching v
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartner_involutive {m : }
      (matching : FABL.CompletePerfectMatching m) :
      Function.Involutive (FABL.perfectMatchingPartner matching)
    theorem FABL.perfectMatchingPartner_involutive
      {m : }
      (matching :
        FABL.CompletePerfectMatching m) :
      Function.Involutive
        (FABL.perfectMatchingPartner matching)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartner_ne {m : }
      (matching : FABL.CompletePerfectMatching m) (v : Fin (2 * m)) :
      FABL.perfectMatchingPartner matching v  v
    theorem FABL.perfectMatchingPartner_ne {m : }
      (matching :
        FABL.CompletePerfectMatching m)
      (v : Fin (2 * m)) :
      FABL.perfectMatchingPartner matching v 
        v
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingPartnerPerm {m : }
      (matching : FABL.CompletePerfectMatching m) : Equiv.Perm (Fin (2 * m))
    def FABL.perfectMatchingPartnerPerm {m : }
      (matching :
        FABL.CompletePerfectMatching m) :
      Equiv.Perm (Fin (2 * m))
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartnerPerm_apply {m : }
      (matching : FABL.CompletePerfectMatching m) (v : Fin (2 * m)) :
      (FABL.perfectMatchingPartnerPerm matching) v =
        FABL.perfectMatchingPartner matching v
    theorem FABL.perfectMatchingPartnerPerm_apply
      {m : }
      (matching :
        FABL.CompletePerfectMatching m)
      (v : Fin (2 * m)) :
      (FABL.perfectMatchingPartnerPerm
            matching)
          v =
        FABL.perfectMatchingPartner matching v
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartnerPerm_injective {m : } :
      Function.Injective FABL.perfectMatchingPartnerPerm
    theorem FABL.perfectMatchingPartnerPerm_injective
      {m : } :
      Function.Injective
        FABL.perfectMatchingPartnerPerm
  • abbrevdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    abbrev FABL.PairingPerm (m : ) : Type
    abbrev FABL.PairingPerm (m : ) : Type
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingPartnerPerm_cycleType {m : }
      (matching : FABL.CompletePerfectMatching m) :
      (FABL.perfectMatchingPartnerPerm matching).cycleType =
        Multiset.replicate m 2
    theorem FABL.perfectMatchingPartnerPerm_cycleType
      {m : }
      (matching :
        FABL.CompletePerfectMatching m) :
      (FABL.perfectMatchingPartnerPerm
            matching).cycleType =
        Multiset.replicate m 2
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.completePerfectMatchingToPairingPerm {m : }
      (matching : FABL.CompletePerfectMatching m) : FABL.PairingPerm m
    def FABL.completePerfectMatchingToPairingPerm
      {m : }
      (matching :
        FABL.CompletePerfectMatching m) :
      FABL.PairingPerm m
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.completePerfectMatchingToPairingPerm_injective {m : } :
      Function.Injective FABL.completePerfectMatchingToPairingPerm
    theorem FABL.completePerfectMatchingToPairingPerm_injective
      {m : } :
      Function.Injective
        FABL.completePerfectMatchingToPairingPerm
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_pairingPerm (m : ) :
      Fintype.card (FABL.PairingPerm m) = (2 * m - 1).doubleFactorial
    theorem FABL.card_pairingPerm (m : ) :
      Fintype.card (FABL.PairingPerm m) =
        (2 * m - 1).doubleFactorial
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingGraphOfCode {m : }
      (code : FABL.PerfectMatchingCode m) : FABL.CompletePerfectMatching m
    def FABL.perfectMatchingGraphOfCode {m : }
      (code : FABL.PerfectMatchingCode m) :
      FABL.CompletePerfectMatching m
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingGraphOfCode_injective {m : } :
      Function.Injective FABL.perfectMatchingGraphOfCode
    theorem FABL.perfectMatchingGraphOfCode_injective
      {m : } :
      Function.Injective
        FABL.perfectMatchingGraphOfCode
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_completePerfectMatching (m : ) :
      Fintype.card (FABL.CompletePerfectMatching m) =
        (2 * m - 1).doubleFactorial
    theorem FABL.card_completePerfectMatching
      (m : ) :
      Fintype.card
          (FABL.CompletePerfectMatching m) =
        (2 * m - 1).doubleFactorial
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.perfectMatchingGraphOfCode_bijective {m : } :
      Function.Bijective FABL.perfectMatchingGraphOfCode
    theorem FABL.perfectMatchingGraphOfCode_bijective
      {m : } :
      Function.Bijective
        FABL.perfectMatchingGraphOfCode
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingCodeEquivCompletePerfectMatching (m : ) :
      FABL.PerfectMatchingCode m  FABL.CompletePerfectMatching m
    def FABL.perfectMatchingCodeEquivCompletePerfectMatching
      (m : ) :
      FABL.PerfectMatchingCode m 
        FABL.CompletePerfectMatching m
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.partiteMatchingGraphOfCode_injective {q k : } (hk : 0 < k)
      (heven : Even (q * k)) :
      Function.Injective (FABL.partiteMatchingGraphOfCode hk heven)
    theorem FABL.partiteMatchingGraphOfCode_injective
      {q k : } (hk : 0 < k)
      (heven : Even (q * k)) :
      Function.Injective
        (FABL.partiteMatchingGraphOfCode hk
          heven)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.bookVertexEvenFinEquiv (r k : ) :
      FABL.BookPartiteVertex (2 * r) k  Fin (2 * (r * k))
    def FABL.bookVertexEvenFinEquiv (r k : ) :
      FABL.BookPartiteVertex (2 * r) k 
        Fin (2 * (r * k))
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.bookVertexEvenFinEquiv_val_div {r k : } (hk : 0 < k)
      (v : FABL.BookPartiteVertex (2 * r) k) :
      ((FABL.bookVertexEvenFinEquiv r k) v) / k = v.fst
    theorem FABL.bookVertexEvenFinEquiv_val_div
      {r k : } (hk : 0 < k)
      (v : FABL.BookPartiteVertex (2 * r) k) :
      ((FABL.bookVertexEvenFinEquiv r k) v) /
          k =
        v.fst
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.relabelBookMatchingGraph {r k : }
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      SimpleGraph (Fin (2 * (r * k)))
    def FABL.relabelBookMatchingGraph {r k : }
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      SimpleGraph (Fin (2 * (r * k)))
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphPartiteMatchingToCompletePerfectMatching {r k : }
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      FABL.CompletePerfectMatching (r * k)
    def FABL.graphPartiteMatchingToCompletePerfectMatching
      {r k : }
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      FABL.CompletePerfectMatching (r * k)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingToCompletePerfectMatching_injective {r k : } :
      Function.Injective FABL.graphPartiteMatchingToCompletePerfectMatching
    theorem FABL.graphPartiteMatchingToCompletePerfectMatching_injective
      {r k : } :
      Function.Injective
        FABL.graphPartiteMatchingToCompletePerfectMatching
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.decodedRangeEdge_perfectMatchingGraph_adj {m : }
      (code : FABL.PerfectMatchingCode m) {a b : }
      (hedge :
        (a, b) 
          FABL.decodePerfectMatchingCode m code (List.range (2 * m))) :
       (ha : a < 2 * m) (hb : b < 2 * m),
        (↑(FABL.perfectMatchingGraphOfCode code)).Adj a, ha b, hb
    theorem FABL.decodedRangeEdge_perfectMatchingGraph_adj
      {m : }
      (code : FABL.PerfectMatchingCode m)
      {a b : }
      (hedge :
        (a, b) 
          FABL.decodePerfectMatchingCode m
            code (List.range (2 * m))) :
       (ha : a < 2 * m) (hb : b < 2 * m),
        (↑(FABL.perfectMatchingGraphOfCode
                code)).Adj
          a, ha b, hb
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.IsEvenPartitePerfectMatchingCode (r k : )
      (code : FABL.PerfectMatchingCode (r * k)) : Prop
    def FABL.IsEvenPartitePerfectMatchingCode
      (r k : )
      (code :
        FABL.PerfectMatchingCode (r * k)) :
      Prop
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.EvenPartitePerfectMatching (r k : ) : Type
    def FABL.EvenPartitePerfectMatching
      (r k : ) : Type
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.partitePerfectMatchingEvenEquiv (r k : ) :
      FABL.PartitePerfectMatching (2 * r) k 
        FABL.EvenPartitePerfectMatching r k
    def FABL.partitePerfectMatchingEvenEquiv
      (r k : ) :
      FABL.PartitePerfectMatching (2 * r) k 
        FABL.EvenPartitePerfectMatching r k
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphPartiteMatchingCodeRaw {r k : }
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      FABL.PerfectMatchingCode (r * k)
    def FABL.graphPartiteMatchingCodeRaw {r k : }
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      FABL.PerfectMatchingCode (r * k)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingCodeRaw_isEvenPartite {r k : } (hk : 0 < k)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      FABL.IsEvenPartitePerfectMatchingCode r k
        (FABL.graphPartiteMatchingCodeRaw matching)
    theorem FABL.graphPartiteMatchingCodeRaw_isEvenPartite
      {r k : } (hk : 0 < k)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      FABL.IsEvenPartitePerfectMatchingCode r
        k
        (FABL.graphPartiteMatchingCodeRaw
          matching)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphPartiteMatchingToEvenCode {r k : } (hk : 0 < k)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      FABL.EvenPartitePerfectMatching r k
    def FABL.graphPartiteMatchingToEvenCode
      {r k : } (hk : 0 < k)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      FABL.EvenPartitePerfectMatching r k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingToEvenCode_injective {r k : } (hk : 0 < k) :
      Function.Injective (FABL.graphPartiteMatchingToEvenCode hk)
    theorem FABL.graphPartiteMatchingToEvenCode_injective
      {r k : } (hk : 0 < k) :
      Function.Injective
        (FABL.graphPartiteMatchingToEvenCode
          hk)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_graphPartitePerfectMatching_eq_partitePerfectMatching_of_pos
      (r k : ) (hk : 0 < k) :
      Fintype.card (FABL.GraphPartitePerfectMatching (2 * r) k) =
        Fintype.card (FABL.PartitePerfectMatching (2 * r) k)
    theorem FABL.card_graphPartitePerfectMatching_eq_partitePerfectMatching_of_pos
      (r k : ) (hk : 0 < k) :
      Fintype.card
          (FABL.GraphPartitePerfectMatching
            (2 * r) k) =
        Fintype.card
          (FABL.PartitePerfectMatching (2 * r)
            k)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.emptyGraphPartitePerfectMatching (r : ) :
      FABL.GraphPartitePerfectMatching (2 * r) 0
    def FABL.emptyGraphPartitePerfectMatching
      (r : ) :
      FABL.GraphPartitePerfectMatching (2 * r)
        0
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_graphPartitePerfectMatching_zero (r : ) :
      Fintype.card (FABL.GraphPartitePerfectMatching (2 * r) 0) = 1
    theorem FABL.card_graphPartitePerfectMatching_zero
      (r : ) :
      Fintype.card
          (FABL.GraphPartitePerfectMatching
            (2 * r) 0) =
        1
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePerfectMatching_zero (r : ) :
      Fintype.card (FABL.PartitePerfectMatching (2 * r) 0) = 1
    theorem FABL.card_partitePerfectMatching_zero
      (r : ) :
      Fintype.card
          (FABL.PartitePerfectMatching (2 * r)
            0) =
        1
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_graphPartitePerfectMatching_eq_partitePerfectMatching
      (r k : ) :
      Fintype.card (FABL.GraphPartitePerfectMatching (2 * r) k) =
        Fintype.card (FABL.PartitePerfectMatching (2 * r) k)
    theorem FABL.card_graphPartitePerfectMatching_eq_partitePerfectMatching
      (r k : ) :
      Fintype.card
          (FABL.GraphPartitePerfectMatching
            (2 * r) k) =
        Fintype.card
          (FABL.PartitePerfectMatching (2 * r)
            k)
    Cardinality bridge between the graph-theoretic matchings used by the
    Finner proof and the canonical recursive codes used for Exercise 9.38. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphPartitePerfectMatchingEquivCode (r k : ) :
      FABL.GraphPartitePerfectMatching (2 * r) k 
        FABL.PartitePerfectMatching (2 * r) k
    def FABL.graphPartitePerfectMatchingEquivCode
      (r k : ) :
      FABL.GraphPartitePerfectMatching (2 * r)
          k 
        FABL.PartitePerfectMatching (2 * r) k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_evenMoment_le_partiteMatching_count {r k n : }
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x => f x ^ (2 * r)) 
        (Fintype.card (FABL.PartitePerfectMatching (2 * r) k)) /
            k.factorial ^ r *
          FABL.fourierWeightAtLevel k f ^ r
    theorem FABL.homogeneous_evenMoment_le_partiteMatching_count
      {r k n : } (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      (Finset.univ.expect fun x =>
          f x ^ (2 * r)) 
        (Fintype.card
                (FABL.PartitePerfectMatching
                  (2 * r) k)) /
            k.factorial ^ r *
          FABL.fourierWeightAtLevel k f ^ r
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.fourierWeightAtLevel_eq_uniformLpNorm_two_sq_of_homogeneous
      {n k : } (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.fourierWeightAtLevel k f = FABL.uniformLpNorm 2 f ^ 2
    theorem FABL.fourierWeightAtLevel_eq_uniformLpNorm_two_sq_of_homogeneous
      {n k : } (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.fourierWeightAtLevel k f =
        FABL.uniformLpNorm 2 f ^ 2
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_partiteMatching {r k n : }
      (hr : 0 < r) (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (↑(Fintype.card (FABL.PartitePerfectMatching (2 * r) k))).rpow
              (1 / (2 * r)) /
            k.factorial *
          FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_partiteMatching
      {r k n : } (hr : 0 < r) (hn : 0 < n)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (↑(Fintype.card
                    (FABL.PartitePerfectMatching
                      (2 * r) k))).rpow
              (1 / (2 * r)) /
            k.factorial *
          FABL.uniformLpNorm 2 f
    Exercise 9.37(e), final displayed norm inequality with the canonical
    matching count from Exercise 9.38. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.exercise9_37b_printed_multiplicity_counterexample :
      1 
        (Fintype.card (FABL.PartitePerfectMatching 4 1)) /
          (Nat.factorial 1) ^ 4
    theorem FABL.exercise9_37b_printed_multiplicity_counterexample :
      1 
        (Fintype.card
              (FABL.PartitePerfectMatching 4
                1)) /
          (Nat.factorial 1) ^ 4
    Erratum for the printed equality in Exercise 9.37(b).  For `q=4`, `k=1`, and
    one available Fourier label, the parity tuple with that label in all four parts has
    weight one, whereas the unweighted matching-label sum counts it once for each of the
    three perfect matchings. 
Theorem9.7.39
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 9.38. Estimate the perfect matchings of Exercise 9.37.

  1. For q=4, k=2, prove |\mathcal M|=60.

  2. Prove |\mathcal M|\le(qk-1)!! and deduce \|f\|_q\le(\sqrt q)^k\|f\|_2.

  3. The PDF prints the weaker ordered-history bound |\mathcal M| \le\left(\frac{2r-1}{r}\right)^{rk}(rk)!^2 but this does not imply the following displayed C_{q,k}: every unordered matching was counted (rk)! times. Prove the corrected strong bound |\mathcal M| \le\left(\frac{2r-1}{r}\right)^{rk}(rk)!, retain the printed squared inequality as a weak consequence, and deduce \|f\|_q \le C_{q,k}(\sqrt{q-1})^k\|f\|_2, \qquad C_{q,k} =\left(\frac{(rk)!}{(k!)^r r^{rk}}\right)^{1/q}.

  4. Prove C_{q,k}\le1, recovering Theorem 9.21.

  5. Prove C_{q,k}=\Theta(1)k^{-1/4+1/(2q)}.

Lean code for Theorem9.7.3968 declarations
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.PerfectMatchingCode :   Type
    def FABL.PerfectMatchingCode :   Type
    A canonical code for a perfect matching on `2m` linearly ordered vertices.  At the
    successor step the least remaining vertex chooses one of the other `2m+1` vertices. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingCodeFintype (m : ) :
      Fintype (FABL.PerfectMatchingCode m)
    def FABL.perfectMatchingCodeFintype (m : ) :
      Fintype (FABL.PerfectMatchingCode m)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.perfectMatchingCodeDecidableEq (m : ) :
      DecidableEq (FABL.PerfectMatchingCode m)
    def FABL.perfectMatchingCodeDecidableEq
      (m : ) :
      DecidableEq (FABL.PerfectMatchingCode m)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.decodePerfectMatchingCode {α : Type} (m : ) :
      FABL.PerfectMatchingCode m  List α  List (α × α)
    def FABL.decodePerfectMatchingCode {α : Type}
      (m : ) :
      FABL.PerfectMatchingCode m 
        List α  List (α × α)
    Decode a matching code against a current ordered list of unused vertices. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.decodedPerfectMatching (m : )
      (code : FABL.PerfectMatchingCode m) : List ( × )
    def FABL.decodedPerfectMatching (m : )
      (code : FABL.PerfectMatchingCode m) :
      List ( × )
    The decoded edges of a matching on the standard vertex set `Fin (2m)`, represented
    by natural labels `0,...,2m-1`. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.IsPartitePerfectMatchingCode (q k : )
      (code : FABL.PerfectMatchingCode (q * k / 2)) : Prop
    def FABL.IsPartitePerfectMatchingCode
      (q k : )
      (code :
        FABL.PerfectMatchingCode
          (q * k / 2)) :
      Prop
    A canonical matching code is `q`-partite with parts of size `k` when every decoded edge
    joins vertices whose quotient-by-`k` part labels differ. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.PartitePerfectMatching (q k : ) : Type
    def FABL.PartitePerfectMatching (q k : ) :
      Type
    Perfect matchings in the complete `q`-partite graph with `k` vertices in each part. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_perfectMatchingCode (m : ) :
      Nat.card (FABL.PerfectMatchingCode m) = (2 * m - 1).doubleFactorial
    theorem FABL.natCard_perfectMatchingCode (m : ) :
      Nat.card (FABL.PerfectMatchingCode m) =
        (2 * m - 1).doubleFactorial
    There are `(2m-1)!!` canonical perfect-matching codes on `2m` vertices. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_partitePerfectMatching_le_code (q k : ) :
      Nat.card (FABL.PartitePerfectMatching q k) 
        Nat.card (FABL.PerfectMatchingCode (q * k / 2))
    theorem FABL.natCard_partitePerfectMatching_le_code
      (q k : ) :
      Nat.card
          (FABL.PartitePerfectMatching q k) 
        Nat.card
          (FABL.PerfectMatchingCode
            (q * k / 2))
    Partite perfect matchings inject into all perfect matchings. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePerfectMatching_four_two :
      Fintype.card (FABL.PartitePerfectMatching 4 2) = 60
    theorem FABL.card_partitePerfectMatching_four_two :
      Fintype.card
          (FABL.PartitePerfectMatching 4 2) =
        60
    Exercise 9.38(a): the complete four-partite graph with two vertices in each part
    has exactly sixty perfect matchings. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePerfectMatching_four_one :
      Fintype.card (FABL.PartitePerfectMatching 4 1) = 3
    theorem FABL.card_partitePerfectMatching_four_one :
      Fintype.card
          (FABL.PartitePerfectMatching 4 1) =
        3
    There are three perfect matchings of the four singleton parts. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.oddDoubleFactorial_le_factorial_sq (m : ) :
      (2 * m - 1).doubleFactorial  m.factorial ^ 2
    theorem FABL.oddDoubleFactorial_le_factorial_sq
      (m : ) :
      (2 * m - 1).doubleFactorial 
        m.factorial ^ 2
    The odd double factorial is bounded by the square of the corresponding factorial. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_partitePerfectMatching_le_doubleFactorial (r k : ) :
      Nat.card (FABL.PartitePerfectMatching (2 * r) k) 
        (2 * r * k - 1).doubleFactorial
    theorem FABL.natCard_partitePerfectMatching_le_doubleFactorial
      (r k : ) :
      Nat.card
          (FABL.PartitePerfectMatching (2 * r)
            k) 
        (2 * r * k - 1).doubleFactorial
    Exercise 9.38(b): partite perfect matchings are at most all perfect matchings,
    whose count is the odd double factorial. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.natCard_partitePerfectMatching_le_factorial_bound (r k : )
      (hr : 0 < r) :
      (Nat.card (FABL.PartitePerfectMatching (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) * (r * k).factorial ^ 2
    theorem FABL.natCard_partitePerfectMatching_le_factorial_bound
      (r k : ) (hr : 0 < r) :
      (Nat.card
            (FABL.PartitePerfectMatching
              (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) *
          (r * k).factorial ^ 2
    The literal squared-factorial count printed in Exercise 9.38(c).  This weak
    inequality factors through `(2m-1)!! ≤ (m!)²`, but it cannot imply the displayed
    single-factorial `C_{q,k}` bound that follows it.  The corrected unordered-matching
    bound `card_partitePerfectMatching_le_factorial_bound_strong` is proved below. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_two_mul {n : } (r k : )
      (hr : 0 < r) (f : FABL.SignCube n  )
      (hdegree : FABL.fourierDegree f  k) :
      FABL.uniformLpNorm (2 * r) f  (2 * r) ^ k * FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_two_mul
      {n : } (r k : ) (hr : 0 < r)
      (f : FABL.SignCube n  )
      (hdegree : FABL.fourierDegree f  k) :
      FABL.uniformLpNorm (2 * r) f 
        (2 * r) ^ k * FABL.uniformLpNorm 2 f
    Exercise 9.38(b), norm consequence.  The already established sharp low-degree theorem
    immediately implies the book's coarser `q^{k/2}` estimate. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.multinomial_const_le_pow (r k : ) :
      (Nat.multinomial Finset.univ fun x => k)  r ^ (r * k)
    theorem FABL.multinomial_const_le_pow (r k : ) :
      (Nat.multinomial Finset.univ fun x =>
          k) 
        r ^ (r * k)
    The constant-composition multinomial coefficient is at most the total number of
    length-`rk` words on `r` symbols. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.factorial_mul_le_factorial_pow_mul_pow (r k : ) :
      (r * k).factorial  k.factorial ^ r * r ^ (r * k)
    theorem FABL.factorial_mul_le_factorial_pow_mul_pow
      (r k : ) :
      (r * k).factorial 
        k.factorial ^ r * r ^ (r * k)
    The factorial inequality underlying Exercise 9.38(d). 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.matchingImprovementConstant (r k : ) : 
    def FABL.matchingImprovementConstant
      (r k : ) : 
    Exercise 9.38(c)'s improvement factor, with `q=2r`. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.matchingImprovementConstant_le_one (r k : ) (hr : 0 < r) :
      FABL.matchingImprovementConstant r k  1
    theorem FABL.matchingImprovementConstant_le_one
      (r k : ) (hr : 0 < r) :
      FABL.matchingImprovementConstant r k  1
    Exercise 9.38(d): the matching improvement factor is at most one. 
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.remainingPartSlice {r k : }
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (part : Fin (2 * r)) : Finset (FABL.BookPartiteVertex (2 * r) k)
    def FABL.remainingPartSlice {r k : }
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (part : Fin (2 * r)) :
      Finset
        (FABL.BookPartiteVertex (2 * r) k)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.greedyLargestPart {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) : Fin (2 * r)
    def FABL.greedyLargestPart {r k : }
      (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
      Fin (2 * r)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.remainingPartSlice_card_le_greedyLargestPart {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (part : Fin (2 * r)) :
      (FABL.remainingPartSlice remaining part).card 
        (FABL.remainingPartSlice remaining
            (FABL.greedyLargestPart hr remaining)).card
    theorem FABL.remainingPartSlice_card_le_greedyLargestPart
      {r k : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (part : Fin (2 * r)) :
      (FABL.remainingPartSlice remaining
            part).card 
        (FABL.remainingPartSlice remaining
            (FABL.greedyLargestPart hr
              remaining)).card
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.sum_card_remainingPartSlice {r k : }
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) :
       part, (FABL.remainingPartSlice remaining part).card = remaining.card
    theorem FABL.sum_card_remainingPartSlice {r k : }
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
       part,
          (FABL.remainingPartSlice remaining
              part).card =
        remaining.card
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.remaining_card_le_parts_mul_largest {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) :
      remaining.card 
        2 * r *
          (FABL.remainingPartSlice remaining
              (FABL.greedyLargestPart hr remaining)).card
    theorem FABL.remaining_card_le_parts_mul_largest
      {r k : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
      remaining.card 
        2 * r *
          (FABL.remainingPartSlice remaining
              (FABL.greedyLargestPart hr
                remaining)).card
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.greedyLargestPartSlice_nonempty {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.remainingPartSlice remaining
          (FABL.greedyLargestPart hr remaining)).Nonempty
    theorem FABL.greedyLargestPartSlice_nonempty
      {r k : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.remainingPartSlice remaining
          (FABL.greedyLargestPart hr
            remaining)).Nonempty
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.greedyPivot {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) : FABL.BookPartiteVertex (2 * r) k
    def FABL.greedyPivot {r k : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      FABL.BookPartiteVertex (2 * r) k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.greedyPivot_mem {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      FABL.greedyPivot hr remaining hremaining  remaining
    theorem FABL.greedyPivot_mem {r k : }
      (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      FABL.greedyPivot hr remaining
          hremaining 
        remaining
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.greedyPivot_part {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.greedyPivot hr remaining hremaining).fst =
        FABL.greedyLargestPart hr remaining
    theorem FABL.greedyPivot_part {r k : }
      (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.greedyPivot hr remaining
            hremaining).fst =
        FABL.greedyLargestPart hr remaining
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.greedyPartnerChoices {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      Finset (FABL.BookPartiteVertex (2 * r) k)
    def FABL.greedyPartnerChoices {r k : }
      (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      Finset
        (FABL.BookPartiteVertex (2 * r) k)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_greedyPartnerChoices_add_largest {r k : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.greedyPartnerChoices hr remaining hremaining).card +
          (FABL.remainingPartSlice remaining
              (FABL.greedyLargestPart hr remaining)).card =
        remaining.card
    theorem FABL.card_greedyPartnerChoices_add_largest
      {r k : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      (FABL.greedyPartnerChoices hr remaining
              hremaining).card +
          (FABL.remainingPartSlice remaining
              (FABL.greedyLargestPart hr
                remaining)).card =
        remaining.card
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_greedyPartnerChoices_le {r k s : } (hr : 0 < r) (hs : 0 < s)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hcard : remaining.card = 2 * s) :
      (FABL.greedyPartnerChoices hr remaining ).card 
        (2 * r - 1) / r * s
    theorem FABL.card_greedyPartnerChoices_le
      {r k s : } (hr : 0 < r) (hs : 0 < s)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hcard : remaining.card = 2 * s) :
      (FABL.greedyPartnerChoices hr remaining
              ).card 
        (2 * r - 1) / r * s
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.PartitePairingTrace {r k : } (hr : 0 < r) (s : ) :
      Finset (FABL.BookPartiteVertex (2 * r) k)  Type
    def FABL.PartitePairingTrace {r k : }
      (hr : 0 < r) (s : ) :
      Finset
          (FABL.BookPartiteVertex (2 * r) k) 
        Type
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.partitePairingTraceFintype {r k : } (hr : 0 < r) (s : )
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) :
      Fintype (FABL.PartitePairingTrace hr s remaining)
    def FABL.partitePairingTraceFintype {r k : }
      (hr : 0 < r) (s : )
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
      Fintype
        (FABL.PartitePairingTrace hr s
          remaining)
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.partitePairingTraceSuccEquiv {r k s : } (hr : 0 < r)
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      FABL.PartitePairingTrace hr (s + 1) remaining 
        (partner : (FABL.greedyPartnerChoices hr remaining hremaining)) ×
          FABL.PartitePairingTrace hr s
            ((remaining.erase
                  (FABL.greedyPivot hr remaining hremaining)).erase
              partner)
    def FABL.partitePairingTraceSuccEquiv
      {r k s : } (hr : 0 < r)
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hremaining : remaining.Nonempty) :
      FABL.PartitePairingTrace hr (s + 1)
          remaining 
        (partner :
          (FABL.greedyPartnerChoices hr
              remaining hremaining)) ×
          FABL.PartitePairingTrace hr s
            ((remaining.erase
                  (FABL.greedyPivot hr
                    remaining
                    hremaining)).erase
              partner)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePairingTrace_le {r k : } (hr : 0 < r) (s : )
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) :
      remaining.card = 2 * s 
        (Fintype.card (FABL.PartitePairingTrace hr s remaining)) 
          ((2 * r - 1) / r) ^ s * s.factorial
    theorem FABL.card_partitePairingTrace_le {r k : }
      (hr : 0 < r) (s : )
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
      remaining.card = 2 * s 
        (Fintype.card
              (FABL.PartitePairingTrace hr s
                remaining)) 
          ((2 * r - 1) / r) ^ s *
            s.factorial
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphPartiteMatchingPartner {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) : FABL.BookPartiteVertex q k
    def FABL.graphPartiteMatchingPartner {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) :
      FABL.BookPartiteVertex q k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingPartner_adj {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) :
      (↑matching).Adj vertex
        (FABL.graphPartiteMatchingPartner matching vertex)
    theorem FABL.graphPartiteMatchingPartner_adj
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) :
      (↑matching).Adj vertex
        (FABL.graphPartiteMatchingPartner
          matching vertex)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingPartner_unique {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (vertex neighbor : FABL.BookPartiteVertex q k)
      (hneighbor : (↑matching).Adj vertex neighbor) :
      neighbor = FABL.graphPartiteMatchingPartner matching vertex
    theorem FABL.graphPartiteMatchingPartner_unique
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (vertex neighbor :
        FABL.BookPartiteVertex q k)
      (hneighbor :
        (↑matching).Adj vertex neighbor) :
      neighbor =
        FABL.graphPartiteMatchingPartner
          matching vertex
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingPartner_involutive {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) :
      Function.Involutive (FABL.graphPartiteMatchingPartner matching)
    theorem FABL.graphPartiteMatchingPartner_involutive
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q
          k) :
      Function.Involutive
        (FABL.graphPartiteMatchingPartner
          matching)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphPartiteMatchingPartner_part_ne {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) :
      (FABL.graphPartiteMatchingPartner matching vertex).fst  vertex.fst
    theorem FABL.graphPartiteMatchingPartner_part_ne
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (vertex : FABL.BookPartiteVertex q k) :
      (FABL.graphPartiteMatchingPartner
            matching vertex).fst 
        vertex.fst
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.GraphMatchingClosedOn {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (remaining : Finset (FABL.BookPartiteVertex q k)) : Prop
    def FABL.GraphMatchingClosedOn {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (remaining :
        Finset (FABL.BookPartiteVertex q k)) :
      Prop
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingClosedOn_univ {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k) :
      FABL.GraphMatchingClosedOn matching Finset.univ
    theorem FABL.graphMatchingClosedOn_univ {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q
          k) :
      FABL.GraphMatchingClosedOn matching
        Finset.univ
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingClosedOn_erase_pair {q k : }
      (matching : FABL.GraphPartitePerfectMatching q k)
      (remaining : Finset (FABL.BookPartiteVertex q k))
      (hclosed : FABL.GraphMatchingClosedOn matching remaining)
      (vertex : FABL.BookPartiteVertex q k)
      (_hvertex : vertex  remaining) :
      FABL.GraphMatchingClosedOn matching
        ((remaining.erase vertex).erase
          (FABL.graphPartiteMatchingPartner matching vertex))
    theorem FABL.graphMatchingClosedOn_erase_pair
      {q k : }
      (matching :
        FABL.GraphPartitePerfectMatching q k)
      (remaining :
        Finset (FABL.BookPartiteVertex q k))
      (hclosed :
        FABL.GraphMatchingClosedOn matching
          remaining)
      (vertex : FABL.BookPartiteVertex q k)
      (_hvertex : vertex  remaining) :
      FABL.GraphMatchingClosedOn matching
        ((remaining.erase vertex).erase
          (FABL.graphPartiteMatchingPartner
            matching vertex))
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingTrace {r k : } (hr : 0 < r)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) (s : )
      (remaining : Finset (FABL.BookPartiteVertex (2 * r) k)) :
      remaining.card = 2 * s 
        FABL.GraphMatchingClosedOn matching remaining 
          FABL.PartitePairingTrace hr s remaining
    def FABL.graphMatchingTrace {r k : }
      (hr : 0 < r)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k)
      (s : )
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r)
            k)) :
      remaining.card = 2 * s 
        FABL.GraphMatchingClosedOn matching
            remaining 
          FABL.PartitePairingTrace hr s
            remaining
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingTrace_partner_eq_on_remaining {r k : } (hr : 0 < r)
      (s : ) (remaining : Finset (FABL.BookPartiteVertex (2 * r) k))
      (hcard : remaining.card = 2 * s)
      (first second : FABL.GraphPartitePerfectMatching (2 * r) k)
      (hclosedFirst : FABL.GraphMatchingClosedOn first remaining)
      (hclosedSecond : FABL.GraphMatchingClosedOn second remaining) :
      FABL.graphMatchingTrace hr first s remaining hcard hclosedFirst =
          FABL.graphMatchingTrace hr second s remaining hcard
            hclosedSecond 
         vertex  remaining,
          FABL.graphPartiteMatchingPartner first vertex =
            FABL.graphPartiteMatchingPartner second vertex
    theorem FABL.graphMatchingTrace_partner_eq_on_remaining
      {r k : } (hr : 0 < r) (s : )
      (remaining :
        Finset
          (FABL.BookPartiteVertex (2 * r) k))
      (hcard : remaining.card = 2 * s)
      (first second :
        FABL.GraphPartitePerfectMatching
          (2 * r) k)
      (hclosedFirst :
        FABL.GraphMatchingClosedOn first
          remaining)
      (hclosedSecond :
        FABL.GraphMatchingClosedOn second
          remaining) :
      FABL.graphMatchingTrace hr first s
            remaining hcard hclosedFirst =
          FABL.graphMatchingTrace hr second s
            remaining hcard hclosedSecond 
         vertex  remaining,
          FABL.graphPartiteMatchingPartner
              first vertex =
            FABL.graphPartiteMatchingPartner
              second vertex
  • defdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    def FABL.graphMatchingFullTrace {r k : } (hr : 0 < r)
      (matching : FABL.GraphPartitePerfectMatching (2 * r) k) :
      FABL.PartitePairingTrace hr (r * k) Finset.univ
    def FABL.graphMatchingFullTrace {r k : }
      (hr : 0 < r)
      (matching :
        FABL.GraphPartitePerfectMatching
          (2 * r) k) :
      FABL.PartitePairingTrace hr (r * k)
        Finset.univ
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.graphMatchingFullTrace_injective {r k : } (hr : 0 < r) :
      Function.Injective (FABL.graphMatchingFullTrace hr)
    theorem FABL.graphMatchingFullTrace_injective
      {r k : } (hr : 0 < r) :
      Function.Injective
        (FABL.graphMatchingFullTrace hr)
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePerfectMatching_le_factorial_bound_strong (r k : )
      (hr : 0 < r) :
      (Fintype.card (FABL.PartitePerfectMatching (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) * (r * k).factorial
    theorem FABL.card_partitePerfectMatching_le_factorial_bound_strong
      (r k : ) (hr : 0 < r) :
      (Fintype.card
            (FABL.PartitePerfectMatching
              (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) *
          (r * k).factorial
    Corrected strong form of Exercise 9.38(c).  The printed square counts
    ordered edge-selection histories; division by `(rk)!` gives the unordered
    perfect-matching count used in Exercise 9.37(e). 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.card_partitePerfectMatching_le_factorial_bound_printed (r k : )
      (hr : 0 < r) :
      (Fintype.card (FABL.PartitePerfectMatching (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) * (r * k).factorial ^ 2
    theorem FABL.card_partitePerfectMatching_le_factorial_bound_printed
      (r k : ) (hr : 0 < r) :
      (Fintype.card
            (FABL.PartitePerfectMatching
              (2 * r) k)) 
        ((2 * r - 1) / r) ^ (r * k) *
          (r * k).factorial ^ 2
    The literal squared-factorial inequality printed in Exercise 9.38(c), as
    a weaker corollary of the corrected unordered count. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.matching_count_root_div_sqrt_factorial (r k : ) (hr : 0 < r) :
      (((2 * r - 1) / r) ^ (r * k) * (r * k).factorial).rpow
            (1 / (2 * r)) /
          k.factorial =
        FABL.matchingImprovementConstant r k * (2 * r - 1) ^ k
    theorem FABL.matching_count_root_div_sqrt_factorial
      (r k : ) (hr : 0 < r) :
      (((2 * r - 1) / r) ^ (r * k) *
                (r * k).factorial).rpow
            (1 / (2 * r)) /
          k.factorial =
        FABL.matchingImprovementConstant r k *
          (2 * r - 1) ^ k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_matchingImprovement {n : } (r k : )
      (hr : 0 < r) (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        FABL.matchingImprovementConstant r k * (2 * r - 1) ^ k *
          FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_matchingImprovement
      {n : } (r k : ) (hr : 0 < r)
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        FABL.matchingImprovementConstant r k *
            (2 * r - 1) ^ k *
          FABL.uniformLpNorm 2 f
    Exercise 9.38(c), norm consequence using the corrected unordered count. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_two_mul_sub_one {n : } (r k : )
      (hr : 0 < r) (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (2 * r - 1) ^ k * FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_two_mul_sub_one
      {n : } (r k : ) (hr : 0 < r)
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (2 * r - 1) ^ k *
          FABL.uniformLpNorm 2 f
    Exercise 9.38(d): the corrected combinatorial improvement and `C_{q,k} ≤ 1`
    recover the homogeneous Bonami bound. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_doubleFactorial {n : } (r k : )
      (hr : 0 < r) (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (↑(2 * r * k - 1).doubleFactorial).rpow (1 / (2 * r)) /
            k.factorial *
          FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_doubleFactorial
      {n : } (r k : ) (hr : 0 < r)
      (hn : 0 < n) (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (↑(2 * r * k -
                      1).doubleFactorial).rpow
              (1 / (2 * r)) /
            k.factorial *
          FABL.uniformLpNorm 2 f
    Exercise 9.38(b), direct double-factorial norm consequence. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.isFourierHomogeneous_fourierDegree_le {n k : }
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
      FABL.fourierDegree f  k
    theorem FABL.isFourierHomogeneous_fourierDegree_le
      {n k : } (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.fourierDegree f  k
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_q {n : } (r k : ) (hr : 0 < r)
      (f : FABL.SignCube n  ) (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f  (2 * r) ^ k * FABL.uniformLpNorm 2 f
    theorem FABL.homogeneous_uniformLpNorm_le_sqrt_q
      {n : } (r k : ) (hr : 0 < r)
      (f : FABL.SignCube n  )
      (hf : FABL.IsFourierHomogeneous f k) :
      FABL.uniformLpNorm (2 * r) f 
        (2 * r) ^ k * FABL.uniformLpNorm 2 f
    Exercise 9.38(b), the coarser displayed `q^{k/2}` consequence. 
  • theoremdefined in FABL/Chapter09/MatchingMomentCombinatorics.lean
    complete
    theorem FABL.factorial_bound_strong_lt_printed (r k : ) (hr : 0 < r)
      (hm : 1 < r * k) :
      ((2 * r - 1) / r) ^ (r * k) * (r * k).factorial <
        ((2 * r - 1) / r) ^ (r * k) * (r * k).factorial ^ 2
    theorem FABL.factorial_bound_strong_lt_printed
      (r k : ) (hr : 0 < r)
      (hm : 1 < r * k) :
      ((2 * r - 1) / r) ^ (r * k) *
          (r * k).factorial <
        ((2 * r - 1) / r) ^ (r * k) *
          (r * k).factorial ^ 2
    Formal diagnosis of the second Exercise 9.38 erratum: when `rk > 1`,
    the printed squared-factorial right-hand side is strictly larger than the
    correct unordered-matching right-hand side, so it cannot yield the stated
    single-factorial `C_{q,k}` merely by algebraic rewriting. 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.matchingFactorialRatio (r k : ) : 
    def FABL.matchingFactorialRatio (r k : ) : 
    The factorial quotient before taking the `1/(2r)` power in
    `matchingImprovementConstant`. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingImprovementConstant_eq_rpow_factorialRatio (r k : ) :
      FABL.matchingImprovementConstant r k =
        (FABL.matchingFactorialRatio r k).rpow (1 / (2 * r))
    theorem FABL.matchingImprovementConstant_eq_rpow_factorialRatio
      (r k : ) :
      FABL.matchingImprovementConstant r k =
        (FABL.matchingFactorialRatio r k).rpow
          (1 / (2 * r))
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.matchingStirlingCore (r k : ) : 
    def FABL.matchingStirlingCore (r k : ) : 
    The polynomial part left after the exponential factors in Stirling's formula cancel. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.factorialStirlingApprox_matching_ratio_eq_core (r k : )
      (hr : 0 < r) (hk : 0 < k) :
      FABL.factorialStirlingApprox (r * k) /
          (FABL.factorialStirlingApprox k ^ r * r ^ (r * k)) =
        FABL.matchingStirlingCore r k
    theorem FABL.factorialStirlingApprox_matching_ratio_eq_core
      (r k : ) (hr : 0 < r) (hk : 0 < k) :
      FABL.factorialStirlingApprox (r * k) /
          (FABL.factorialStirlingApprox k ^
              r *
            r ^ (r * k)) =
        FABL.matchingStirlingCore r k
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingFactorialRatio_isEquivalent_core (r : ) (hr : 0 < r) :
      Asymptotics.IsEquivalent Filter.atTop (FABL.matchingFactorialRatio r)
        (FABL.matchingStirlingCore r)
    theorem FABL.matchingFactorialRatio_isEquivalent_core
      (r : ) (hr : 0 < r) :
      Asymptotics.IsEquivalent Filter.atTop
        (FABL.matchingFactorialRatio r)
        (FABL.matchingStirlingCore r)
    Stirling equivalence for the factorial quotient in Exercise 9.38(e). 
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.matchingCoreGrowth (r k : ) : 
    def FABL.matchingCoreGrowth (r k : ) : 
    The polynomial scale before taking the `1/(2r)` root. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingStirlingCore_eq_constant_mul_growth (r k : ) (hr : 0 < r)
      (hk : 0 < k) :
      FABL.matchingStirlingCore r k =
        r * (2 * Real.pi).rpow ((1 - r) / 2) *
          FABL.matchingCoreGrowth r k
    theorem FABL.matchingStirlingCore_eq_constant_mul_growth
      (r k : ) (hr : 0 < r) (hk : 0 < k) :
      FABL.matchingStirlingCore r k =
        r *
            (2 * Real.pi).rpow
              ((1 - r) / 2) *
          FABL.matchingCoreGrowth r k
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingStirlingCore_isTheta_growth (r : ) (hr : 0 < r) :
      FABL.matchingStirlingCore r =Θ[Filter.atTop] FABL.matchingCoreGrowth r
    theorem FABL.matchingStirlingCore_isTheta_growth
      (r : ) (hr : 0 < r) :
      FABL.matchingStirlingCore
          r =Θ[Filter.atTop]
        FABL.matchingCoreGrowth r
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingFactorialRatio_isTheta_growth (r : ) (hr : 0 < r) :
      FABL.matchingFactorialRatio r =Θ[Filter.atTop]
        FABL.matchingCoreGrowth r
    theorem FABL.matchingFactorialRatio_isTheta_growth
      (r : ) (hr : 0 < r) :
      FABL.matchingFactorialRatio
          r =Θ[Filter.atTop]
        FABL.matchingCoreGrowth r
  • defdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    def FABL.matchingImprovementGrowth (r k : ) : 
    def FABL.matchingImprovementGrowth (r k : ) :
      
    Exercise 9.38(e)'s final scale.  Since `q=2r`, its exponent is also
    `-1/4 + 1/(2q)`. 
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingCoreGrowth_rpow_eq_improvementGrowth (r k : )
      (hr : 0 < r) :
      (FABL.matchingCoreGrowth r k).rpow (1 / (2 * r)) =
        FABL.matchingImprovementGrowth r k
    theorem FABL.matchingCoreGrowth_rpow_eq_improvementGrowth
      (r k : ) (hr : 0 < r) :
      (FABL.matchingCoreGrowth r k).rpow
          (1 / (2 * r)) =
        FABL.matchingImprovementGrowth r k
  • theoremdefined in FABL/Chapter09/MatchingAsymptotics.lean
    complete
    theorem FABL.matchingImprovementConstant_isTheta (r : ) (hr : 0 < r) :
      FABL.matchingImprovementConstant r =Θ[Filter.atTop]
        FABL.matchingImprovementGrowth r
    theorem FABL.matchingImprovementConstant_isTheta
      (r : ) (hr : 0 < r) :
      FABL.matchingImprovementConstant
          r =Θ[Filter.atTop]
        FABL.matchingImprovementGrowth r
    Exercise 9.38(e): for each fixed `r>0`, the matching improvement constant is
    `Θ(k^(-1/4+1/(4r)))`, equivalently `Θ(k^(-1/4+1/(2q)))` for `q=2r`. 
Lemma9.7.40
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

Exercise 9.38(f). The book asks whether one can obtain the sharper estimate \frac{|\mathcal M|^{1/q}}{\sqrt{k!}} =\Theta_q(1)k^{-1/4}(\sqrt{q-1})^k by exactly counting matchings with prescribed numbers of edges between every pair of parts and summing over the likely range. This open-ended challenge is recorded for completeness and supplies no assumption to the production library.

Theorem9.7.41
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0XL∃∀N

The external construction of Ajtai and Linial gives coalition-resistant monotone functions showing that Proposition 9.27 is close to sharp. It is recorded for comparison and is not used by production proofs.

Theorem9.7.42
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 9.6.10
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

The notes compare the chapter's junta bounds with the external stronger LTF bound of Diakonikolas--Servedio and the incomparable DNF bound of Gopalan--Meka--Reingold. These results supply no assumptions here.

Lemma9.7.43
Group: Chapter 9: Basics of hypercontractivity (100)
Group member previews
Preview
Theorem 9.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 0XL∃∀N

The notes record the history of Paley, Bonami, Kiener, Schreiber, Nelson, Segal, Gross, Beckner, and later work on real, Gaussian, and complex hypercontractivity; the origins of small-set expansion, level-k inequalities, KKL, Friedgut's theorem, and the chapter exercises; and the known gap in the sharp KKL constant. These bibliographic and research-status statements supply no assumptions to the production library.