Analysis of Boolean Functions in Lean

9.6. The Kahn--Kalai--Linial Theorem🔗

Definition9.6.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 1
Used by 2
Reverse dependency previews
Preview
Theorem 9.6.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

Definition 9.26. The maximum influence of a Boolean function is \operatorname{MaxInf}[f] =\max_{i\in[n]}\operatorname{Inf}_i[f].

Theorem9.6.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
Theorem 4.2.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Theorem 9.6.3
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

Kahn--Kalai--Linial Theorem. For every Boolean function, \operatorname{MaxInf}[f] \ge \operatorname{Var}[f]\cdot \Omega\left(\frac{\log n}{n}\right). The canonical declaration is owned by Chapter 4, where the theorem is first formally stated.

Theorem9.6.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 1
Used by 3
Reverse dependency previews
Preview
Definition 9.7.26
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Proposition 9.27. If f is monotone and \mathbb E[f]\ge-.99, there is J\subseteq[n] with |J|\le O(n/\log n) such that fixing all coordinates in J to 1 gives \mathbb E[f_{J\gets1}]\ge.99. Symmetrically, if \mathbb E[f]\le.99, a set of the same size can be fixed to -1 to make the expectation at most -.99.

Lean code for Theorem9.6.3●16 declarations
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.briberySets {n : ℕ} (f : FABL.BooleanFunction n) (hn : 0 < n) :
      ℕ → Finset (Fin n)
    def FABL.briberySets {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) : ℕ → Finset (Fin n)
    Greedy bribery sets; after reaching target mean `.99`, the process stays fixed. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberySets_succ {n : ℕ} (f : FABL.BooleanFunction n) (hn : 0 < n)
      (t : ℕ) :
      FABL.briberySets f hn (t + 1) =
        if
            FABL.mean
                (FABL.bribeFunction f (FABL.briberySets f hn t) 1).toReal <
              99 / 100 then
          insert
            (FABL.maximumInfluenceCoordinate
              (FABL.bribeFunction f (FABL.briberySets f hn t) 1) hn)
            (FABL.briberySets f hn t)
        else FABL.briberySets f hn t
    theorem FABL.briberySets_succ {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (t : ℕ) :
      FABL.briberySets f hn (t + 1) =
        if
            FABL.mean
                (FABL.bribeFunction f
                    (FABL.briberySets f hn t)
                    1).toReal <
              99 / 100 then
          insert
            (FABL.maximumInfluenceCoordinate
              (FABL.bribeFunction f
                (FABL.briberySets f hn t) 1)
              hn)
            (FABL.briberySets f hn t)
        else FABL.briberySets f hn t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.card_briberySets_le {n : ℕ} (f : FABL.BooleanFunction n)
      (hn : 0 < n) (t : ℕ) : (FABL.briberySets f hn t).card ≤ t
    theorem FABL.card_briberySets_le {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) (t : ℕ) :
      (FABL.briberySets f hn t).card ≤ t
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.briberyIncrement_nonneg (n : ℕ) : 0 ≤ FABL.briberyIncrement n
    theorem FABL.briberyIncrement_nonneg (n : ℕ) :
      0 ≤ FABL.briberyIncrement n
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_briberySets_ge_initial_add_card_mul {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal) (t : ℕ) :
      FABL.mean (FABL.bribeFunction f (FABL.briberySets f ⋯ t) 1).toReal ≥
        FABL.mean f.toReal +
          ↑(FABL.briberySets f ⋯ t).card * FABL.briberyIncrement n
    theorem FABL.mean_briberySets_ge_initial_add_card_mul
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal)
      (t : ℕ) :
      FABL.mean
          (FABL.bribeFunction f
              (FABL.briberySets f ⋯ t)
              1).toReal ≥
        FABL.mean f.toReal +
          ↑(FABL.briberySets f ⋯ t).card *
            FABL.briberyIncrement n
    The mean dominates the initial mean plus one fixed KKL increment per genuinely bribed
    coordinate. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.card_briberySets_eq_of_mean_lt_target {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal) {t : ℕ} (ht : t ≤ n)
      (hbelow :
        FABL.mean (FABL.bribeFunction f (FABL.briberySets f ⋯ t) 1).toReal <
          99 / 100) :
      (FABL.briberySets f ⋯ t).card = t
    theorem FABL.card_briberySets_eq_of_mean_lt_target
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal)
      {t : ℕ} (ht : t ≤ n)
      (hbelow :
        FABL.mean
            (FABL.bribeFunction f
                (FABL.briberySets f ⋯ t)
                1).toReal <
          99 / 100) :
      (FABL.briberySets f ⋯ t).card = t
    If the process is still below target after `t` rounds, every round has inserted a fresh
    coordinate and the current set has cardinality `t`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_univ_one {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hmean : -99 / 100 ≤ FABL.mean f.toReal) :
      FABL.mean (FABL.bribeFunction f Finset.univ 1).toReal = 1
    theorem FABL.mean_bribeFunction_univ_one {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f)
      (hmean :
        -99 / 100 ≤ FABL.mean f.toReal) :
      FABL.mean
          (FABL.bribeFunction f Finset.univ
              1).toReal =
        1
    Bribing every coordinate toward `+1` has mean `+1` under the proposition's lower-mean
    hypothesis. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_briberySets_final_ge_target {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal) :
      99 / 100 ≤
        FABL.mean (FABL.bribeFunction f (FABL.briberySets f ⋯ n) 1).toReal
    theorem FABL.mean_briberySets_final_ge_target
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean :
        -99 / 100 ≤ FABL.mean f.toReal) :
      99 / 100 ≤
        FABL.mean
          (FABL.bribeFunction f
              (FABL.briberySets f ⋯ n)
              1).toReal
    The `n`-round greedy process reaches target `.99`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.proposition9_27_positive {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : -99 / 100 ≤ FABL.mean f.toReal) :
      ∃ J,
        99 / 100 ≤ FABL.mean (FABL.bribeFunction f J 1).toReal ∧
          ↑J.card ≤ 10000 * ↑n / Real.log ↑n
    theorem FABL.proposition9_27_positive {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean :
        -99 / 100 ≤ FABL.mean f.toReal) :
      ∃ J,
        99 / 100 ≤
            FABL.mean
              (FABL.bribeFunction f J
                  1).toReal ∧
          ↑J.card ≤ 10000 * ↑n / Real.log ↑n
    Explicit-size positive half of Proposition 9.27. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.dualBooleanFunction {n : ℕ} (f : FABL.BooleanFunction n) :
      FABL.BooleanFunction n
    def FABL.dualBooleanFunction {n : ℕ}
      (f : FABL.BooleanFunction n) :
      FABL.BooleanFunction n
    Negate both the input signs and the output sign. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.briberyNegateSignCubeEquiv (n : ℕ) :
      FABL.SignCube n ≃ FABL.SignCube n
    def FABL.briberyNegateSignCubeEquiv (n : ℕ) :
      FABL.SignCube n ≃ FABL.SignCube n
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.monotone_dualBooleanFunction {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) : Monotone (FABL.dualBooleanFunction f)
    theorem FABL.monotone_dualBooleanFunction {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) :
      Monotone (FABL.dualBooleanFunction f)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_dualBooleanFunction {n : ℕ} (f : FABL.BooleanFunction n) :
      FABL.mean (FABL.dualBooleanFunction f).toReal = -FABL.mean f.toReal
    theorem FABL.mean_dualBooleanFunction {n : ℕ}
      (f : FABL.BooleanFunction n) :
      FABL.mean
          (FABL.dualBooleanFunction
              f).toReal =
        -FABL.mean f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_dual_one {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.mean
          (FABL.bribeFunction (FABL.dualBooleanFunction f) J 1).toReal =
        -FABL.mean (FABL.bribeFunction f J (-1)).toReal
    theorem FABL.mean_bribeFunction_dual_one {n : ℕ}
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.mean
          (FABL.bribeFunction
              (FABL.dualBooleanFunction f) J
              1).toReal =
        -FABL.mean
            (FABL.bribeFunction f J
                (-1)).toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.proposition9_27_negative {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean : FABL.mean f.toReal ≤ 99 / 100) :
      ∃ J,
        FABL.mean (FABL.bribeFunction f J (-1)).toReal ≤ -99 / 100 ∧
          ↑J.card ≤ 10000 * ↑n / Real.log ↑n
    theorem FABL.proposition9_27_negative {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n)
      (hmean :
        FABL.mean f.toReal ≤ 99 / 100) :
      ∃ J,
        FABL.mean
              (FABL.bribeFunction f J
                  (-1)).toReal ≤
            -99 / 100 ∧
          ↑J.card ≤ 10000 * ↑n / Real.log ↑n
    Explicit-size negative half of Proposition 9.27. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.proposition9_27 {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n) :
      (-99 / 100 ≤ FABL.mean f.toReal →
          ∃ J,
            99 / 100 ≤ FABL.mean (FABL.bribeFunction f J 1).toReal ∧
              ↑J.card ≤ 10000 * ↑n / Real.log ↑n) ∧
        (FABL.mean f.toReal ≤ 99 / 100 →
          ∃ J,
            FABL.mean (FABL.bribeFunction f J (-1)).toReal ≤ -99 / 100 ∧
              ↑J.card ≤ 10000 * ↑n / Real.log ↑n)
    theorem FABL.proposition9_27 {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (hn : 2 ≤ n) :
      (-99 / 100 ≤ FABL.mean f.toReal →
          ∃ J,
            99 / 100 ≤
                FABL.mean
                  (FABL.bribeFunction f J
                      1).toReal ∧
              ↑J.card ≤
                10000 * ↑n / Real.log ↑n) ∧
        (FABL.mean f.toReal ≤ 99 / 100 →
          ∃ J,
            FABL.mean
                  (FABL.bribeFunction f J
                      (-1)).toReal ≤
                -99 / 100 ∧
              ↑J.card ≤
                10000 * ↑n / Real.log ↑n)
    Proposition 9.27, both symmetric directions, with explicit constant `10000`. 
Lemma9.6.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.
uses 1used by 0✓L∃∀N

The iterative bribery proof of Proposition 9.27 increases the conditional expectation by a fixed amount at each step using a coordinate whose influence is supplied by KKL, and stops before O(n/\log n) steps at target .99. The symmetric argument applies to -f.

Lean code for Lemma9.6.4●16 declarations
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.bribeInput {n : ℕ} (J : Finset (Fin n)) (b : FABL.Sign)
      (x : FABL.SignCube n) : FABL.SignCube n
    def FABL.bribeInput {n : ℕ}
      (J : Finset (Fin n)) (b : FABL.Sign)
      (x : FABL.SignCube n) : FABL.SignCube n
    Overwrite all coordinates in `J` by the sign `b`. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.bribeFunction {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) : FABL.BooleanFunction n
    def FABL.bribeFunction {n : ℕ}
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign) :
      FABL.BooleanFunction n
    The Boolean function obtained by bribing every coordinate in `J` toward `b`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.bribeInput_insert {n : ℕ} (J : Finset (Fin n)) (i : Fin n)
      (b : FABL.Sign) (x : FABL.SignCube n) :
      FABL.bribeInput (insert i J) b x =
        FABL.bribeInput J b (FABL.setCoordinate x i b)
    theorem FABL.bribeInput_insert {n : ℕ}
      (J : Finset (Fin n)) (i : Fin n)
      (b : FABL.Sign) (x : FABL.SignCube n) :
      FABL.bribeInput (insert i J) b x =
        FABL.bribeInput J b
          (FABL.setCoordinate x i b)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.bribeFunction_insert {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n) (b : FABL.Sign) :
      FABL.bribeFunction f (insert i J) b = fun x =>
        FABL.bribeFunction f J b (FABL.setCoordinate x i b)
    theorem FABL.bribeFunction_insert {n : ℕ}
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (i : Fin n)
      (b : FABL.Sign) :
      FABL.bribeFunction f (insert i J) b =
        fun x =>
        FABL.bribeFunction f J b
          (FABL.setCoordinate x i b)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.monotone_bribeFunction {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) (b : FABL.Sign) :
      Monotone (FABL.bribeFunction f J b)
    theorem FABL.monotone_bribeFunction {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (b : FABL.Sign) :
      Monotone (FABL.bribeFunction f J b)
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.booleanInfluence_bribeFunction_eq_zero_of_mem {n : ℕ}
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) (b : FABL.Sign)
      {i : Fin n} (hi : i ∈ J) :
      FABL.booleanInfluence (FABL.bribeFunction f J b) i = 0
    theorem FABL.booleanInfluence_bribeFunction_eq_zero_of_mem
      {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) (b : FABL.Sign)
      {i : Fin n} (hi : i ∈ J) :
      FABL.booleanInfluence
          (FABL.bribeFunction f J b) i =
        0
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_toReal_mem_Icc {n : ℕ} (f : FABL.BooleanFunction n) :
      FABL.mean f.toReal ∈ Set.Icc (-1) 1
    theorem FABL.mean_toReal_mem_Icc {n : ℕ}
      (f : FABL.BooleanFunction n) :
      FABL.mean f.toReal ∈ Set.Icc (-1) 1
    The mean of a Boolean function lies in `[-1,1]`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_coordinateExpectation {n : ℕ} (f : FABL.SignCube n → ℝ)
      (i : Fin n) :
      FABL.mean ((FABL.coordinateExpectation i) f) = FABL.mean f
    theorem FABL.mean_coordinateExpectation {n : ℕ}
      (f : FABL.SignCube n → ℝ) (i : Fin n) :
      FABL.mean
          ((FABL.coordinateExpectation i) f) =
        FABL.mean f
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_fixCoordinate_one {n : ℕ} (f : FABL.SignCube n → ℝ)
      (i : Fin n) :
      (FABL.mean fun x => f (FABL.setCoordinate x i 1)) =
        FABL.mean f + FABL.fourierCoeff f {i}
    theorem FABL.mean_fixCoordinate_one {n : ℕ}
      (f : FABL.SignCube n → ℝ) (i : Fin n) :
      (FABL.mean fun x =>
          f (FABL.setCoordinate x i 1)) =
        FABL.mean f + FABL.fourierCoeff f {i}
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.mean_bribeFunction_insert_one {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) (i : Fin n) :
      FABL.mean (FABL.bribeFunction f (insert i J) 1).toReal =
        FABL.mean (FABL.bribeFunction f J 1).toReal +
          FABL.booleanInfluence (FABL.bribeFunction f J 1) i
    theorem FABL.mean_bribeFunction_insert_one {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (i : Fin n) :
      FABL.mean
          (FABL.bribeFunction f (insert i J)
              1).toReal =
        FABL.mean
            (FABL.bribeFunction f J
                1).toReal +
          FABL.booleanInfluence
            (FABL.bribeFunction f J 1) i
    Equation (9.14), exact one-coordinate identity: bribing a monotone function toward `+1`
    raises its mean by that coordinate's influence. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.briberyIncrement (n : ℕ) : ℝ
    def FABL.briberyIncrement (n : ℕ) : ℝ
    Explicit per-step increment supplied by the project's `1/100` KKL constant while the mean
    remains in `[-.99,.99]`. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.variance_ge_of_mean_mem_bribery_window {n : ℕ}
      (f : FABL.BooleanFunction n) (hlower : -99 / 100 ≤ FABL.mean f.toReal)
      (hupper : FABL.mean f.toReal ≤ 99 / 100) :
      199 / 10000 ≤ FABL.variance f.toReal
    theorem FABL.variance_ge_of_mean_mem_bribery_window
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hlower :
        -99 / 100 ≤ FABL.mean f.toReal)
      (hupper :
        FABL.mean f.toReal ≤ 99 / 100) :
      199 / 10000 ≤ FABL.variance f.toReal
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.exists_fresh_bribery_step {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n)) (hn : 2 ≤ n)
      (hlower : -99 / 100 ≤ FABL.mean (FABL.bribeFunction f J 1).toReal)
      (hupper : FABL.mean (FABL.bribeFunction f J 1).toReal < 99 / 100) :
      ∃ i ∉ J,
        FABL.mean (FABL.bribeFunction f (insert i J) 1).toReal ≥
          FABL.mean (FABL.bribeFunction f J 1).toReal +
            FABL.briberyIncrement n
    theorem FABL.exists_fresh_bribery_step {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (hn : 2 ≤ n)
      (hlower :
        -99 / 100 ≤
          FABL.mean
            (FABL.bribeFunction f J 1).toReal)
      (hupper :
        FABL.mean
            (FABL.bribeFunction f J
                1).toReal <
          99 / 100) :
      ∃ i ∉ J,
        FABL.mean
            (FABL.bribeFunction f (insert i J)
                1).toReal ≥
          FABL.mean
              (FABL.bribeFunction f J
                  1).toReal +
            FABL.briberyIncrement n
    Equation (9.14), quantitative form.  Unless the target mean has already been reached, KKL
    provides a fresh coordinate whose bribery raises the mean by at least `briberyIncrement n`. 
  • defdefined in FABL/Chapter09/KKLBribery.lean
    complete
    def FABL.maximumInfluenceCoordinate {n : ℕ} (f : FABL.BooleanFunction n)
      (hn : 0 < n) : Fin n
    def FABL.maximumInfluenceCoordinate {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hn : 0 < n) : Fin n
    A coordinate attaining maximum influence, in positive dimension. 
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.booleanInfluence_maximumInfluenceCoordinate {n : ℕ}
      (f : FABL.BooleanFunction n) (hn : 0 < n) :
      FABL.booleanInfluence f (FABL.maximumInfluenceCoordinate f hn) =
        FABL.maximumInfluence f
    theorem FABL.booleanInfluence_maximumInfluenceCoordinate
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hn : 0 < n) :
      FABL.booleanInfluence f
          (FABL.maximumInfluenceCoordinate f
            hn) =
        FABL.maximumInfluence f
  • theoremdefined in FABL/Chapter09/KKLBribery.lean
    complete
    theorem FABL.maximumInfluenceCoordinate_bribery_step {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : Monotone f) (J : Finset (Fin n))
      (hn : 2 ≤ n)
      (hlower : -99 / 100 ≤ FABL.mean (FABL.bribeFunction f J 1).toReal)
      (hupper : FABL.mean (FABL.bribeFunction f J 1).toReal < 99 / 100) :
      have i :=
        FABL.maximumInfluenceCoordinate (FABL.bribeFunction f J 1) ⋯;
      i ∉ J ∧
        FABL.mean (FABL.bribeFunction f (insert i J) 1).toReal ≥
          FABL.mean (FABL.bribeFunction f J 1).toReal +
            FABL.briberyIncrement n
    theorem FABL.maximumInfluenceCoordinate_bribery_step
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : Monotone f) (J : Finset (Fin n))
      (hn : 2 ≤ n)
      (hlower :
        -99 / 100 ≤
          FABL.mean
            (FABL.bribeFunction f J 1).toReal)
      (hupper :
        FABL.mean
            (FABL.bribeFunction f J
                1).toReal <
          99 / 100) :
      have i :=
        FABL.maximumInfluenceCoordinate
          (FABL.bribeFunction f J 1) ⋯;
      i ∉ J ∧
        FABL.mean
            (FABL.bribeFunction f (insert i J)
                1).toReal ≥
          FABL.mean
              (FABL.bribeFunction f J
                  1).toReal +
            FABL.briberyIncrement n
    The maximum-influence coordinate realizes the fresh KKL bribery step. 
