Primary-input projection circuits -- definitions #
An input projection copies selected primary inputs to a positive output tuple. Each output uses one duplicated-input AND gate, and no internal gates are needed.
def
Complexity.Circuit.inputProjectionOutputGate
{N M : ℕ}
(mapInput : Fin M → Fin N)
(output : Fin M)
:
Gate Basis.andOr2 (N + 0)
Duplicated-input output gate that copies one selected primary input.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
Complexity.Circuit.projectInputs
{N M : ℕ}
[NeZero N]
[NeZero M]
(mapInput : Fin M → Fin N)
:
Circuit Basis.andOr2 N M 0
Circuit whose output tuple is the selected tuple of primary inputs.
Equations
- Complexity.Circuit.projectInputs mapInput = { gates := Fin.elim0, outputs := fun (output : Fin M) => Complexity.Circuit.inputProjectionOutputGate mapInput output, acyclic := ⋯ }