Symmetric gates reading their wires with multiplicities #
The extra gates of the bases of TC (majority) and of ACⁱ[q] (MOD_q) are symmetric: their value
depends only on the number of their true arguments. Unlike a conjunction or a disjunction, such a
gate depends on how often it reads a wire, so its fan-in is not bounded by the size of the circuit
(Unbounded.dedup does not apply). It is determined, however, by the distinct wires it reads and
their multiplicities.
Unbounded.multSignature is the unbounded fan-in basis together with a gate .gate N mult for
every N and every mult : Fin N → ℕ, reading N wires, the ith of them mult i times; under
Unbounded.multInterpretation G it computes G (∑ i, mult i) of the number of true arguments
counted with multiplicity (Unbounded.multWeight). Replacing every gate of a circuit over
Unbounded.extSignature by the gate reading its distinct wires with their multiplicities, and
every conjunction and disjunction by Unbounded.dedupLine, gives a circuit over multSignature
(Unbounded.multCircuit) computing the same function, when the extra gates of m arguments compute
G m of the number of their true arguments (Unbounded.eval_multCircuit), with the same size, no
larger depth, and every gate reading at most n + s wires (Unbounded.arity_lines_multCircuit_le).
Main definitions #
Cslib.Circuits.Boolean.Unbounded.multSignature,Cslib.Circuits.Boolean.Unbounded.multInterpretation: symmetric gates with multiplicities.Cslib.Circuits.Boolean.Unbounded.multCircuit: the circuit whose symmetric gates read their distinct wires with multiplicities.
Main results #
Cslib.Circuits.Boolean.Unbounded.eval_multCircuit,Cslib.Circuits.Boolean.Unbounded.depth_multCircuit_le,Cslib.Circuits.Boolean.Unbounded.arity_lines_multCircuit_le: aggregating multiplicities keeps the function and the size, makes no gate deeper, and bounds the fan-in by the number of inputs and gates.
References #
The arity of an operation: the number of distinct wires a symmetric gate reads.
Instances For
The signature of the unbounded fan-in basis with symmetric gates reading their wires with multiplicities. It is reducible, so that case analysis on its operations sees their arities.
Instances For
The meaning of the basis with symmetric gates: the gate of multiplicities mult computes
G (∑ i, mult i) of the number of true arguments counted with multiplicity.
Instances For
Aggregating multiplicities #
The line reading the distinct wires of line: a conjunction or disjunction reads each once,
and a symmetric gate reads each with its multiplicity in line.
Instances For
Aggregating multiplicities keeps the value of a line, when the extra gate of m arguments
computes G m of the number of its true arguments.
A line reading its distinct wires reads at most all n + g wires.
The circuit whose symmetric gates read their distinct wires with multiplicities, and whose conjunctions and disjunctions read their distinct wires once.
Instances For
Aggregating multiplicities keeps the size.
Aggregating multiplicities keeps the function computed, when the extra gate of m
arguments computes G m of the number of its true arguments.
Aggregating multiplicities makes no gate deeper.
Every gate of multCircuit C reads at most all n + C.size wires.
Fan-in reduction: the gates of multCircuit C have fan-in at most the number of inputs and
gates of C.