Theorem9.6.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.
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 4
Reverse dependency previews
Preview
Theorem 9.6.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
XL∃∀N

KKL Edge-Isoperimetric Theorem. For a nonconstant Boolean function put \widetilde I[f] =\frac{\mathbf I[f]}{\operatorname{Var}[f]}\ge1. Then \operatorname{MaxInf}[f] \ge\frac9{\widetilde I[f]^2}\,9^{-\widetilde I[f]}. This is an unnumbered named theorem in the book; it is not Theorem 9.24.

Lemma9.6.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.
uses 1
Used by 2
Reverse dependency previews
Preview
Theorem 9.6.5
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

In the unbiased case the spectral Jensen step is 3\operatorname{Stab}_{1/3}[f] =3\mathbb E[3^{-|S|}] \ge3\cdot3^{-\mathbb E|S|} =3\cdot3^{-\mathbf I[f]}. \tag{9.15} For general variance, normalize the nonconstant Fourier mass.

Lean code for Lemma9.6.6●1 theorem
  • theoremdefined in FABL/Chapter04/KKL.lean
    complete
    theorem FABL.three_mul_variance_mul_rpow_le_totalStableInfluence_one_third
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      3 * FABL.variance f.toReal *
          (1 / 3).rpow
            (FABL.totalInfluence f.toReal / FABL.variance f.toReal) ≤
        FABL.totalStableInfluence (1 / 3) f.toReal
    theorem FABL.three_mul_variance_mul_rpow_le_totalStableInfluence_one_third
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hvar : 0 < FABL.variance f.toReal) :
      3 * FABL.variance f.toReal *
          (1 / 3).rpow
            (FABL.totalInfluence f.toReal /
              FABL.variance f.toReal) ≤
        FABL.totalStableInfluence (1 / 3)
          f.toReal
    The spectral Jensen lower half of the Edge-KKL chain. 
