Reductions and their accounting #
Every reduction of the gate elimination of Mishra and Santhanam, Section 4
restricts some parameters and then deletes some gates and equations. A reduction
(State.Reduction f S S' F D T) from S to S' restricts the parameters of F, each to a
constant or to a literal of a remaining parameter with at least its children, drops the pairs
meeting F, and then deletes the constraints of the list D. Only the deletions of the
constraints of T may reroute a constraint to a parameter; the others reroute to constants or to
non-parameters. Reductions compose (State.Reduction.trans), and are built from restrictions
(State.Valid.reduction_restrict, State.Valid.reduction_fixConst) and deletions
(State.Valid.reduction_deleteGate, State.Valid.reduction_deleteEqn,
State.Valid.exists_reduction_deleteAll).
The accounting is done once for all reductions:
Δm = -|F|,Δs = -|D|andΔq = -k, wherekis the number of pairs meetingF(State.Reduction.m_add,State.Reduction.s_add,State.Reduction.q_add);- the unpaired parameters of
S'are those ofSoutsideF, together with the partners of members ofF(State.Reduction.mem_unpaired_iff); - a parameter that no deletion of
Treroutes to keeps at most its children outsideD(State.Reduction.wt_le_weight), and an unpaired parameter rerouted to only by deletions of constraints with another parameter as a parent does not gain weight in an exclusive state (State.Reduction.wt_le_of_exclusive); - the potential:
W' + 2 |D| + 3 k + ∑_{x ∈ F} wt(x) ≤ Wplus the pointwise gains (State.Reduction.W_le), and a reduction restricting at most two parameters withW' + 14 |F| ≤ W + 14 kis a step of gate elimination (State.Reduction.step).
Main definitions #
Cslib.Circuits.Boolean.AffineDisperser.State.Reduction: reductions.Cslib.Circuits.Boolean.AffineDisperser.State.Deletable: constraints deletable by (D1) or (D3).Cslib.Circuits.Boolean.AffineDisperser.State.Exclusive: no constraint has an unpaired isolated parameter and another parameter as parents.Cslib.Circuits.Boolean.AffineDisperser.State.fixConst: fixing a parameter to a constant.
Main results #
Cslib.Circuits.Boolean.AffineDisperser.State.Reduction.W_le: the potential of a reduction.Cslib.Circuits.Boolean.AffineDisperser.State.Reduction.step: reductions as steps of gate elimination.Cslib.Circuits.Boolean.AffineDisperser.State.Valid.exists_reduction_deleteAll: deleting deletable constraints.
References #
Exclusive states #
No constraint has both an unpaired isolated parameter and another parameter as parents.
Instances For
In an exclusive state, an unpaired parameter sharing a child with another parameter has degree at least two.
Deletable constraints #
The children of a parameter fixed to a constant are deletable.
After deleting the gate J rerouted to a constant, the gates reading J are deletable.
Reductions #
A reduction from S to S': the parameters of F are restricted, each to a constant or to
a literal of a remaining parameter having at least its children, the pairs meeting F are
dropped, and the constraints of D are deleted. The children of a remaining parameter lose the
deleted constraints and gain none, unless a deletion of a constraint of T that was one of its
children reroutes to it; and the other constraints stay deletable.
- valid : S'.Valid f
The new state is valid.
- subset : F ⊆ S.params
The restricted names are parameters.
The restricted parameters are removed.
The pairs meeting the restricted parameters are dropped.
The deleted constraints are removed.
- children (u : ℕ) : u ∈ S'.params → S'.children u ⊆ S.children u \ D.toFinset ∨ ∃ N ∈ T, N ∈ S.children u
A remaining parameter gains no child, unless a deletion of
Treroutes to it. The other constraints stay deletable.
Instances For
A reduction followed by a reduction restricting nothing.
A reduction may record more deletions as possibly rerouting to parameters.
Accounting #
The unpaired parameters after a reduction: the unpaired parameters outside F and the
partners of members of F.
A paired parameter that is not the partner of a member of F stays paired.
A parameter that no deletion of T reroutes to keeps at most its children outside D.
A parameter that no deletion of T reroutes to keeps at most its children outside D.
A parameter that is not the partner of a member of F, and that no deletion reroutes to,
does not gain weight.
A used parameter that is not the partner of a member of F gains at most one in weight.
A parameter all of whose children are deleted, and that no deletion reroutes to, becomes unused.
An unpaired parameter does not gain weight when it has degree at least two if some deletion may reroute to it.
In an exclusive state, a parameter that is not the partner of a member of F does not gain
weight when every deletion that may reroute to it deletes a constraint with another parameter as a
parent.
The potential of a reduction. If every parameter outside F gains at most gain and
loses at least loss in weight, then
W' + 2 |D| + 3 k + ∑_{x ∈ F} wt(x) + ∑ loss ≤ W + ∑ gain, where k is the number of pairs
meeting F.
A reduction restricting at most two parameters, and at least one parameter or constraint,
with W' + 14 |F| ≤ W + 14 k, is a step of gate elimination.
Deleting one constraint with at most two parameters as parents is a step of gate elimination: only those parents may gain weight, each at most one.
Restrictions #
Restricting a parameter x to a constant, or to a literal of a remaining parameter y with
at least the children of x and, if x is paired, its partner, is a reduction.
Fixing a parameter to a constant #
Deletions #
Deleting a gate is a reduction; it may reroute only to the parameter read by the literal.
Deleting a gate that is constant on the solutions of the affine system is a reduction rerouting nothing.
Deleting an equation v = ℓ is a reduction; it may reroute only to the parameter read by
the literal.