Restricting parameters and deleting constraints #
The simplifications of a fair semi-circuit, each preserving well-formedness:
SemiCircuit.restrict: restricting a parameter to a constant or to a literal of another parameter, the restrictions (UF) and (PF) of Mishra and Santhanam;SemiCircuit.deleteGate: deleting a gate that computes a literal of one of its inputs, or a constant, or that is unused, rerouting its uses, the deletions (D1) and (D2);SemiCircuit.deleteEqn: deleting an equationv = ℓtogether with its auxiliary variablev, reroutingvtoℓ, the deletion (D3);SemiCircuit.dropEqn: deleting an equation together with an auxiliary variable occurring nowhere else, the second half of (D4), andSemiCircuit.dropTrivialEqn: deleting an equation without terms.
A consistent assignment of a restriction is consistent for the original semi-circuit once the
restricted parameter takes the value of its literal (SemiCircuit.consistent_restrict), and
consistent assignments of the deletions lift to the original semi-circuit
(SemiCircuit.DeleteGateOK.liftsTo, SemiCircuit.DeleteEqnOK.liftsTo,
SemiCircuit.DropEqnOK.liftsTo, SemiCircuit.liftsTo_dropTrivialEqn).
Main definitions #
Cslib.Circuits.Boolean.SemiCircuit.restrict,Cslib.Circuits.Boolean.SemiCircuit.deleteGate,Cslib.Circuits.Boolean.SemiCircuit.deleteEqn,Cslib.Circuits.Boolean.SemiCircuit.dropEqn,Cslib.Circuits.Boolean.SemiCircuit.dropTrivialEqn: the simplifications.
Main results #
Cslib.Circuits.Boolean.SemiCircuit.WellFormed.restrict,WellFormed.deleteGate,WellFormed.deleteEqn,WellFormed.dropEqn,WellFormed.dropTrivialEqn: the simplifications preserve well-formedness.
References #
Restricting a parameter #
Restrict the parameter x to the literal ℓ: reroute x to ℓ and remove it from the
parameters.
Instances For
Restricting a parameter to a literal reading at most another parameter preserves well-formedness.
A consistent assignment of a restriction, with the restricted parameter given the value of its literal, is consistent for the original semi-circuit.
Deleting a gate #
Delete the gate J, rerouting its uses to the literal ℓ.
Instances For
The hypotheses of a gate deletion: J is a gate, ℓ reads at most an input of J, and
either J computes ℓ on the solutions of the affine system or nothing reads J.
Instances For
Deleting a gate preserves well-formedness.
A consistent assignment of a gate deletion lifts, by giving the deleted gate its value.
Deleting an equation #
Delete the equation e, which reads v = ℓ, and the auxiliary variable v, rerouting v
to ℓ.
Instances For
The hypotheses of deleting an equation: e is an equation stating v = ℓ for an auxiliary
variable v and a literal ℓ reading at most another term of e.
Instances For
A solution of the affine system after deleting v = ℓ extends to a solution of the original
system by giving v the value of ℓ.
Deleting an equation v = ℓ with its auxiliary variable preserves well-formedness.
A consistent assignment after deleting v = ℓ lifts, by giving v the value of ℓ.
Dropping an equation #
Delete the equation e together with an auxiliary variable v occurring nowhere else.
Instances For
The hypotheses of dropping an equation: the auxiliary variable v occurs in the equation
e and nowhere else.
Instances For
The value of the dropped auxiliary variable solving its equation.
Instances For
Dropping an equation with an auxiliary variable occurring only there preserves well-formedness.
A consistent assignment after dropping an equation lifts, by solving the equation for the dropped auxiliary variable.
Delete an equation without terms.
Instances For
An equation without terms of a well-formed semi-circuit always holds, so dropping it keeps the solutions of the affine system.