Theorem9.6.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.
uses 1
Used by 4
Reverse dependency previews
Preview
Lemma 9.6.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Theorem 9.28. Let 0<\epsilon\le1, k\ge0, and \tau=\frac{\epsilon^2}{\mathbf I[f]^2}9^{-k}, \qquad J=\{j:\operatorname{Inf}_j[f]\ge\tau\}. Then |J|\le\frac{\mathbf I[f]^3}{\epsilon^2}9^k, and the Fourier spectrum of f is \epsilon-concentrated on \mathcal F=\{S:S\subseteq J\}\cup\{S:|S|>k\}. If it is also \epsilon-concentrated up to degree k, then it is 2\epsilon-concentrated on \mathcal F'=\{S:S\subseteq J,\ |S|\le k\}, and f is \epsilon-close to a Boolean |J|-junta.

Lean code for Theorem9.6.7●11 declarations
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.theorem9_28Threshold {n : ℕ} (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : ℝ
    def FABL.theorem9_28Threshold {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : ℝ
    The threshold chosen in Theorem 9.28. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.theorem9_28Family {n : ℕ} (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : Set (Finset (Fin n))
    def FABL.theorem9_28Family {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : Set (Finset (Fin n))
    The Fourier family in the first conclusion of Theorem 9.28. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.theorem9_28SmallFamily {n : ℕ} (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : Set (Finset (Fin n))
    def FABL.theorem9_28SmallFamily {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ)
      (k : ℕ) : Set (Finset (Fin n))
    The low-degree Fourier family supported on Theorem 9.28's influential coordinates. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.card_theorem9_28_influentialCoordinates_le {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.theorem9_28Threshold f ε k)).card ≤
        FABL.totalInfluence f.toReal ^ 3 / ε ^ 2 * 9 ^ k
    theorem FABL.card_theorem9_28_influentialCoordinates_le
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.theorem9_28Threshold f ε
                k)).card ≤
        FABL.totalInfluence f.toReal ^ 3 /
            ε ^ 2 *
          9 ^ k
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.theorem9_28_spectrum_concentrated {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn f.toReal ε
        (FABL.theorem9_28Family f ε k)
    theorem FABL.theorem9_28_spectrum_concentrated
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn
        f.toReal ε
        (FABL.theorem9_28Family f ε k)
    The first spectral-concentration conclusion of Theorem 9.28. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.theorem9_28_small_spectrum_concentrated {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree : FABL.IsFourierSpectrumConcentratedUpTo f.toReal ε ↑k) :
      FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * ε)
        (FABL.theorem9_28SmallFamily f ε k)
    theorem FABL.theorem9_28_small_spectrum_concentrated
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal ε ↑k) :
      FABL.IsFourierSpectrumConcentratedOn
        f.toReal (2 * ε)
        (FABL.theorem9_28SmallFamily f ε k)
    The second spectral-concentration conclusion of Theorem 9.28. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.coordinateJuntaApproximation {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) : FABL.BooleanFunction n
    def FABL.coordinateJuntaApproximation {n : ℕ}
      (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.BooleanFunction n
    Round the conditional expectation on `J` back to a Boolean `J`-junta. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.coordinateJuntaApproximation_isKJunta {n : ℕ}
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) :
      FABL.IsKJunta (FABL.coordinateJuntaApproximation f J) J.card
    theorem FABL.coordinateJuntaApproximation_isKJunta
      {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      FABL.IsKJunta
        (FABL.coordinateJuntaApproximation f
          J)
        J.card
    The rounded conditional expectation is a junta on at most `|J|` coordinates. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.two_mul_relativeHammingDist_coordinateJuntaApproximation_le {n : ℕ}
      (f : FABL.BooleanFunction n) (J : Finset (Fin n)) :
      2 *
          FABL.relativeHammingDist f
            (FABL.coordinateJuntaApproximation f J) ≤
        FABL.fourierWeightOutside f.toReal {S | S ⊆ J}
    theorem FABL.two_mul_relativeHammingDist_coordinateJuntaApproximation_le
      {n : ℕ} (f : FABL.BooleanFunction n)
      (J : Finset (Fin n)) :
      2 *
          FABL.relativeHammingDist f
            (FABL.coordinateJuntaApproximation
              f J) ≤
        FABL.fourierWeightOutside f.toReal
          {S | S ⊆ J}
    Exercise 3.34's rounding principle in the exact form used by Theorem 9.28: the nearest
    Boolean `J`-junta has error at most half the Fourier weight outside subsets of `J`. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.theorem9_28_close_to_coordinateJunta {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree : FABL.IsFourierSpectrumConcentratedUpTo f.toReal ε ↑k) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.influentialCoordinates f
              (FABL.theorem9_28Threshold f ε k))) ≤
        ε
    theorem FABL.theorem9_28_close_to_coordinateJunta
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal ε ↑k) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.influentialCoordinates f
              (FABL.theorem9_28Threshold f ε
                k))) ≤
        ε
    The Boolean rounding conclusion of Theorem 9.28, with the book's factor-two spectral
    concentration converted to `ε` Hamming error. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.theorem9_28_exists_close_junta {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ) (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree : FABL.IsFourierSpectrumConcentratedUpTo f.toReal ε ↑k) :
      ∃ g,
        FABL.IsKJunta g
            (FABL.influentialCoordinates f
                (FABL.theorem9_28Threshold f ε k)).card ∧
          FABL.relativeHammingDist f g ≤ ε
    theorem FABL.theorem9_28_exists_close_junta
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal)
      (hdegree :
        FABL.IsFourierSpectrumConcentratedUpTo
          f.toReal ε ↑k) :
      ∃ g,
        FABL.IsKJunta g
            (FABL.influentialCoordinates f
                (FABL.theorem9_28Threshold f ε
                  k)).card ∧
          FABL.relativeHammingDist f g ≤ ε
    The full junta-existence conclusion of Theorem 9.28 for its specified influential set. 
