Aggregate gates #
An operation of arity k aggregates in a commutative monoid T when its value is read off a
product of contributions of its arguments: f x = ψ (∏ i, φ i (x i)). Unbounded AND, OR, and
parity aggregate in a monoid with two elements, and counting modulo m aggregates in ZMod m.
If every special gate of a program aggregates in T, the special gates have a ledger in the
monoid T ^ k of functions from the k special gates to T
(Frontier.exists_ledger_of_aggregates): the contribution of a wire to a special gate is the
product of its contributions to the slots of that gate that read it. So k aggregate gates cost
k log |T| in the frontier lower bound.
Main definitions #
Frontier.Aggregates f T: the operationfaggregates inT.
Main results #
Frontier.exists_ledger_of_aggregates: aggregate gates have a ledger.Frontier.aggregates_and,aggregates_or,aggregates_xor,aggregates_countMod: examples.
An operation of arity k aggregates in a commutative monoid T when its value is read
off a product of contributions of its arguments.
Equations
Instances For
Aggregate gates have a ledger. If every special gate of a program aggregates in T,
the special gates have a ledger in the monoid of functions from the special gates to T.
Unbounded counting modulo m aggregates in ZMod m under addition: here the gate tests
whether the number of true arguments lies in a set R of residues.