The split lemma for threshold programs #
Fix a split of the coordinates into U and its complement, and suppose every gate of a
threshold program reads inputs from one side only (C.support j ⊆ U or C.support j ⊆ Uᶜ).
Processing the gates in order while maintaining a rectangle P × Q on which every earlier gate
is constant, a gate reading only U is a function of p alone on the rectangle, so splitting
P by its value and keeping the larger half costs a factor 2 on P; a gate whose support
lies in a fixed set A ⊆ U on which all of P agrees is constant and costs nothing. The second
side is symmetric with B ⊆ Uᶜ.
exists_rectangle_of_split_internal: starting from the inputs vanishing onAand onB, the final rectangle hasfconstant, with2 ^ (|U| - |A|) ≤ |P| · 2 ^ #{j : support j ⊆ U, support j ⊄ A}and symmetrically forQ.
A gate whose support lies in U reads a glued input through p alone.
A gate whose support lies in Uᶜ reads a glued input through q alone.
The invariant after the first m gates: a rectangle P × Q, with P vanishing on A
and Q vanishing on B, on which every gate below m takes the value v, and whose sides
have lost at most a factor 2 per counted gate.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The split lemma. If every gate of C reads inputs from U only or from Uᶜ only,
then for all A ⊆ U and B ⊆ Uᶜ there is a rectangle P × Q on which f is constant, with
2 ^ (|U| - |A|) ≤ |P| · 2 ^ #{j : support j ⊆ U, support j ⊄ A} and
2 ^ (|Uᶜ| - |B|) ≤ |Q| · 2 ^ #{j : support j ⊆ Uᶜ, support j ⊄ B}.