Lemma9.6.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.
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 2
Reverse dependency previews
Preview
Theorem 9.6.11
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Remark 9.29. Replacing Corollary 9.12 by Corollary 9.25 improves the bound in Theorem 9.28 to |J| \le \frac{\mathbf I[f]^{2+\eta}}{\epsilon^{1+\eta}} C(\eta)^k, \qquad C(\eta)=(2/\eta+1)^2. The displayed square constant is proved for 0<\eta\le1, which is the range used below. For arbitrary \eta>0 the same argument gives the fully explicit constant (2/\eta+1)^{1+\eta}.

Lean code for Lemma9.6.8●10 declarations
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutRho (eta : ℝ) : ℝ
    def FABL.improvedFriedgutRho (eta : ℝ) : ℝ
    The correlation parameter `eta / (2 + eta)` used with Corollary 9.25. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutConstant (eta : ℝ) : ℝ
    def FABL.improvedFriedgutConstant (eta : ℝ) :
      ℝ
    Remark 9.29's explicit constant `C(eta)`. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutGeneralConstant (eta : ℝ) : ℝ
    def FABL.improvedFriedgutGeneralConstant
      (eta : ℝ) : ℝ
    The all-positive-`eta` constant furnished directly by the parameterized proof. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutThreshold {n : ℕ} (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : ℝ
    def FABL.improvedFriedgutThreshold {n : ℕ}
      (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : ℝ
    The improved influential-coordinate threshold. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutFamily {n : ℕ} (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : Set (Finset (Fin n))
    def FABL.improvedFriedgutFamily {n : ℕ}
      (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) :
      Set (Finset (Fin n))
    The Fourier family in the improved form of Theorem 9.28. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.improvedFriedgut_spectrum_concentrated {n : ℕ}
      (f : FABL.BooleanFunction n) {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn f.toReal epsilon
        (FABL.improvedFriedgutFamily f epsilon eta k)
    theorem FABL.improvedFriedgut_spectrum_concentrated
      {n : ℕ} (f : FABL.BooleanFunction n)
      {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : ℕ)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn
        f.toReal epsilon
        (FABL.improvedFriedgutFamily f epsilon
          eta k)
    Remark 9.29's first spectral-concentration conclusion. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutJuntaSizeTerm {n : ℕ} (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : ℝ
    def FABL.improvedFriedgutJuntaSizeTerm {n : ℕ}
      (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : ℝ
    Remark 9.29's explicit influential-coordinate upper bound. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.improvedFriedgutGeneralJuntaSizeTerm {n : ℕ}
      (f : FABL.BooleanFunction n) (epsilon eta : ℝ) (k : ℕ) : ℝ
    def FABL.improvedFriedgutGeneralJuntaSizeTerm
      {n : ℕ} (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) (k : ℕ) : ℝ
    The direct all-`eta > 0` coordinate bound.  For `eta <= 1`, the following results sharpen
    this to Remark 9.29's square constant. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.card_improvedFriedgutCoordinates_le_general {n : ℕ}
      (f : FABL.BooleanFunction n) {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold f epsilon eta k)).card ≤
        FABL.improvedFriedgutGeneralJuntaSizeTerm f epsilon eta k
    theorem FABL.card_improvedFriedgutCoordinates_le_general
      {n : ℕ} (f : FABL.BooleanFunction n)
      {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (k : ℕ)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold
                f epsilon eta k)).card ≤
        FABL.improvedFriedgutGeneralJuntaSizeTerm
          f epsilon eta k
    The improved coordinate bound valid for every positive `eta`, with the direct
    `(2/eta+1)^(1+eta)` constant. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.card_improvedFriedgutCoordinates_le {n : ℕ}
      (f : FABL.BooleanFunction n) {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon) (heta : 0 < eta) (hetaOne : eta ≤ 1) (k : ℕ)
      (hI : 0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold f epsilon eta k)).card ≤
        FABL.improvedFriedgutJuntaSizeTerm f epsilon eta k
    theorem FABL.card_improvedFriedgutCoordinates_le
      {n : ℕ} (f : FABL.BooleanFunction n)
      {epsilon eta : ℝ}
      (hepsilon : 0 < epsilon)
      (heta : 0 < eta) (hetaOne : eta ≤ 1)
      (k : ℕ)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.influentialCoordinates f
              (FABL.improvedFriedgutThreshold
                f epsilon eta k)).card ≤
        FABL.improvedFriedgutJuntaSizeTerm f
          epsilon eta k
    Remark 9.29's improved coordinate-cardinality estimate. 
Theorem9.6.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.
uses 1
Used by 2
Reverse dependency previews
Preview
Theorem 9.6.10
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Friedgut's Junta Theorem. For every Boolean f and 0<\epsilon\le1, the function is \epsilon-close to a junta on \exp(O(\mathbf I[f]/\epsilon)) coordinates. More precisely, for some set J of this size the spectrum is 2\epsilon-concentrated on \{S\subseteq J:|S|\le\mathbf I[f]/\epsilon\}.

Lean code for Theorem9.6.9●7 declarations
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.friedgutDegree {n : ℕ} (f : FABL.BooleanFunction n) (ε : ℝ) : ℕ
    def FABL.friedgutDegree {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ) : ℕ
    The integral degree cutoff used in Friedgut's Junta Theorem. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.friedgutCoordinates {n : ℕ} (f : FABL.BooleanFunction n) (ε : ℝ) :
      Finset (Fin n)
    def FABL.friedgutCoordinates {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ) :
      Finset (Fin n)
    Friedgut's influential coordinate set at the Markov degree cutoff. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.friedgutJuntaSizeBound {n : ℕ} (f : FABL.BooleanFunction n)
      (ε : ℝ) : ℝ
    def FABL.friedgutJuntaSizeBound {n : ℕ}
      (f : FABL.BooleanFunction n) (ε : ℝ) : ℝ
    The explicit finite bound underlying the book's `exp(O(I[f] / ε))` notation. The leading
    one totalizes the bound for constant functions. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.card_friedgutCoordinates_le {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (hI : 0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.friedgutCoordinates f ε).card ≤
        FABL.totalInfluence f.toReal ^ 3 / ε ^ 2 *
          9 ^ FABL.friedgutDegree f ε
    theorem FABL.card_friedgutCoordinates_le {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ}
      (hε : 0 < ε)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.friedgutCoordinates f ε).card ≤
        FABL.totalInfluence f.toReal ^ 3 /
            ε ^ 2 *
          9 ^ FABL.friedgutDegree f ε
    The explicit cardinality bound for Friedgut's coordinates in the nonconstant case. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.friedgut_spectrum_concentrated {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * ε)
        {S |
          S ⊆ FABL.friedgutCoordinates f ε ∧
            S.card ≤ FABL.friedgutDegree f ε}
    theorem FABL.friedgut_spectrum_concentrated
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.IsFourierSpectrumConcentratedOn
        f.toReal (2 * ε)
        {S |
          S ⊆ FABL.friedgutCoordinates f ε ∧
            S.card ≤ FABL.friedgutDegree f ε}
    Friedgut's spectrum is concentrated on low-degree characters from its influential set. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.friedgut_coordinateJunta_close {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε) (hI : 0 < FABL.totalInfluence f.toReal) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.friedgutCoordinates f ε)) ≤
        ε
    theorem FABL.friedgut_coordinateJunta_close
      {n : ℕ} (f : FABL.BooleanFunction n)
      {ε : ℝ} (hε : 0 < ε)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      FABL.relativeHammingDist f
          (FABL.coordinateJuntaApproximation f
            (FABL.friedgutCoordinates f ε)) ≤
        ε
    The explicit rounded function in Friedgut's theorem is `ε`-close and depends only on the
    influential coordinate set. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.friedgut_junta {n : ℕ} (f : FABL.BooleanFunction n) {ε : ℝ}
      (hε : 0 < ε) :
      ∃ J g,
        ↑J.card ≤ FABL.friedgutJuntaSizeBound f ε ∧
          FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * ε)
              {S | S ⊆ J ∧ S.card ≤ FABL.friedgutDegree f ε} ∧
            FABL.IsKJunta g J.card ∧ FABL.relativeHammingDist f g ≤ ε
    theorem FABL.friedgut_junta {n : ℕ}
      (f : FABL.BooleanFunction n) {ε : ℝ}
      (hε : 0 < ε) :
      ∃ J g,
        ↑J.card ≤
            FABL.friedgutJuntaSizeBound f ε ∧
          FABL.IsFourierSpectrumConcentratedOn
              f.toReal (2 * ε)
              {S |
                S ⊆ J ∧
                  S.card ≤
                    FABL.friedgutDegree f ε} ∧
            FABL.IsKJunta g J.card ∧
              FABL.relativeHammingDist f g ≤ ε
    Friedgut's Junta Theorem, with the asymptotic junta size represented by the stronger explicit
    bound obtained in Theorem 9.28. 
