Deletions in gate elimination #
Case 1 of the preliminary reductions of Mishra and Santhanam, Section 4.1
(State.DeletionAvailable): one of the deletions (D1)–(D4) applies, lowering s, keeping a
and not increasing W (State.Valid.step_of_deletion).
- (D1) a gate computing, on the solutions of the affine system, a constant or a literal of one of
its inputs is deleted, and (D2) so is a gate other than the output with no children; both are
State.Reductions throughState.reduction_deleteGate. - (D3) an equation with at most two terms is deleted (
State.Valid.exists_reduction_delete). - (D4) an unpaired parameter whose only child is an equation is exchanged with an auxiliary
variable of that equation, which is then dropped (
State.Valid.unit_delete). This changes the parameters, so it is not aState.Reduction; its accounting is done directly.
Main definitions #
Cslib.Circuits.Boolean.AffineDisperser.State.DeletionAvailable: the configuration of Case 1.
Main results #
Cslib.Circuits.Boolean.AffineDisperser.State.Valid.unit_delete: the deletion (D4).Cslib.Circuits.Boolean.AffineDisperser.State.Valid.step_of_deletion: a deletion is a step of gate elimination.
References #
The configuration of Case 1: one of the deletions (D1)–(D4) applies. An equation has at most two terms (D3); a gate computes, on the solutions of the affine system, a constant or a literal of one of its inputs (D1); a gate other than the output has no children (D2); or an unpaired parameter has an equation as its only child (D4).
Instances For
In a valid state with d < a, the output is not a literal of a parameter, by
Lemma 2.3.
(D4): an unpaired parameter x whose only child is the equation e is exchanged with an
auxiliary variable depending on it and then deleted with e; this keeps a and lowers W.
Case 1 of the preliminary reductions: a deletion lowers s, keeps a and does not
increase W.