Disjoint pairs of conjunction gates sharing primary inputs #
Pairs refer to actual program indices. Both endpoints have exactly two distinct primary inputs, and different pairs have disjoint gate endpoints.
structure
Algebraic.Aggregate.Geometry.Shared.PrimaryPairing
{n g : ℕ}
(p : Program signature n g)
:
Gate-disjoint ordered pairs sharing a primary input.
The selected pairs of actual gate indices.
Each endpoint is an actual exact-two conjunction gate.
A pair contains two different gates.
- overlap (e : Fin g × Fin g) : e ∈ self.pairs → ∃ j ∈ primaryInputs (p.lines e.1), j ∈ primaryInputs (p.lines e.2)
The two gates have a common primary variable.
No gate occurs in two selected pairs.
Instances For
def
Algebraic.Aggregate.Geometry.Shared.PrimaryPairing.remaining
{n g : ℕ}
{p : Program signature n g}
(P : PrimaryPairing p)
:
Exact-two conjunction gates not selected in any pair.