Documentation

LeanPool.Chvatal.Counting

The counting reduction in Section 4 #

The indicator-function identities in this file translate between set families and the cube's uniform probability measure. They are the elementary counting steps in Section 4 of arXiv:2609.19123.

def Chvatal.Family.indicator {ι : Type u_1} [DecidableEq ι] (B : Family ι) (x : Finset ι) :

The real-valued indicator 𝟙_B of a family, used in Section 4.

Equations
Instances For
    @[simp]
    theorem Chvatal.Family.indicator_of_mem {ι : Type u_1} [DecidableEq ι] {B : Family ι} {x : Finset ι} (hx : x ∈ B) :
    B.indicator x = 1

    Evaluating the Section 4 indicator at a member of its family.

    @[simp]
    theorem Chvatal.Family.indicator_of_not_mem {ι : Type u_1} [DecidableEq ι] {B : Family ι} {x : Finset ι} (hx : x ∉ B) :
    B.indicator x = 0

    Evaluating the Section 4 indicator outside its family.

    The expectation of a family indicator is its density in the Boolean cube, the normalization used in both counting formulas in Section 4.

    theorem Chvatal.Family.indicator_inter {ι : Type u_1} [DecidableEq ι] (D B : Family ι) :
    (D ∩ B).indicator = fun (x : Finset ι) => D.indicator x * B.indicator x

    The pointwise product of two family indicators counts their intersection, as used in the covariance calculation in Section 4.

    theorem Chvatal.Family.indicator_compl {ι : Type u_1} [Fintype ι] [DecidableEq ι] (D : Family ι) :
    Dᶜ.indicator = fun (x : Finset ι) => 1 - D.indicator x

    Complementing family membership gives the function 1 - 𝟙_D of Section 4.

    An increasing family has an increasing indicator, as used for g = 𝟙_B in Section 4.

    For a hereditary family, the function f = 1 - 𝟙_D in Section 4 is increasing.

    The indicator of an antipodal family is self-dual, giving the antipodality hypothesis for g in the application of Corollary 1.3.

    Family duality and Boolean-function duality agree under indicators, as used when translating the families in Sections 3 and 4.

    An antipodal family has uniform density one half, the input to Section 4's covariance calculation.

    theorem Chvatal.Family.covariance_one_sub_indicator {ι : Type u_1} [Fintype ι] [DecidableEq ι] {D B : Family ι} (hB : B.IsAntipodal) :
    covariance (fun (x : Finset ι) => 1 - D.indicator x) B.indicator = (↑(Finset.card D) / 2 - ↑(Finset.card (D ∩ B))) / ↑(Fintype.card (Finset ι))

    The first counting identity in Section 4: for f = 1 - 𝟙_D and g = 𝟙_B, with B antipodal, covariance is (|D| / 2 - |D ∩ B|) / 2^n. Heredity is unnecessary for this identity.

    The converse indicator bridge in Section 4: a self-dual family indicator comes from an antipodal family.

    noncomputable def Chvatal.Family.oneSupport {ι : Type u_1} [Fintype ι] (f : Finset ι → ℝ) :

    The support of the value one, used in Section 4 to pass from increasing Boolean functions back to set families.

    Equations
    Instances For
      @[simp]
      theorem Chvatal.Family.mem_oneSupport {ι : Type u_1} [Fintype ι] {f : Finset ι → ℝ} {x : Finset ι} :
      x ∈ oneSupport f ↔ f x = 1

      Membership in the support used in Section 4's converse implication.

      theorem Chvatal.Family.indicator_oneSupport {ι : Type u_1} [Fintype ι] [DecidableEq ι] {f : Finset ι → ℝ} (hf : ∀ (x : Finset ι), f x = 0 ∨ f x = 1) :

      Taking the indicator of a Boolean function's support recovers the function, as required in Section 4's converse construction.

      theorem Chvatal.Family.isIncreasing_oneSupport {ι : Type u_1} [Fintype ι] {f : Finset ι → ℝ} (hf : ∀ (x : Finset ι), f x = 0 ∨ f x = 1) (hm : Monotone f) :

      The support of an increasing Boolean function is an increasing family, the first family construction in Section 4's converse.

      The complement of an increasing family is hereditary, used for D = supp (1 - f) in Section 4's converse.

      A family indicator is Boolean-valued, as required when invoking Corollary 1.3 in Section 4.

      theorem Chvatal.Family.isBoolean_one_sub_indicator {ι : Type u_1} [DecidableEq ι] (D : Family ι) :
      IsBoolean fun (x : Finset ι) => 1 - D.indicator x

      The complement indicator 1 - 𝟙_D used in Section 4 is Boolean-valued.

      Each coordinate sign has uniform mean zero, the cancellation used to count influences in Section 4.

      theorem Chvatal.Family.influence_one_sub_indicator {ι : Type u_1} [Fintype ι] [DecidableEq ι] {D : Family ι} (hD : D.IsHereditary) (i : ι) :
      influence (fun (x : Finset ι) => 1 - D.indicator x) i = 2 * (↑(Finset.card D) - 2 * ↑(Finset.card (D.star i))) / ↑(Fintype.card (Finset ι))

      The second counting identity in Section 4: the influence of 1 - 𝟙_D is twice the number of boundary edges in coordinate i, divided by 2^n. The numerator is |D| - 2 |D_i|.

      theorem Chvatal.Family.covariance_sub_quarter_influence {ι : Type u_1} [Fintype ι] [DecidableEq ι] {D B : Family ι} (hD : D.IsHereditary) (hB : B.IsAntipodal) (i : ι) :
      covariance (fun (x : Finset ι) => 1 - D.indicator x) B.indicator - influence (fun (x : Finset ι) => 1 - D.indicator x) i / 4 = (↑(Finset.card (D.star i)) - ↑(Finset.card (D ∩ B))) / ↑(Fintype.card (Finset ι))

      The coordinatewise form of equation (17) in Section 4. Taking the minimum influence and the maximum star size yields the displayed equation in the paper.

      theorem Chvatal.Family.covariance_sub_quarter_min_influence {ι : Type u_1} [Fintype ι] [DecidableEq ι] [Nonempty ι] {D B : Family ι} (hD : D.IsHereditary) (hB : B.IsAntipodal) :
      covariance (fun (x : Finset ι) => 1 - D.indicator x) B.indicator - Finset.univ.inf' ⋯ (influence fun (x : Finset ι) => 1 - D.indicator x) / 4 = (↑(Finset.univ.sup fun (i : ι) => Finset.card (D.star i)) - ↑(Finset.card (D ∩ B))) / ↑(Fintype.card (Finset ι))

      Equation (17) of Section 4, with its finite minimum of influences and maximum of star cardinalities. A nonempty coordinate type makes the minimum well-defined.

      theorem Chvatal.Family.influence_le_four_covariance_iff {ι : Type u_1} [Fintype ι] [DecidableEq ι] {D B : Family ι} (hD : D.IsHereditary) (hB : B.IsAntipodal) (i : ι) :
      influence (fun (x : Finset ι) => 1 - D.indicator x) i ≤ 4 * covariance (fun (x : Finset ι) => 1 - D.indicator x) B.indicator ↔ Finset.card (D ∩ B) ≤ Finset.card (D.star i)

      Equation (17) turns a coordinate's influence bound into the corresponding star bound, in either direction.

      The star property asserted for each hereditary family in Theorem 1.1: every intersecting subfamily is no larger than some star.

      Equations
      Instances For

        The antipodal correlation assertion of Corollary 1.3, expressed with a coordinate attaining a bound instead of a finite minimum. On a nonempty ground type this is exactly Cov(f,g) ≥ (1/4) min_i Inf_i[f]. This is a proposition, not an assumption introduced into the logical environment.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          Theorem 1.1 deduced from Corollary 1.3, exactly as in Section 4. The analytic correlation theorem is an explicit hypothesis: this declaration does not claim to prove that analytic assertion.

          Section 4's converse: a star bound for every hereditary family implies the antipodal correlation bound, using D = supp(1-f) and B = supp(g).

          The equivalence recalled in Section 4 between Chvátal's star assertion and Corollary 1.3's antipodal correlation assertion. Both sides remain explicit propositions; no direction relies on an unproved result.