Preliminary reductions of gate elimination #
The six preliminary reductions of Mishra and Santhanam, Section 4.1, each
a step of gate elimination (State.Step) from a state whose configuration it names. Every
reduction but the deletion (D4) of State.Valid.unit_delete is a State.Reduction, so its
accounting is that of State.Reduction.step or State.Reduction.step_of_delete.
- Case 1,
State.DeletionAvailable: one of the deletions (D1)–(D4) applies (State.Valid.step_of_deletion, inAffineDisperser.Deletion). - Case 2,
State.AndOnIsolated: an AND-type gate reads an unpaired isolated parameterzand another parameterw; fixingwmakes the gate constant andzunused (State.Valid.step_of_andOnIsolated). - Case 3,
State.DegeneratePair: a paired parameter has degree0or at least2(State.Valid.step_of_degeneratePair). - Case 4,
State.PartnersShareChild: two partners have a common child; restricting one to a literal of the other makes it constant (State.Valid.step_of_partnersShareChild). - Case 5,
State.PairInSystem: a paired parameter occurs in the affine system; fixing its partner leaves it to (D4) (State.Valid.step_of_pairInSystem). - Case 6,
State.AndOnPair: an AND-type gate reads a paired parameter and another parameter (State.Valid.step_of_andOnPair).
Before them, affine gates reading no gates are moved into the affine system
(State.Valid.preparation_moveAffine). When no affine gate can be moved and neither Case 1 nor
Case 2 applies, the state is exclusive (State.Valid.exclusive): no constraint has an unpaired
isolated parameter and another parameter as parents. When none of the six cases applies, the
state is normal (State.Normal, State.Valid.step_or_normal): it is exclusive, every parameter
of the affine system is unpaired of degree at least two, and so is every parameter read by an
AND-type gate.
Main definitions #
Cslib.Circuits.Boolean.AffineDisperser.State.AndOnIsolated,State.DegeneratePair,State.PartnersShareChild,State.PairInSystem,State.AndOnPair: the configurations of Cases 2 to 6.Cslib.Circuits.Boolean.AffineDisperser.State.Normal: normal states.
Main results #
Cslib.Circuits.Boolean.AffineDisperser.State.Valid.step_of_andOnIsolated,step_of_degeneratePair,step_of_partnersShareChild,step_of_pairInSystem,step_of_andOnPair: the preliminary reductions are steps of gate elimination.Cslib.Circuits.Boolean.AffineDisperser.State.Valid.step_or_normal: a state where no affine gate can be moved has a step or is normal.
References #
Case 2: an AND-type gate on an isolated parameter #
The configuration of Case 2: an AND-type gate reads an unpaired isolated parameter z and
another parameter w.
Instances For
Case 2 of the preliminary reductions: fix w so that the AND-type gate becomes
constant and delete it; z becomes unused. If w is unpaired, Δa = -1 and ΔW ≤ -14;
otherwise the partner of w becomes unpaired, Δa = 0 and ΔW ≤ -4.
When Case 2 does not apply, an unpaired parameter read by an AND-type gate together with another parameter has degree at least two.
Moving affine gates #
A name larger than every equation name.
Instances For
Moving a movable gate into the affine system is a preparatory operation.
Exclusive states #
Consequence of Cases 1 and 2 of Mishra and Santhanam: when no affine gate can be moved, no deletion applies and Case 2 does not apply, the unique child of an unpaired isolated parameter is a gate whose other input is not a parameter.
Case 3: a paired parameter of degree other than one #
The configuration of Case 3: a paired parameter has degree 0 or at least 2.
Instances For
Case 3 of the preliminary reductions. If a paired parameter p is unused, fixing its
partner removes the pair: Δa = 0, ΔW ≤ -3. If p has two children, fixing p makes both
deletable; the partner becomes unpaired and no other weight grows: Δa = 0, ΔW ≤ 0.
Case 4: partners with a common child #
A gate whose operation is a projection or a negated projection computes a literal of an input, so (D1) applies.
When no deletion applies, an equation containing two parameters p and r reads
v + p + r = rhs for an auxiliary variable v.
Case 5: a paired parameter in the affine system #
The configuration of Case 5: a paired parameter occurs in the affine system.
Instances For
Case 5 of the preliminary reductions: if a paired parameter p occurs in the affine
system, fix its partner r and delete the unique child of r; then p is unpaired with at most
one child, an equation, and (D4) removes it if it remains: Δa = 0, ΔW ≤ 0.
Case 6: an AND-type gate on a paired parameter #
The configuration of Case 6: an AND-type gate reads a paired parameter p and another
parameter w.
Instances For
Case 6 of the preliminary reductions: an AND-type gate G reads a paired parameter p
with partner r and another parameter w. Fix r, fix w so that G becomes constant, and
delete G and the unique child of r; p becomes unpaired and unused. If w is unpaired,
Δa = -1 and ΔW ≤ -14; otherwise the partner of w becomes unpaired, Δa = 0 and
ΔW ≤ -3.
Normal states #
A state in which no affine gate can be moved and no preliminary reduction applies, recorded by the consequences used to restructure and eliminate the minimal AND.
No affine gate reading no gates remains.
- no_deletion : ¬S.DeletionAvailable
No deletion applies.
- exclusive : S.Exclusive
No constraint has an unpaired isolated parameter and another parameter as parents.
- system_param (x : ℕ) : x ∈ S.params → ∀ e ∈ S.eqns, x ∈ (S.eqn e).terms → x ∈ S.unpaired ∧ 2 ≤ S.deg x
Every parameter occurring in the affine system is unpaired of degree at least two.
- and_param (G : ℕ) : G ∈ S.gates → ¬SemiCircuit.IsAffineOp (S.gate G).op → ∀ (x y : ℕ), (S.gate G).left = SemiCircuit.Arg.node x ∧ (S.gate G).right = SemiCircuit.Arg.node y ∨ (S.gate G).left = SemiCircuit.Arg.node y ∧ (S.gate G).right = SemiCircuit.Arg.node x → x ∈ S.params → y ∈ S.params → x ≠ y → x ∈ S.unpaired ∧ 2 ≤ S.deg x
Both parameters read by an AND-type gate are unpaired of degree at least two.
Instances For
The preliminary reductions of Mishra and Santhanam, Section 4.1: if
d < a and no affine gate can be moved, one of Cases 1 to 6 applies, giving a step of gate
elimination, or the state is normal.