The excess bound for threshold programs #
Fix a set F of inputs and a family ๐ of pairwise disjoint blocks covering the remaining
inputs, such that every gate either reads inputs from F only or has its residual support
(outside F) inside a single block. Write e_b for the number of gates whose nonempty residual
support lies in the block b, and ฯ_b := |b| - e_b for the excess of the block. If every
excess is at most M and the program computes a two-sided K-rectangle-free function with
K โค 2 ^ k, then n < |F| + s_in + M + 2k.
The proof disconnects the inputs of F (Program.restrictInputs), which turns the residual
supports into the supports of a program computing the restriction of f with the inputs of F
fixed to false. The blocks then split into two groups of excess at least k each
(exists_subset_sum_ge_internal), and the split lemma applied to the union U of one group,
with the saturated blocks (ฯ_b = 0) fixed, yields a rectangle P ร Q for the restricted
function. Fixing the coordinates of F โ Uแถ to false on the Q side (fixFalseRight)
gives a rectangle for f itself, shrinking Q by a factor of at most 2 ^ |F|
(card_le_card_image_fixFalseRight), which the count of Uแถ absorbs. Both sides then have at
least 2 ^ k elements.
Subset sum. Items of value at most M with total value at least 2k + M split into two
groups of value at least k each.
Splitting a sum of sizes by saturation: the saturated items (c โค e) contribute their size,
the unsaturated ones their excess c - e plus e.
The program C with the inputs of F disconnected: their weights are set to 0 in every
gate. On inputs vanishing on F, it evaluates as C.
Equations
- C.restrictInputs F = { inputWeight := fun (j : Fin s) (i : Fin n) => if i โ F then 0 else C.inputWeight j i, gateWeight := C.gateWeight, bias := C.bias, output := C.output }
Instances For
The gates whose residual support outside F is nonempty and lies in b.
Instances For
Over pairwise disjoint blocks, the residual gates number at most the input gates.
The gates of the disconnected program counted on the side W of a split, with the set X
fixed, lie in the unsaturated blocks of the group ๐ meeting W.
The excess bound. Let F be a set of inputs and ๐ a family of pairwise disjoint
blocks covering the inputs outside F, such that every gate reads inputs from F only or has
its residual support outside F inside a single block. If every block b has excess
|b| - e_b โค M, where e_b counts the gates with nonempty residual support inside b, and the
program computes a two-sided K-rectangle-free function with K โค 2 ^ k, then
n < |F| + s_in + M + 2k.