The cut theorem for threshold programs #
Fix a split of the coordinates into U and its complement, with no assumption on the supports
of the gates. Processing the gates in order while maintaining a rectangle P × Q on which every
earlier gate is constant, gate m is [α(p) + β(q) + c ≥ 0] on the rectangle, where
⟨w, glue p q⟩ = α(p) + β(q) and c collects the constant contributions of the earlier gates.
If the support of the gate misses
U, thenα = 0and the gate is a function ofqalone: keep the larger level set ofQ, paying a factor2on theQside (or nothing when the support is empty, since the gate is then constant).Symmetrically when the support misses
Uᶜ.Otherwise take medians
μ_PofαonPandμ_QofβonQ. Ifμ_P + μ_Q + c ≥ 0, the gate is1on{α ≥ μ_P} × {β ≥ μ_Q}; otherwise it is0on{α ≤ μ_P} × {β ≤ μ_Q}. Either way both sides keep at least half, paid by the gates touching each side.TwoSidedRectangleFree.lt_of_split_internal: for every splitU, either|U| < #{j : support j ∩ U ≠ ∅} + kor|Uᶜ| < #{j : support j ∩ Uᶜ ≠ ∅} + k, wheneverfis two-sidedK-rectangle-free withK ≤ 2 ^ k.TwoSidedRectangleFree.le_two_mul_add_internal:n ≤ 2 (s_in + k).
The invariant after the first m gates: a rectangle P × Q on which every gate below m
takes the value v, whose sides have lost at most a factor 2 per gate touching them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The cut lemma. For every split U there is a rectangle P × Q on which f is
constant, with 2 ^ |U| ≤ |P| · 2 ^ #{j : support j ∩ U ≠ ∅} and symmetrically for Q.
The cut theorem. If C computes a two-sided K-rectangle-free function with
K ≤ 2 ^ k, then under every split U one side has fewer than k more coordinates than gates
touching it.
The cut bound. If C computes a two-sided K-rectangle-free function with
K ≤ 2 ^ k, then n ≤ 2 (s_in + k).