Theorem9.6.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.
Statement uses 2
Statement dependency previews
Preview
Theorem 4.4.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Corollary 9.30. Every width-w DNF is \epsilon-close to a (1/\epsilon)^{O(w)}-junta.

Lean code for Theorem9.6.10●4 declarations
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.dnfFriedgutDegree (w : ℕ) (ε : ℝ) : ℕ
    def FABL.dnfFriedgutDegree (w : ℕ) (ε : ℝ) : ℕ
    The natural degree cutoff obtained from Theorem 4.22 for a width-`w` DNF. 
  • defdefined in FABL/Chapter09/Friedgut.lean
    complete
    def FABL.dnfFriedgutJuntaSizeBound (w : ℕ) (ε : ℝ) : ℝ
    def FABL.dnfFriedgutJuntaSizeBound (w : ℕ)
      (ε : ℝ) : ℝ
    The explicit form of the book's `(1 / ε) ^ O(w)` junta-size bound. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.dnf_spectrum_concentrated_up_to_dnfFriedgutDegree {n : ℕ}
      (f : FABL.BooleanFunction n) {w : ℕ} (hf : FABL.HasDNFWidthLE f w)
      {ε : ℝ} (hε : 0 < ε) (hεone : ε ≤ 1) :
      FABL.IsFourierSpectrumConcentratedUpTo f.toReal ε
        ↑(FABL.dnfFriedgutDegree w ε)
    theorem FABL.dnf_spectrum_concentrated_up_to_dnfFriedgutDegree
      {n : ℕ} (f : FABL.BooleanFunction n)
      {w : ℕ} (hf : FABL.HasDNFWidthLE f w)
      {ε : ℝ} (hε : 0 < ε) (hεone : ε ≤ 1) :
      FABL.IsFourierSpectrumConcentratedUpTo
        f.toReal ε
        ↑(FABL.dnfFriedgutDegree w ε)
    Theorem 4.22 at the integral cutoff used by Corollary 9.30. 
  • theoremdefined in FABL/Chapter09/Friedgut.lean
    complete
    theorem FABL.exists_close_junta_of_hasDNFWidthLE {n : ℕ}
      (f : FABL.BooleanFunction n) {w : ℕ} (hf : FABL.HasDNFWidthLE f w)
      {ε : ℝ} (hε : 0 < ε) (hεone : ε ≤ 1) :
      ∃ J g,
        ↑J.card ≤ FABL.dnfFriedgutJuntaSizeBound w ε ∧
          FABL.IsKJunta g J.card ∧ FABL.relativeHammingDist f g ≤ ε
    theorem FABL.exists_close_junta_of_hasDNFWidthLE
      {n : ℕ} (f : FABL.BooleanFunction n)
      {w : ℕ} (hf : FABL.HasDNFWidthLE f w)
      {ε : ℝ} (hε : 0 < ε) (hεone : ε ≤ 1) :
      ∃ J g,
        ↑J.card ≤
            FABL.dnfFriedgutJuntaSizeBound w
              ε ∧
          FABL.IsKJunta g J.card ∧
            FABL.relativeHammingDist f g ≤ ε
    Corollary 9.30: every width-`w` DNF is close to a junta, with the asymptotic bound replaced
    by the stronger explicit expression coming from Theorems 4.22 and 9.28. 
