One layer of Uhlig's construction #
Split the input of f into a prefix of p bits and a suffix of w bits. For each of the
2 ^ p prefixes, the restriction of f is a function of the suffix. Uhlig's code of these
restrictions gives 2 ^ p + 1 resource functions on w bits (resource). Group 2 t copies
into t pairs. In each pair, every resource reads the suffix of the copy that uses it
(BitString.Uhlig.first, BitString.Uhlig.second); each copy then sums its resources. Hence
t copies of every resource yield 2 t copies of f, at an overhead linear in t.
The routing and decoding gates are disjunctive normal forms of the two prefixes in a pair, so
their number is polynomial in 2 ^ p and w. This is far from optimal, but it is negligible in
the recursion of Uhlig, where 2 ^ p is polynomial in the input length.
Sizes count all gates, including constants and negations. The theorem bounds circuit size; it does not certify the running time of any circuit constructor.
Main definitions #
Cslib.Circuits.Boolean.MassProduction.Uhlig.restriction: the restrictions offto prefixes, numbered byBitString.equivFin.Cslib.Circuits.Boolean.MassProduction.Uhlig.resource: Uhlig's resource functions.Cslib.Circuits.Boolean.MassProduction.Uhlig.layerOverhead: the per-pair gate budget.
Main results #
Cslib.Circuits.Boolean.MassProduction.Uhlig.complexity_directProduct_two_mul_le: if every function onwinputs hastcopies of size at mostB, every function onp + winputs has2 tcopies of size at most(2 ^ p + 1) * B + t * layerOverhead p w.
References #
- D. Uhlig, Networks computing Boolean functions for multiple input values.
- I. Wegener, The Complexity of Boolean Functions, proof of Theorem 10.2.3.
- Simplifies MassProduction/UhligRoutingCircuit.lean, MassProduction/UhligDecoder.lean and MassProduction/UhligLayer.lean in S. Schlesinger, Boolean circuit mass production formalization.
The restriction of f to prefix number a, as a function of the suffix z. It is false
when a numbers no prefix.
Instances For
Resource j of Uhlig's construction: position j of the code of the restrictions.
Instances For
Restricting to the number of the actual prefix evaluates f.
The gate budget of one disjunctive normal form over the two prefixes of a pair.
Instances For
The gates spent on each pair, besides the resource circuits.
Instances For
If the decoder reads the inputs and, for every resource, its value on the routed
suffixes of pair i, then copy s of pair i decodes to f on that copy's input.
One layer of Uhlig's construction. If every function on w inputs has t
independent copies of size at most B, then every function on p + w inputs has 2 t
independent copies of size at most (2 ^ p + 1) * B + t * layerOverhead p w.