Documentation

LeanPool.BooleanIsoperimetry.Cascade

Binomial cascade arithmetic #

This file develops binomial-prefix and Macaulay-cascade infrastructure for simplicial initial segments in the Boolean cube, including the slice recurrence for the Harper boundary function H.

IsBinomialCascade n k r t is the canonical layer decomposition of k in the n-cube: all layers of sizes < r are full, and t points are taken from layer r.

The final disjunct makes the decomposition canonical at layer boundaries: when a layer is completely full, we move to the next layer with residual 0.

Equations
Instances For

    The lower-slice size determined by cascade parameters n, r, and t.

    Equations
    Instances For

      The upper-slice size determined by cascade parameters n, r, and t.

      Equations
      Instances For

        The algebraic lower/upper split for the canonical cascade of k in dimension n + 1. It is independent of slice0, slice1, rank, and neighborhoods.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem BooleanIsoperimetry.int_sum_mul_le_of_prefix_le_of_antitone_weight (M : ) (u v w : ) (hpref : rM, iFinset.range r, v i iFinset.range r, u i) (htot : iFinset.range M, u i = iFinset.range M, v i) :
          (∀ i < M, 0 w i)∀ (hwanti : ∀ (i : ), i + 1 < Mw (i + 1) w i), iFinset.range M, w i * v i iFinset.range M, w i * u i

          Abel summation majorization over ℤ: if v is majorized by u in prefix sums, and w is antitone, then the w-weighted sum of v is ≤ that of u.

          Nat.choose (n+1) r splits as Nat.choose n r + choosePred n r.

          binomPrefix n (r-1) + choosePred n r = binomPrefix n r.

          theorem BooleanIsoperimetry.exists_isBinomialCascade (n k : ) (hk : k 2 ^ (n + 1)) :
          ∃ (r : ) (t : ), IsBinomialCascade (n + 1) k r t

          The two cascade slice values sum to k.

          The lower cascade slice value is at most 2^n.

          The upper cascade slice value is at most 2^n.

          theorem BooleanIsoperimetry.exists_cascade_split (n k : ) (hk : k 2 ^ (n + 1)) :
          ∃ (p : ) (q : ), p 2 ^ n q 2 ^ n p + q = k CascadeSplit n k p q

          Every integer k ≤ 2^(n+1) admits a valid cascade split (p, q) bounded by 2^n.

          theorem BooleanIsoperimetry.isBinomialCascade_unique {m k r t r' t' : } (h : IsBinomialCascade m k r t) (h' : IsBinomialCascade m k r' t') :
          r = r' t = t'

          Uniqueness of the canonical binomial cascade decomposition. For a fixed total k and dimension m, the canonical cascade (r, t) with all layers below r full and t points of layer r is unique. Standard fact: if r < r' then the full prefix binomPrefix m (r+1) already exceeds the partial sum, forcing t = Nat.choose m r and (via the canonical boundary disjunct) r = m, which is incompatible with r < r' ≤ m.

          theorem BooleanIsoperimetry.cascadeSplit_unique {n k p q p' q' : } (h : CascadeSplit n k p q) (h' : CascadeSplit n k p' q') :
          p = p' q = q'

          Uniqueness of the canonical cascade split. Because the underlying binomial cascade (r, t) is unique, the canonical split (p, q) of a fixed total k in dimension n + 1 is uniquely determined. This is what lets the Frankl–Füredi terminal family be identified with the canonical cascade pair.

          The number of vertices of the n-cube with cardinality exactly c is C(n,c).

          The number of vertices of the n-cube with cardinality < c is binomPrefix n c.

          The set of low-cardinality vertices is exactly an initial segment.

          rank versus cardinality: rank w < binomPrefix n c ↔ w.card < c.

          Layer lower bound on rank.

          Layer upper bound on rank.

          theorem BooleanIsoperimetry.cubeToNat_lt {n : } (u : Cube n) :
          cubeToNat u < 2 ^ n

          cubeToNat of any vertex of the n-cube is < 2^n.

          embed1 reflects (and preserves) the strict simplicial order.

          Comparing an embed0 vertex with an embed1 vertex reduces to cardinalities.

          The upper slice of an initial segment as an explicit filter.

          theorem BooleanIsoperimetry.cascade_pred_iff {n r t c rho : } (ht : t (n + 1).choose r) (hlo : binomPrefix n c rho) (hhi : rho < binomPrefix n (c + 1)) :
          rho + binomPrefix n (c + 1) < binomPrefix (n + 1) r + t rho < binomPrefix n (r - 1) + min t (choosePred n r)

          The upper slice cardinality matches the cascade value.

          The actual Lean slice sizes of the simplicial initial segment match the components of the cascade split.

          theorem BooleanIsoperimetry.cascade_split_add {n k p q : } (h : CascadeSplit n k p q) :
          p + q = k

          The two components of a cascade split add back to the split mass.

          theorem BooleanIsoperimetry.cascade_q_le_p {n k p q : } (h : CascadeSplit n k p q) :
          q p

          In a cascade split the lower slice is at least as large as the upper slice.

          theorem BooleanIsoperimetry.H_add_self_mono {n x y : } (h : x y) :
          H n x + x H n y + y

          The strictly-increasing "mass" function H n x + x is monotone.

          Comparing an embed1 vertex with an embed0 vertex reduces to cardinalities.

          The empty vertex lies in every nonempty initial segment.

          theorem BooleanIsoperimetry.cascade_p_le_H_q {n k p q : } (h : CascadeSplit n k p q) (hq : 1 q) :
          p H n q

          gShift on the 0-slice commutes with the embedding.

          gShift on the 1-slice stays in the 1-slice, except for {n} which maps to in the 0-slice.

          theorem BooleanIsoperimetry.H_eq_gShift_count (n k : ) :
          H n k = {v : Cube n | rank (gShift v) < k}.card

          Explicit boundary count: H n k counts vertices whose gShift lands in the segment.

          theorem BooleanIsoperimetry.H_succ_cascade {n k p q : } (h : CascadeSplit n k p q) :
          H (n + 1) k = max (H n p) q + max (H n q) p

          Recursion for H in terms of the canonical cascade split.

          The canonical cascade split of the singleton initial segment is (1, 0).

          theorem BooleanIsoperimetry.H_one (n : ) :
          H n 1 = n + 1

          The boundary of the singleton initial segment: H n 1 = n + 1.

          theorem BooleanIsoperimetry.H_increment_eq_gShift_inv (n p : ) (w : Cube n) (hw : rank w = p) :
          H n (p + 1) = H n p + {v : Cube n | gShift v = w}.card

          The exact increment of H: passing from an initial segment of size p to p + 1 enlarges the closed neighbourhood by exactly the number of vertices whose gShift is the unique rank-p vertex w.

          This provides the exact layer-profile increment structure for H, upgrading the lower bound in H_increment_lower to a full structural equality.

          theorem BooleanIsoperimetry.H_increment_lower (n p : ) (hp : p + 1 2 ^ n) :
          H n p + n H n (p + 1) + p