Theorem9.6.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.
Statement uses 2
Statement dependency previews
Preview
Theorem 5.5.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

Corollary 9.31. If f is a linear threshold function and 0<\epsilon,\eta\le1/2, then f is \epsilon-close to a junta on \mathbf I[f]^{2+\eta}(1/\eta)^{O(1/\epsilon^2)} coordinates.

Lean code for Theorem9.6.11●5 declarations
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.ltfImprovedFriedgutDegree (epsilon : ℝ) : ℕ
    def FABL.ltfImprovedFriedgutDegree
      (epsilon : ℝ) : ℕ
    An explicit integral realization of the LTF cutoff `O(1 / epsilon^2)`. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.ltf_spectrum_concentrated_up_to_improvedFriedgutDegree {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : FABL.IsLinearThreshold f)
      {epsilon : ℝ} (hepsilon : 0 < epsilon) :
      FABL.IsFourierSpectrumConcentratedUpTo f.toReal epsilon
        ↑(FABL.ltfImprovedFriedgutDegree epsilon)
    theorem FABL.ltf_spectrum_concentrated_up_to_improvedFriedgutDegree
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f)
      {epsilon : ℝ} (hepsilon : 0 < epsilon) :
      FABL.IsFourierSpectrumConcentratedUpTo
        f.toReal epsilon
        ↑(FABL.ltfImprovedFriedgutDegree
            epsilon)
    Peres's theorem gives `epsilon` Fourier concentration through the explicit LTF cutoff. 
  • defdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    def FABL.ltfImprovedFriedgutJuntaSizeBound {n : ℕ}
      (f : FABL.BooleanFunction n) (epsilon eta : ℝ) : ℝ
    def FABL.ltfImprovedFriedgutJuntaSizeBound
      {n : ℕ} (f : FABL.BooleanFunction n)
      (epsilon eta : ℝ) : ℝ
    The explicit size used for Corollary 9.31.  Substituting
    `ltfImprovedFriedgutDegree epsilon = ceil(16 / epsilon^2)` into Remark 9.29 gives the
    book's `I[f]^(2+eta) * (1/eta)^(O(1/epsilon^2))` form.  The leading `1` totalizes the
    constant-function case. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.ltf_improvedFriedgut_junta {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f) {epsilon eta : ℝ}
      (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2))
      (heta : eta ∈ Set.Ioo 0 (1 / 2)) :
      ∃ J g,
        ↑J.card ≤ FABL.ltfImprovedFriedgutJuntaSizeBound f epsilon eta ∧
          FABL.IsFourierSpectrumConcentratedOn f.toReal (2 * epsilon)
              {S |
                S ⊆ J ∧ S.card ≤ FABL.ltfImprovedFriedgutDegree epsilon} ∧
            FABL.IsKJunta g J.card ∧ FABL.relativeHammingDist f g ≤ epsilon
    theorem FABL.ltf_improvedFriedgut_junta {n : ℕ}
      (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f)
      {epsilon eta : ℝ}
      (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2))
      (heta : eta ∈ Set.Ioo 0 (1 / 2)) :
      ∃ J g,
        ↑J.card ≤
            FABL.ltfImprovedFriedgutJuntaSizeBound
              f epsilon eta ∧
          FABL.IsFourierSpectrumConcentratedOn
              f.toReal (2 * epsilon)
              {S |
                S ⊆ J ∧
                  S.card ≤
                    FABL.ltfImprovedFriedgutDegree
                      epsilon} ∧
            FABL.IsKJunta g J.card ∧
              FABL.relativeHammingDist f g ≤
                epsilon
    Corollary 9.31 with the spectral conclusion retained and all asymptotic constants made
    explicit. 
  • theoremdefined in FABL/Chapter09/ImprovedFriedgut.lean
    complete
    theorem FABL.corollary9_31_ltf_close_to_junta {n : ℕ}
      (f : FABL.BooleanFunction n) (hf : FABL.IsLinearThreshold f)
      {epsilon eta : ℝ} (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2))
      (heta : eta ∈ Set.Ioo 0 (1 / 2)) :
      ∃ J g,
        ↑J.card ≤ FABL.ltfImprovedFriedgutJuntaSizeBound f epsilon eta ∧
          FABL.IsKJunta g J.card ∧ FABL.relativeHammingDist f g ≤ epsilon
    theorem FABL.corollary9_31_ltf_close_to_junta
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f)
      {epsilon eta : ℝ}
      (hepsilon : epsilon ∈ Set.Ioo 0 (1 / 2))
      (heta : eta ∈ Set.Ioo 0 (1 / 2)) :
      ∃ J g,
        ↑J.card ≤
            FABL.ltfImprovedFriedgutJuntaSizeBound
              f epsilon eta ∧
          FABL.IsKJunta g J.card ∧
            FABL.relativeHammingDist f g ≤
              epsilon
    Corollary 9.31 in its book-facing existence form. 
