Documentation

LeanPool.BooleanIsoperimetry.Harper

Harper's vertex-isoperimetric theorem #

This file assembles the compression, Macaulay, Kruskal-Katona, and scalar recurrence layers into the final sorry-free proof of Harper's theorem.

noncomputable def BooleanIsoperimetry.gShiftIntervalCount (n lo hi : ) :

The number of vertices whose gShift rank lies in the half-open interval [lo, hi). This is the set-level form of an HIncrement window.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem BooleanIsoperimetry.H_window_sum_of_le (n lo hi : ) (hlohi : lo hi) :
    H n hi = H n lo + iFinset.Ico lo hi, HIncrement n i
    theorem BooleanIsoperimetry.gShiftIntervalCount_eq_H_sub (n lo hi : ) (hlohi : lo hi) :
    gShiftIntervalCount n lo hi = H n hi - H n lo
    theorem BooleanIsoperimetry.gShiftIntervalCount_eq_macaulayShadowWeight_sum (n lo hi : ) (hlohi : lo hi) (hhi : hi 2 ^ n) :
    gShiftIntervalCount n lo hi = w : Cube n with lo rank w rank w < hi, macaulayShadowWeight w

    Exact vertex-weight form of a Macaulay shadow window. This is the same window count as gShiftIntervalCount, but with each rank vertex weighted by its explicit gShift-fibre size (macaulayShadowWeight).

    theorem BooleanIsoperimetry.HIncrement_window_le_of_gShiftIntervalCount_le {n lo₁ hi₁ lo₂ hi₂ slack : } (h₁ : lo₁ hi₁) (h₂ : lo₂ hi₂) (hcount : gShiftIntervalCount n lo₁ hi₁ gShiftIntervalCount n lo₂ hi₂ + slack) :
    iFinset.Ico lo₁ hi₁, HIncrement n i iFinset.Ico lo₂ hi₂, HIncrement n i + slack
    noncomputable def BooleanIsoperimetry.boundaryCostH (N a b : ) :

    The local non-circular boundary-cost functional used by the positive Macaulay kernel. This intentionally duplicates the later boundaryCost definition so the remaining inductive step can be expressed without referring to downstream theorems.

    Equations
    Instances For
      theorem BooleanIsoperimetry.boundaryCostH_eq_H_add_slack (N a b : ) :
      boundaryCostH N a b = H N a + H N b + (b - H N a) + (a - H N b)

      Exact slack decomposition of the max-form boundary cost. The two truncated terms are precisely the slack that is needed in the GT regime, where the simpler sum-form H N a + H N b is false.

      theorem BooleanIsoperimetry.H_window_sum_of_le_int (n lo hi : ) (hlohi : lo hi) :
      (H n hi) = (H n lo) + (gShiftIntervalCount n lo hi)
      theorem BooleanIsoperimetry.harper_step_total_q_zero (n : ) {a b p : } (hcasc : CascadeSplit (n + 1) (a + b) p 0) :
      H (n + 2) (a + b) boundaryCostH (n + 1) a b

      The four-block prefix profile exposed by lowering a level-n+1 interleaving to the two level-n slices. The first pair (x0, y0) is read one layer ahead of the second pair (x1, y1), matching the Pascal shift in CascadeInterleaves.lower_succ.

      theorem BooleanIsoperimetry.harper_step_sum_form_of_window_shift (n : ) {a b p q : } (hap : a p) (hqb : q b) (hwin : gShiftIntervalCount (n + 1) a p gShiftIntervalCount (n + 1) q b) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b
      theorem BooleanIsoperimetry.harper_step_sum_form_of_window_shift' (n : ) {a b p q : } (hpa : p a) (hbq : b q) (hwin : gShiftIntervalCount (n + 1) b q gShiftIntervalCount (n + 1) p a) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b
      theorem BooleanIsoperimetry.gShiftIntervalCount_add_adjacent (n lo mid hi : ) (h1 : lo mid) (h2 : mid hi) :

      Window additivity for the Macaulay shadow count gShiftIntervalCount: adjacent rank windows [lo, mid) and [mid, hi) add to [lo, hi). A reusable block-decomposition tool for splitting shadow windows along layer boundaries.

      theorem BooleanIsoperimetry.gShiftIntervalCount_binomPrefix_window (n r s : ) (hr : 1 r) (hrs : r s) :
      gShiftIntervalCount n (binomPrefix n r) (binomPrefix n s) = iFinset.Ico (r + 1) (s + 1), n.choose i

      Whole-block value of the Macaulay shadow count between complete binomial prefixes: the shadow window between binomPrefix n r and binomPrefix n s counts exactly the complete Macaulay layers r+1, …, s. This connects the set-level shadow count to the explicit Nat.choose layer sizes, which is the form the layer-by-layer comparison of the two shadow windows needs.

      theorem BooleanIsoperimetry.gShiftIntervalCount_le_binomPrefix_window_of_endpoints (n r s lo hi : ) (hr : 1 r) (hrs : r s) (hlo : binomPrefix n r lo) (hhi : hi binomPrefix n s) :
      gShiftIntervalCount n lo hi iFinset.Ico (r + 1) (s + 1), n.choose i
      theorem BooleanIsoperimetry.gShiftIntervalCount_ge_binomPrefix_window_of_endpoints (n r s lo hi : ) (hr : 1 r) (hrs : r s) (hlo : lo binomPrefix n r) (hhi : binomPrefix n s hi) :
      iFinset.Ico (r + 1) (s + 1), n.choose i gShiftIntervalCount n lo hi

      Lower block bound (dual of gShiftIntervalCount_le_binomPrefix_window_of_endpoints). If a shadow window [lo, hi) contains the complete binomial prefix block [binomPrefix n r, binomPrefix n s) (that is, lo ≤ binomPrefix n r and binomPrefix n s ≤ hi), then its shadow count is at least the complete-layer block sum ∑_{i = r+1}^{s} C(n, i).

      This is the missing companion of the existing upper bound: together they let a Macaulay shadow comparison lower-bound the upper window and upper-bound the lower window by explicit Nat.choose layer sums. It is the reusable accounting helper named in Aristotle's Cycle 1 plan, and is the set-level form of "a window that swallows whole layers counts at least those layers".

      theorem BooleanIsoperimetry.gShiftIntervalCount_le_of_blocks (n r₁ s₁ r₂ s₂ lo₁ hi₁ lo₂ hi₂ : ) (hr₁ : 1 r₁) (hrs₁ : r₁ s₁) (hr₂ : 1 r₂) (hrs₂ : r₂ s₂) (hlo₁ : binomPrefix n r₁ lo₁) (hhi₁ : hi₁ binomPrefix n s₁) (hlo₂ : lo₂ binomPrefix n r₂) (hhi₂ : binomPrefix n s₂ hi₂) (hblock : iFinset.Ico (r₁ + 1) (s₁ + 1), n.choose i iFinset.Ico (r₂ + 1) (s₂ + 1), n.choose i) :
      gShiftIntervalCount n lo₁ hi₁ gShiftIntervalCount n lo₂ hi₂

      Block-domination ⇒ shadow-window domination. Two shadow windows compared through their enclosing/enclosed complete binomial blocks. If the lower window [lo₁, hi₁) is enclosed in the layer band [r₁, s₁] (so it is upper-bounded by the block sum over r₁+1 .. s₁) and the upper window [lo₂, hi₂) swallows the layer band [r₂, s₂] (so it is lower-bounded by the block sum over r₂+1 .. s₂), and the first block sum is no larger than the second, then the lower window's shadow count is no larger than the upper window's.

      This is the reusable whole-block comparison engine that the Frankl–Füredi / Macaulay window comparison (harper_macaulay_LE_sum, harper_macaulay_GT_sum) reduces to once the partial-layer boundary pieces of each window have been absorbed into the enclosing layer band. It is ih-free and purely Nat.choose arithmetic at the block level, isolating exactly the layer-index bookkeeping from the set-level shadow content.

      theorem BooleanIsoperimetry.gShiftIntervalCount_le_of_layer {n r a L : } (hr : 1 r) (hlo : binomPrefix n r a) (hhi : a + L binomPrefix n (r + 1)) :
      gShiftIntervalCount n a (a + L) L * (n - r)

      Single-layer shadow-window bound. A length-L shadow window contained in a single Macaulay layer r has shadow count at most L * (n - r). This is the set-level form of HIncrement_window_le_of_layer: it is the reusable upper bound for the upper shadow window of the Frankl–Füredi/Macaulay comparison whenever that window stays inside one cardinality band (which, computationally, is exactly the regime of the reversed-orientation leaf harper_macaulay_reversed).

      theorem BooleanIsoperimetry.cascade_left_window_endpoints {N a b p q : } (hcasc : CascadeSplit N (a + b) p q) (hpa : p a) :
      b q a - p = q - b

      Endpoint arithmetic for the left-oriented equal-length Macaulay windows. If the canonical split (p,q) and the arbitrary split (a,b) have the same total and p ≤ a, then the lower endpoint also moves inward, b ≤ q, and the two shadow windows [b,q) and [p,a) have the same length.

      theorem BooleanIsoperimetry.cascade_right_window_endpoints {N a b p q : } (hcasc : CascadeSplit N (a + b) p q) (hap : a p) :
      q b p - a = b - q

      Endpoint arithmetic for the right-oriented equal-length Macaulay windows. If a ≤ p, then q ≤ b, and the two shadow windows [a,p) and [q,b) have the same length.

      theorem BooleanIsoperimetry.harper_gt_shadow_window_endpoints {n a b p q : } (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hcase : H (n + 1) b < a) :
      b q q p p a a - p = q - b

      The GT regime gives the left-oriented window order together with equal lengths. This is the arithmetic shape of the Frankl-Füredi slack comparison: the lower window [b,q) and the upper window [p,a) have common length q-b = a-p.

      theorem BooleanIsoperimetry.CascadeInterleaves.cascade {n p q a b : } (h_inter : CascadeInterleaves n p q a b) :
      CascadeSplit n (a + b) p q

      The boundary cost is monotonically increasing with respect to cascade interleaving. This is the core mathematical reduction of the Macaulay window bounds.

      theorem BooleanIsoperimetry.CascadeInterleaves.sum_eq {n p q a b : } (h_inter : CascadeInterleaves n p q a b) :
      p + q = a + b
      theorem BooleanIsoperimetry.CascadeInterleaves.left_le_cube {n p q a b : } (h_inter : CascadeInterleaves n p q a b) :
      p 2 ^ n
      theorem BooleanIsoperimetry.H_pair_step_forward_of_increment_le (N x y : ) (hy : 1 y) (hinc : HIncrement N (y - 1) HIncrement N x) :
      H N x + H N y H N (x + 1) + H N (y - 1)
      theorem BooleanIsoperimetry.H_pair_step_backward_of_increment_le (N x y : ) (hy : 1 y) (hinc : HIncrement N x HIncrement N (y - 1)) :
      H N (x + 1) + H N (y - 1) H N x + H N y
      theorem BooleanIsoperimetry.exists_binomPrefix_layer (N b : ) (hb : b < 2 ^ N) :
      rN, binomPrefix N r b b < binomPrefix N (r + 1)
      theorem BooleanIsoperimetry.H_le_binomPrefix_of_layer (N a b r : ) (hb : b binomPrefix N (r + 1)) (hcase : a H N b) :
      a binomPrefix N (r + 2)

      Two-layer confinement (LE regime). If b lies at or below the top of Macaulay layer r and a ≤ H N b, then a lies at or below the top of layer r+1. Equivalently the LE-regime shadow comparison is confined to the two adjacent Macaulay layers r and r+1. This is the reusable cascade-layer increment fact behind the Case-I Kruskal–Katona/Macaulay window comparison.

      theorem BooleanIsoperimetry.harper_macaulay_LE_sum_q_zero (n : ) {a b p : } (hcasc : CascadeSplit (n + 1) (a + b) p 0) (hba : b a) :
      H (n + 1) p + H (n + 1) 0 H (n + 1) a + H (n + 1) b

      Degenerate q = 0 branch of the Case-I Macaulay sum leaf. This removes the non-positive canonical split from the Frankl–Füredi/Macaulay core: a canonical split with q = 0 has total mass at most one, so the inequality is a finite 0/1 calculation.

      theorem BooleanIsoperimetry.boundaryCost_le_of_lower_interleaves_step_live (n p q a b p0 p1 q0 q1 a0 a1 b0 b1 : ) :
      (∀ m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x)∀ (ha_cap : a 2 ^ (n + 1)) (hb_cap : b 2 ^ (n + 1)) (hba : b a) (hpq_casc : CascadeSplit (n + 1) (a + b) p q) (hp : CascadeSplit n p p0 p1) (hq : CascadeSplit n q q0 q1), CascadeSplit n a a0 a1∀ (hb : CascadeSplit n b b0 b1), (∀ (l : ), splitPrefixMass n a0 b0 (l + 1) + splitPrefixMass n a1 b1 l splitPrefixMass n p0 q0 (l + 1) + splitPrefixMass n p1 q1 l)max (H (n + 1) p) q + max (H (n + 1) q) p max (H (n + 1) a) b + max (H (n + 1) b) a

      Frankl–Füredi lowered four-block exchange step (human-proof leaf). The genuine local compression/Macaulay step in the form used by the Harper induction: for the canonical cascade split (p,q) of a+b at level n+1, in the ordered regime b ≤ a, with the four level-n cascade slice decompositions of p,q,a,b and the lowered prefix-mass (Macaulay) domination h_lower provided by CascadeInterleaves.lower_succ, and the level-n Harper inequality ih, the canonical cross-boundary cost is minimal. This carries exactly the PDF's inductive inputs (within-slice optimality from ih/harper_extremal_n, and cross-layer prefix-mass majorization from h_lower). The unordered case is recovered by harper_macaulay_exchange_step via the symmetry of the right-hand side under swapping a, b.

      theorem BooleanIsoperimetry.harper_macaulay_exchange_step (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha_cap : a 2 ^ (n + 1)) (hb_cap : b 2 ^ (n + 1)) (hpq_casc : CascadeSplit (n + 1) (a + b) p q) :
      max (H (n + 1) p) q + max (H (n + 1) q) p max (H (n + 1) a) b + max (H (n + 1) b) a

      Frankl–Füredi / Macaulay extremal step (max-form). For the canonical cascade split (p,q) of a+b at level n+1, the canonical cross-boundary cost is minimal. This is now a sorry-free consequence of the single human-proof leaf boundaryCost_le_of_lower_interleaves_step_live: choose the four level-n cascade slice decompositions of p,q,a,b via exists_cascade_split, obtain the lowered prefix-mass domination from canonicalSplit_interleaves and CascadeInterleaves.lower_succ, and apply the leaf.

      theorem BooleanIsoperimetry.harper_macaulay_LE_sum_pos (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b

      Positive-cascade Case-I (LE) sum leaf. Sorry-free corollary of harper_macaulay_exchange_step: collapse the outer maxs (canonical_boundaryCost_eq_H_add on the left; b ≤ a ≤ H b on the right).

      theorem BooleanIsoperimetry.harper_macaulay_LE_sum (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b
      theorem BooleanIsoperimetry.harper_macaulay_GT_sum (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hba : b a) (hcase : H (n + 1) b < a) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + a

      Positive-cascade Case-II (GT) sum leaf. Sorry-free corollary of harper_macaulay_exchange_step: the outer maxs collapse via canonical_boundaryCost_eq_H_add (left) and the GT case H (n+1) b < a (right, max (H (n+1) b) a = a).

      theorem BooleanIsoperimetry.boundaryCost_le_of_LE_GT_sums (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (_hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hba : b a) :
      max (H (n + 1) p) q + max (H (n + 1) q) p max (H (n + 1) a) b + max (H (n + 1) b) a
      theorem BooleanIsoperimetry.boundaryCost_le_of_interleaves_core (n p q a b : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (h_inter : CascadeInterleaves (n + 1) p q a b) :
      max (H (n + 1) p) q + max (H (n + 1) q) p max (H (n + 1) a) b + max (H (n + 1) b) a

      Frankl-Füredi inductive boundary monotonicity for a cascade-interleaving profile.

      This is the remaining local compression/Macaulay step in the form actually used by the Harper induction: the arbitrary split has capacity bounds, and the proof may use the already-established lower-dimensional Harper inequality. The older capacity-free, ih-free version was stronger than the live proof route and hid the PDF's inductive input.

      theorem BooleanIsoperimetry.harper_macaulay_joint (n : ) {a b p q : } (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hba : b a) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + max (H (n + 1) b) a

      Frankl–Füredi joint Macaulay kernel — the single unified leaf (LE ∪ GT). For the canonical cascade split (p, q) of a + b at level n + 1 (so (p,q) is the split of a + b in the (n+2)-cube, while the boundary values live in the (n+1)-cube), in the ordered regime b ≤ a, the canonical boundary sum H (n+1) p + H (n+1) q is bounded by the arbitrary-split boundary functional H (n+1) a + max (H (n+1) b) a.

      theorem BooleanIsoperimetry.harper_macaulay_window_le (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b

      Frankl–Füredi Case I, joint-sum Macaulay kernel (the LE corollary). Now a proved corollary of the unified kernel harper_macaulay_joint: in the LE regime a ≤ H (n+1) b the boundary max (H (n+1) b) a collapses to H (n+1) b (max_eq_left).

      theorem BooleanIsoperimetry.harper_macaulay_slack_gt (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hq_pos : 1 q) (hba : b a) (hcase : H (n + 1) b < a) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + a

      Frankl–Füredi Case II, GT joint slack kernel (the GT corollary). Now a proved corollary of the unified kernel harper_macaulay_joint: in the GT regime H (n+1) b < a the boundary max (H (n+1) b) a collapses to a (max_eq_right).

      This is the genuine joint slack bound; the previously-exposed split into H (n+1) q ≤ a and H (n+1) p ≤ H (n+1) a is false (see the commented note above), so the GT bound must keep H (n+1) p + H (n+1) q ≤ H (n+1) a + a intact.

      theorem BooleanIsoperimetry.harper_macaulay_shadow_gt (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hba : b a) (hcase : H (n + 1) b < a) (hq_pos : 1 q) :
      gShiftIntervalCount (n + 1) b q gShiftIntervalCount (n + 1) p a + (a - H (n + 1) b)

      GT Macaulay shadow slack comparison (PDF-faithful shadow-count form). Now a proved corollary of the joint slack kernel harper_macaulay_slack_gt: harper_gt_split_between supplies b ≤ q ≤ p ≤ a, the shadow windows rewrite to H differences, and the goal follows by arithmetic (H_mono plus omega).

      theorem BooleanIsoperimetry.harper_step_le_canonical_sum (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b

      Frankl–Füredi Case I, canonical-sum core. For the canonical cascade split (p, q) of a + b at dimension n + 1, in the LE regime b ≤ a ≤ H (n+1) b, the canonical boundary sum H(n+1)p + H(n+1)q is bounded by the arbitrary-split boundary sum H(n+1)a + H(n+1)b.

      This is the genuine max-free Macaulay heart of the LE case. It is strictly narrower than harper_step_total: it adds the ordering hypothesis b ≤ a and the case hypothesis a ≤ H (n+1) b, fixes the canonical split, and has the two outer maxs already collapsed. It mentions only H, CascadeSplit, and the level-n induction hypothesis ih, and is non-circular.

      NOTE (cycle37.aristotle). This replaces the previous leaf harper_step_le_window_shift, which asserted the endpoint order a ≤ p together with a gShiftIntervalCount window inequality. An exact computational model of H via the cascade recursion shows a ≤ p is false in the LE regime (176 counterexamples for n ≤ 4, smallest n = 1, a = 4, b = 2 with (p,q)=(3,3)): the canonical split can place less than a in its lower slice, so the windows [a,p) and [q,b) are not nested as that lemma required. The sum form proved here is true (0 counterexamples for n ≤ 6) and is the correct LE leaf.

      Frankl–Füredi LE/GT decomposition of the Harper inductive step #

      NOTE (cycle36.aristotle). A previous cycle exposed the kernel as a single Int "profile shadow" leaf franklFuredi_profile_residual_nonneg, asserting

      weightedNestedLayerCost n (binomLayerWeight n) p0 p1 q0 q1
        - weightedNestedLayerCost n (binomLayerWeight n) a0 a1 b0 b1
          ≤ (boundaryCostH (n+1) a b : ℤ) - (pairedCascadeBoundary n p0 p1 q0 q1 : ℤ)
      

      with binomLayerWeight n l = n + 1 - l. An exact computational model of H via the cascade recursion shows this residual statement is false (187 counterexamples for n ≤ 3, the smallest being n = 0, a = 0, b = 2). The reason is structural: the only antitone layer weights w for which Σ w l · (massₚ l − mass_a l) is sandwiched in [0, B − P] over all profiles are the constant weights — and for those the sum is identically 0 because total layer mass is conserved. Hence no single per-layer Abel weight can bridge the coarse layer gap to the boundary deficit; the linear weight n + 1 − l over-counts. (The coarse direction franklFuredi_profile_coarse_layer_gap_nonneg, i.e. Wₚ ≥ W_a, is genuinely true and kept above as reusable Abel infrastructure, but it is not sufficient.)

      The false leaf has therefore been removed and the kernel re-decomposed along the standard Frankl–Füredi case split (which collapses the two outer maxs of boundaryCostH): a max-free LE case (harper_step_le) and a max-free GT case (harper_step_gt). Both statements are true (verified by the exact cascade model for all b ≤ a with a, b ≤ 2^(n+1) and n ≤ 4) and strictly narrower than harper_step_total, and harper_step_total is now a proved consequence of them via boundaryCostH_eq_H_add_slack.

      theorem BooleanIsoperimetry.harper_step_le_sum_form (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 2) (a + b) H (n + 1) a + H (n + 1) b

      Frankl–Füredi Case I, sum form. In the LE regime a ≤ H (n+1) b, the max-form boundary cost collapses to the plain sum H (n+1) a + H (n+1) b. This lemma is now a proved reduction to the canonical-sum core harper_step_le_canonical_sum: after choosing the canonical split (p,q) of a+b and dispatching the degenerate q = 0 branch, the positive branch rewrites H (n+2) (a+b) to H(n+1)p + H(n+1)q and applies the core.

      theorem BooleanIsoperimetry.harper_step_le (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hba : b a) (hcase : a H (n + 1) b) :
      H (n + 2) (a + b) H (n + 1) a + H (n + 1) b
      theorem BooleanIsoperimetry.harper_step_gt (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hba : b a) (hcase : H (n + 1) b < a) :
      H (n + 2) (a + b) H (n + 1) a + a

      Frankl–Füredi Case II (the GT regime). Under b ≤ a and H (n+1) b < a, the boundary cost boundaryCostH (n+1) a b collapses to H (n+1) a + a. This is the max-free combinatorial heart of Harper's n → n+1 step in the GT regime.

      It is strictly narrower than harper_step_total (adds b ≤ a and the case hypothesis H (n+1) b < a, with the outer maxs eliminated), mentions only H and ih, and is non-circular.

      theorem BooleanIsoperimetry.harper_step_total_le_case (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hba : b a) :
      H (n + 2) (a + b) boundaryCostH (n + 1) a b

      The b ≤ a branch of harper_step_total, assembled from the two max-free case lemmas by collapsing the slack form of boundaryCostH (boundaryCostH_eq_H_add_slack). Sorry-free.

      theorem BooleanIsoperimetry.harper_step_total (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) :
      H (n + 2) (a + b) boundaryCostH (n + 1) a b
      theorem BooleanIsoperimetry.harper_extremal_step_nested_pos (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) :
      H (n + 1) p + H (n + 1) q max (H (n + 1) a) b + max (H (n + 1) b) a

      The four-block Frankl-Furedi profile bridge, now a proved consequence of the pure-H kernel harper_step_total. Using pairedCascadeBoundary_pos_eq_H_succ, the four-block boundary on the left is exactly H (n+2) (a+b), and the conclusion is then harper_step_total.

      theorem BooleanIsoperimetry.harper_extremal_step_nested (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q p0 p1 q0 q1 a0 a1 b0 b1 : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hp0 : p0 2 ^ n) (hp1 : p1 2 ^ n) (hq0 : q0 2 ^ n) (hq1 : q1 2 ^ n) (ha0 : a0 2 ^ n) (ha1 : a1 2 ^ n) (hb0 : b0 2 ^ n) (hb1 : b1 2 ^ n) (hp_split : CascadeSplit n p p0 p1) (hq_split : CascadeSplit n q q0 q1) (ha_split : CascadeSplit n a a0 a1) (hb_split : CascadeSplit n b b0 b1) :
      max (max (H n p0) p1 + max (H n p1) p0) q + max (max (H n q0) q1 + max (H n q1) q0) p max (max (H n a0) a1 + max (H n a1) a0) b + max (max (H n b0) b1 + max (H n b1) b0) a

      The four-block Macaulay/cascade interleaving comparison with explicit witnesses. This exposes the nested canonical splits at level n for all components, reducing the H (n+1) expressions to purely n-level max combinations.

      theorem BooleanIsoperimetry.harper_extremal_step (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hcasc : CascadeSplit (n + 1) (a + b) p q) :
      max (H (n + 1) p) q + max (H (n + 1) q) p max (H (n + 1) a) b + max (H (n + 1) b) a

      The single remaining open step. The Harper/Macaulay extremal inequality at level n + 1, derived from the same inequality at all lower levels (ih).

      This is exactly harper_extremal_n shifted one dimension up (note the identical shape: the conclusion is the cross boundary cost of the canonical cascade split being minimal), so it is the genuine n → n+1 inductive step of Harper's vertex-isoperimetric theorem, with nothing else attached.

      Compared with the original _core lemmas, this statement is strictly narrower: it has no case hypothesis, no ordering b ≤ a, no positivity 1 ≤ q, and none of the eight level-n sub-component variables / their cascade splits / bounds. It mentions only H, CascadeSplit, and ih, and is non-circular (it does not refer to any later result such as harper_core, harper_bc_min, macaulay_optimization, or H_inequality_core).

      It has no elementary proof: H (n+1) is neither convex nor concave and the cross boundary cost is not a unimodal function of the split, so the genuine Kruskal–Katona / Macaulay cascade-interleaving argument is required.

      theorem BooleanIsoperimetry.harper_nested_g_le (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : a H (n + 1) b) :
      p + q = a + b∀ (hcasc : CascadeSplit (n + 1) (a + b) p q), H (n + 1) p + H (n + 1) q H (n + 1) a + H (n + 1) b

      Clean H (n+1)-level form of Case I of the n → n+1 inductive step. Given the canonical cascade split (p, q) of a + b at level n+1, and that the larger part a still fits inside the neighbourhood of the smaller part (a ≤ H (n+1) b), the split boundary sum is no larger than H (n+1) a + H (n+1) b.

      This is now a short consequence of harper_extremal_step (the unified extremal step) together with canonical_boundaryCost_eq_H_add and the case hypotheses.

      theorem BooleanIsoperimetry.harper_nested_g_gt (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : H (n + 1) b < a) :
      p + q = a + b∀ (hcasc : CascadeSplit (n + 1) (a + b) p q), H (n + 1) p + H (n + 1) q H (n + 1) a + a

      Clean H (n+1)-level form of Case II of the n → n+1 inductive step. Given the canonical cascade split (p, q) of a + b at level n+1, and that the larger part a exceeds the neighbourhood of the smaller part (H (n+1) b < a), the split boundary sum is no larger than H (n+1) a + a.

      This is now a short consequence of harper_extremal_step together with canonical_boundaryCost_eq_H_add and the case hypotheses.

      theorem BooleanIsoperimetry.harper_subadd_le_cascade_pos_succ_nested_core (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q p0 p1 q0 q1 a0 a1 b0 b1 : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : a H n b0 + if 1 b1 then H n b1 else b0) (hpq : p + q = a + b) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hp0 : p0 2 ^ n) :
      p1 2 ^ n∀ (hq0 : q0 2 ^ n), q1 2 ^ n∀ (ha0 : a0 2 ^ n), a1 2 ^ n∀ (hb0 : b0 2 ^ n), b1 2 ^ n∀ (hp_split : CascadeSplit n p p0 p1) (hq_split : CascadeSplit n q q0 q1) (ha_split : CascadeSplit n a a0 a1) (hb_split : CascadeSplit n b b0 b1), (H n p0 + if 1 p1 then H n p1 else p0) + (H n q0 + if 1 q1 then H n q1 else q0) (H n a0 + if 1 a1 then H n a1 else a0) + (H n b0 + if 1 b1 then H n b1 else b0)
      theorem BooleanIsoperimetry.harper_subadd_le_cascade_pos_succ_nested (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q p0 p1 q0 q1 a0 a1 b0 b1 : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : a max (H n b0) b1 + max (H n b1) b0) (hpq : p + q = a + b) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hp0 : p0 2 ^ n) (hp1 : p1 2 ^ n) (hq0 : q0 2 ^ n) (hq1 : q1 2 ^ n) (ha0 : a0 2 ^ n) (ha1 : a1 2 ^ n) (hb0 : b0 2 ^ n) (hb1 : b1 2 ^ n) (hp_split : CascadeSplit n p p0 p1) (hq_split : CascadeSplit n q q0 q1) (ha_split : CascadeSplit n a a0 a1) (hb_split : CascadeSplit n b b0 b1) :
      max (H n p0) p1 + max (H n p1) p0 + (max (H n q0) q1 + max (H n q1) q0) max (H n a0) a1 + max (H n a1) a0 + (max (H n b0) b1 + max (H n b1) b0)
      theorem BooleanIsoperimetry.harper_subadd_gt_cascade_pos_succ_nested_core (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q p0 p1 q0 q1 a0 a1 b0 b1 : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : (H n b0 + if 1 b1 then H n b1 else b0) < a) (hpq : p + q = a + b) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hp0 : p0 2 ^ n) :
      p1 2 ^ n∀ (hq0 : q0 2 ^ n), q1 2 ^ n∀ (ha0 : a0 2 ^ n), a1 2 ^ n∀ (hb0 : b0 2 ^ n), b1 2 ^ n∀ (hp_split : CascadeSplit n p p0 p1) (hq_split : CascadeSplit n q q0 q1) (ha_split : CascadeSplit n a a0 a1) (hb_split : CascadeSplit n b b0 b1), (H n p0 + if 1 p1 then H n p1 else p0) + (H n q0 + if 1 q1 then H n q1 else q0) (H n a0 + if 1 a1 then H n a1 else a0) + a
      theorem BooleanIsoperimetry.harper_subadd_gt_cascade_pos_succ_nested (n : ) (ih : m < n + 1, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q p0 p1 q0 q1 a0 a1 b0 b1 : } (ha : a 2 ^ (n + 1)) (hb : b 2 ^ (n + 1)) (hp : p 2 ^ (n + 1)) (hq : q 2 ^ (n + 1)) (hq_pos : 1 q) (hb_le_a : b a) (hcase : max (H n b0) b1 + max (H n b1) b0 < a) (hpq : p + q = a + b) (hcasc : CascadeSplit (n + 1) (a + b) p q) (hp0 : p0 2 ^ n) (hp1 : p1 2 ^ n) (hq0 : q0 2 ^ n) (hq1 : q1 2 ^ n) (ha0 : a0 2 ^ n) (ha1 : a1 2 ^ n) (hb0 : b0 2 ^ n) (hb1 : b1 2 ^ n) (hp_split : CascadeSplit n p p0 p1) (hq_split : CascadeSplit n q q0 q1) (ha_split : CascadeSplit n a a0 a1) (hb_split : CascadeSplit n b b0 b1) :
      max (H n p0) p1 + max (H n p1) p0 + (max (H n q0) q1 + max (H n q1) q0) max (H n a0) a1 + max (H n a1) a0 + a
      theorem BooleanIsoperimetry.harper_subadd_le_cascade_pos (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hp : p 2 ^ n) (hq : q 2 ^ n) (hq_pos : 1 q) (hb_le_a : b a) (hcase : a H n b) (hpq : p + q = a + b) (hcasc : CascadeSplit n (a + b) p q) :
      H n p + H n q H n a + H n b
      theorem BooleanIsoperimetry.harper_subadd_gt_cascade_pos (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hp : p 2 ^ n) (hq : q 2 ^ n) (hq_pos : 1 q) (hb_le_a : b a) (hcase : H n b < a) (hpq : p + q = a + b) (hcasc : CascadeSplit n (a + b) p q) :
      H n p + H n q H n a + a
      theorem BooleanIsoperimetry.harper_subadd_le (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hb_le_a : b a) (hcase : a H n b) :
      H (n + 1) (a + b) H n a + H n b

      Clean subadditivity form of Case I of Harper's inductive step.

      This is the genuine combinatorial content (non-circular: it mentions only H and the lower-dimensional induction hypothesis ih). It says that when the larger part a already fits inside the neighborhood of the smaller part (a ≤ H n b), the closed neighborhood of the initial segment of size a + b in the (n+1)-cube is no larger than H n a + H n b. Via H_succ_cascade and canonical_boundaryCost_eq_H_add this is exactly harper_bc_min_case_le.

      theorem BooleanIsoperimetry.harper_subadd_gt (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hb_le_a : b a) (hcase : H n b < a) :
      H (n + 1) (a + b) H n a + a

      Clean form of Case II of Harper's inductive step.

      Non-circular: mentions only H and the lower-dimensional ih. When the larger part a exceeds the neighborhood of the smaller part (H n b < a), the closed neighborhood of the size-(a+b) initial segment in the (n+1)-cube is no larger than H n a + a. Via H_succ_cascade and canonical_boundaryCost_eq_H_add this is exactly harper_bc_min_case_gt.

      theorem BooleanIsoperimetry.harper_bc_min_case_le (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hp : p 2 ^ n) (hq : q 2 ^ n) (hq_pos : 1 q) (hb_le_a : b a) (hcase : a H n b) :
      p + q = a + b∀ (hcasc : CascadeSplit n (a + b) p q), H n p + H n q H n a + H n b
      theorem BooleanIsoperimetry.harper_bc_min_case_gt (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hp : p 2 ^ n) (hq : q 2 ^ n) (hq_pos : 1 q) (hb_le_a : b a) (hcase : H n b < a) :
      p + q = a + b∀ (hcasc : CascadeSplit n (a + b) p q), H n p + H n q H n a + a
      theorem BooleanIsoperimetry.harper_bc_min (n : ) (ih : m < n, ∀ (x y : ), x 2 ^ my 2 ^ mH (m + 1) (x + y) max (H m x) y + max (H m y) x) {a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (hp : p 2 ^ n) (hq : q 2 ^ n) (hpq : p + q = a + b) (hcasc : CascadeSplit n (a + b) p q) :
      max (H n p) q + max (H n q) p max (H n a) b + max (H n b) a
      theorem BooleanIsoperimetry.harper_core (n a b : ) :
      a 2 ^ nb 2 ^ nH (n + 1) (a + b) max (H n a) b + max (H n b) a

      Harper's vertex-isoperimetric recursion inequality (the genuine combinatorial core): the initial segment of size a + b in the (n+1)-cube has the smallest closed 1-neighborhood among all sets obtained by taking initial segments of sizes a, b in the two slices. Equivalently, in H-terms, H (n+1) (a+b) ≤ max (H n a) b + max (H n b) a.

      This is proved independently of boundaryCost, CascadeInterleaves, H_inequality_core, H_inequality, macaulay_optimization, and interleaving_boundaryCost_mono (all of which are stated later and ultimately depend on this lemma), so there is no circularity.

      noncomputable def BooleanIsoperimetry.boundaryCost (n a b : ) :

      The boundary cost of a split (a, b) in dimension n.

      Equations
      Instances For
        theorem BooleanIsoperimetry.interleaving_boundaryCost_mono {n p q a b : } (ha : a 2 ^ n) (hb : b 2 ^ n) (h_inter : CascadeInterleaves n p q a b) :

        Macaulay interleaving theorem: if (p, q) interleaves (a, b), then its boundary cost is smaller. Through the cascade recursion H_succ_cascade this reduces to Harper's recursion inequality harper_core.

        theorem BooleanIsoperimetry.H_inequality_core (n a b : ) :
        a 2 ^ nb 2 ^ nH (n + 1) (a + b) max (H n a) b + max (H n b) a

        The Harper boundary inequality, stated directly on H: H (n+1) (a+b) ≤ max (H n a) b + max (H n b) a.

        Via H_succ_cascade this is equivalent to macaulay_optimization (the canonical cascade split of a+b minimises the cross boundary expression), so it is the genuine combinatorial heart of Harper's vertex-isoperimetric theorem for the discrete cube.

        The supporting structure for this statement is fully developed above:

        • H_succ_cascade — the slice recursion H (n+1) k = max (H n p) q + max (H n q) p;
        • cascade_p_le_H_q — the compression property p ≤ H n q of the canonical split;
        • cascade_q_le_pq ≤ p;
        • H_mono, H_ge_self, H_le_cube, H_add_self_mono — monotonicity / growth of H;
        • H_eq_gShift_count — the explicit boundary count formula.
        theorem BooleanIsoperimetry.macaulay_optimization {n a b p q : } (ha : a 2 ^ n) (hb : b 2 ^ n) (h_casc : CascadeSplit n (a + b) p q) :
        max (H n p) q + max (H n q) p max (H n a) b + max (H n b) a

        The core Kruskal-Katona / Macaulay optimization inequality for the cascade split. For any canonical split (p, q) of a + b, the cross-sum of their boundary sizes is bounded by the sum of boundary bounds for the original sizes a and b.

        theorem BooleanIsoperimetry.H_split_opt {n a b : } (ha : a 2 ^ n) (hb : b 2 ^ n) :
        max (H n (slice0 (simplicialInitSeg (n + 1) (a + b))).card) (slice1 (simplicialInitSeg (n + 1) (a + b))).card + max (H n (slice1 (simplicialInitSeg (n + 1) (a + b))).card) (slice0 (simplicialInitSeg (n + 1) (a + b))).card max (H n a) b + max (H n b) a
        theorem BooleanIsoperimetry.H_inequality (n a b : ) (ha : a 2 ^ n) (hb : b 2 ^ n) :
        H (n + 1) (a + b) max (H n a) b + max (H n b) a