Size lower bounds from bounded fan-in #
Unfolding a frontier through a bounded-fan-in program controls how many original inputs can reach the outputs. Essential inputs therefore give a lower bound on circuit size.
Main results #
Cslib.Circuits.Program.card_biUnion_wireSupport_le_cost: supporting inputs are bounded by the frontier size plus the program cost under any weight bounding arities by1 + w op.Cslib.Circuits.Circuit.card_inputSupport_le_size: a circuit of fan-inrwithmoutputs has at mostm + (r - 1) sizesupporting inputs.Cslib.Circuits.Circuit.essential_le_size: the same bound for essential inputs of the computed function.Cslib.Circuits.Circuit.card_inputSupport_le_depth,Cslib.Circuits.Circuit.essential_le_depth: at depthd, an output of a circuit of fan-inrdepends on at mostr ^ dinputs.Cslib.Circuits.Program.FanInAtMost.mono,Cslib.Circuits.Circuit.FanInAtMost.mono: fan-in bounds are monotone in the bound.Cslib.Circuits.Program.FanInAtMost.append,Cslib.Circuits.Circuit.FanInAtMost.comp,Cslib.Circuits.Circuit.FanInAtMost.append: fan-in bounds of composed programs and circuits.Cslib.Circuits.Circuit.fanInAtMost_pi: single-output circuits side by side keep a common fan-in bound.
Embedding a wire into a widened program by Wire.castSucc is injective.
The inputs supporting a frontier of wires in a program are bounded by the size of the frontier
plus the cost of the program, for any weight function that bounds gate arities by 1 + w op.
A fan-in-r circuit has at most m + (r - 1) * c.size
supporting inputs.
If a circuit has fan-in at most r, computes target, and every input in
selected is essential to target, then selected has at most
m + (r - 1) * c.size elements.
Depth #
In a program of fan-in r, a wire of depth d is supported by at most max 1 r ^ d
inputs.
A circuit of fan-in r with m outputs and depth d has at most m (max 1 r) ^ d
supporting inputs.
If a circuit of fan-in r and depth d computes target, and every input in selected is
essential to target, then selected has at most m (max 1 r) ^ d elements.
Composition #
A fan-in bound holds for every larger bound.
Continuing a program by another keeps a common fan-in bound.
A fan-in bound of a circuit holds for every larger bound.
Sequential composition keeps a common fan-in bound.
Parallel composition keeps a common fan-in bound.
Single-output circuits side by side keep a common fan-in bound.