Theorem9.6.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 1
Used by 2
Reverse dependency previews
Preview
Theorem 9.6.14
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

Corollary 9.32. If \operatorname{Var}[f]\ge1/2, then some S\subseteq[n] satisfies 0<|S|\le O(\mathbf I[f]), \qquad \widehat f(S)^2\ge\exp(-O(\mathbf I[f]^2)).

Lean code for Theorem9.6.12●8 declarations
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.friedgutDegree_one_eighth {n : ℕ} (f : FABL.BooleanFunction n) :
      FABL.friedgutDegree f (1 / 8) = ⌈8 * FABL.totalInfluence f.toReal⌉₊
    theorem FABL.friedgutDegree_one_eighth {n : ℕ}
      (f : FABL.BooleanFunction n) :
      FABL.friedgutDegree f (1 / 8) =
        ⌈8 * FABL.totalInfluence f.toReal⌉₊
    At the parameter used in Corollary 9.32, Friedgut's integral cutoff is literally
    `ceil(8 I[f])`. 
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.card_friedgutCoordinates_one_eighth_le {n : ℕ}
      (f : FABL.BooleanFunction n) (hI : 0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.friedgutCoordinates f (1 / 8)).card ≤
        64 * FABL.totalInfluence f.toReal ^ 3 *
          9 ^ ⌈8 * FABL.totalInfluence f.toReal⌉₊
    theorem FABL.card_friedgutCoordinates_one_eighth_le
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hI :
        0 < FABL.totalInfluence f.toReal) :
      ↑(FABL.friedgutCoordinates f
              (1 / 8)).card ≤
        64 *
            FABL.totalInfluence f.toReal ^ 3 *
          9 ^
            ⌈8 *
                FABL.totalInfluence f.toReal⌉₊
    The explicit influential-coordinate bound at `ε = 1/8`. 
  • defdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    def FABL.lowDegreeSubsets {n : ℕ} (J : Finset (Fin n)) (k : ℕ) :
      Finset (Finset (Fin n))
    def FABL.lowDegreeSubsets {n : ℕ}
      (J : Finset (Fin n)) (k : ℕ) :
      Finset (Finset (Fin n))
    All subsets of `J` having cardinality at most `k`. 
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.card_lowDegreeSubsets_eq_sum_choose {n : ℕ} (J : Finset (Fin n))
      (k : ℕ) :
      (FABL.lowDegreeSubsets J k).card =
        ∑ j ∈ Finset.range (k + 1), J.card.choose j
    theorem FABL.card_lowDegreeSubsets_eq_sum_choose
      {n : ℕ} (J : Finset (Fin n)) (k : ℕ) :
      (FABL.lowDegreeSubsets J k).card =
        ∑ j ∈ Finset.range (k + 1),
          J.card.choose j
    The number of low-degree subsets of `J` is the corresponding partial binomial sum. 
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.card_lowDegreeSubsets_le {n : ℕ} (J : Finset (Fin n)) (k : ℕ) :
      (FABL.lowDegreeSubsets J k).card ≤ (k + 1) * (J.card + 1) ^ k
    theorem FABL.card_lowDegreeSubsets_le {n : ℕ}
      (J : Finset (Fin n)) (k : ℕ) :
      (FABL.lowDegreeSubsets J k).card ≤
        (k + 1) * (J.card + 1) ^ k
    A uniform elementary bound for the number of low-degree subsets of a finite coordinate set. 
  • defdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    def FABL.corollary9_32Family {n : ℕ} (f : FABL.BooleanFunction n) :
      Finset (Finset (Fin n))
    def FABL.corollary9_32Family {n : ℕ}
      (f : FABL.BooleanFunction n) :
      Finset (Finset (Fin n))
    The nonempty low-degree family used in Corollary 9.32. 
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.one_fourth_le_sum_corollary9_32Family {n : ℕ}
      (f : FABL.BooleanFunction n) (hvar : 1 / 2 ≤ FABL.variance f.toReal) :
      1 / 4 ≤
        ∑ S ∈ FABL.corollary9_32Family f, FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.one_fourth_le_sum_corollary9_32Family
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hvar :
        1 / 2 ≤ FABL.variance f.toReal) :
      1 / 4 ≤
        ∑ S ∈ FABL.corollary9_32Family f,
          FABL.fourierCoeff f.toReal S ^ 2
    At least one quarter of the Fourier mass lies on the nonempty family used in
    Corollary 9.32. 
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.exists_large_lowDegree_fourierCoeff {n : ℕ}
      (f : FABL.BooleanFunction n) (hvar : 1 / 2 ≤ FABL.variance f.toReal) :
      ∃ S,
        S ≠ ∅ ∧
          S.card ≤ FABL.friedgutDegree f (1 / 8) ∧
            1 /
                (4 *
                  ↑((FABL.friedgutDegree f (1 / 8) + 1) *
                      ((FABL.friedgutCoordinates f (1 / 8)).card + 1) ^
                        FABL.friedgutDegree f (1 / 8))) ≤
              FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.exists_large_lowDegree_fourierCoeff
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hvar :
        1 / 2 ≤ FABL.variance f.toReal) :
      ∃ S,
        S ≠ ∅ ∧
          S.card ≤
              FABL.friedgutDegree f (1 / 8) ∧
            1 /
                (4 *
                  ↑((FABL.friedgutDegree f
                          (1 / 8) +
                        1) *
                      ((FABL.friedgutCoordinates
                              f
                              (1 / 8)).card +
                          1) ^
                        FABL.friedgutDegree f
                          (1 / 8))) ≤
              FABL.fourierCoeff f.toReal S ^ 2
    Corollary 9.32 with all hidden constants exposed: a nonempty coefficient of degree at most
    `ceil(8 I[f])` has at least the reciprocal of four times the displayed family-size bound. 
Lemma9.6.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.
uses 1used by 0✓L∃∀N

Remark 9.33. If \operatorname{Var}[f]<1/2, then the constant Fourier coefficient is already large: \widehat f(\varnothing)^2\ge1/2.

Lean code for Lemma9.6.13●1 theorem
  • theoremdefined in FABL/Chapter09/LargeFourierCoefficient.lean
    complete
    theorem FABL.one_half_le_fourierCoeff_empty_sq_of_variance_le {n : ℕ}
      (f : FABL.BooleanFunction n) (hvar : FABL.variance f.toReal ≤ 1 / 2) :
      1 / 2 ≤ FABL.fourierCoeff f.toReal ∅ ^ 2
    theorem FABL.one_half_le_fourierCoeff_empty_sq_of_variance_le
      {n : ℕ} (f : FABL.BooleanFunction n)
      (hvar :
        FABL.variance f.toReal ≤ 1 / 2) :
      1 / 2 ≤ FABL.fourierCoeff f.toReal ∅ ^ 2
    Remark 9.33: below variance one half, the empty Fourier coefficient is already large. 
Theorem9.6.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 0XL∃∀N

It is open whether Corollary 9.32 can always be strengthened to \widehat f(S)^2\ge\exp(-O(\mathbf I[f])). This question supplies no assumption to the production library.