Restructuring to a minimal AND #
Section 4.2 of Mishra and Santhanam. In a normal state with
d < a (State.Normal), the minimal gate is an AND-type gate G on two distinct inputs among
the parameters and auxiliary variables (State.Valid.exists_minGate).
Restructuring (Section 4.2) uses preparatory operations (State.Preparation), which keep m,
s and q and do not increase W. An auxiliary input of G is exchanged with a parameter it
depends on by the affine reparameterisation (State.Valid.exists_preparation_auxIn_lt), and a
child of G reading an input of G is relabelled to read both inputs instead
(State.Valid.exists_preparation_childIn_lt). Afterwards G is a minimal AND
(State.MinimalAnd, State.Valid.exists_minimalAnd): it reads two unpaired parameters x and
y with 2 ≤ deg y ≤ deg x, no child of G reads them, and G is not the output and has a
child.
Elimination of the minimal AND (Section 4.3, State.Valid.step_of_minimalAnd) is in
Complexity/Computability/Circuit/Boolean/AffineDisperser/Elimination.lean.
Main definitions #
Cslib.Circuits.Boolean.AffineDisperser.State.auxIn,Cslib.Circuits.Boolean.AffineDisperser.State.childIn: the measures of the restructuring.Cslib.Circuits.Boolean.AffineDisperser.State.MinimalAnd: the minimal AND.
Main results #
Cslib.Circuits.Boolean.AffineDisperser.State.Valid.exists_preparation_auxIn_lt,Cslib.Circuits.Boolean.AffineDisperser.State.Valid.exists_preparation_childIn_lt: the restructuring.Cslib.Circuits.Boolean.AffineDisperser.State.Valid.exists_minimalAnd: the restructured minimal gate is a minimal AND (MinimalAnd), eliminated inElimination.lean.
References #
Exchanging a parameter and an auxiliary variable #
An auxiliary variable of a valid state occurs in some equation: otherwise the affine system would not determine it.
The affine reparameterisation of an unpaired parameter x of degree at least two and an
auxiliary variable Q of degree at least two depending on it is a preparatory operation: it keeps
every child, and both weights are 7.
Rewiring a gate #
Rewiring a gate to a gate reading only parameters of degree at least two is a preparatory
operation: only those parameters may gain a child, and their weight is already 7.
Degenerate minimal gates allow deletions #
A gate one of whose inputs is constant on the solutions of the affine system allows (D1).
A gate whose inputs differ by a constant on the solutions of the affine system allows (D1).
The minimal gate of a normal state #
The output of a valid state with d < a is not a literal of an auxiliary variable.
In a valid state with d < a where no affine gate can be moved and no deletion applies,
there are gates, and the minimal one is an AND-type gate reading two distinct inputs among the
parameters and auxiliary variables.
An auxiliary input Q of the minimal gate depends on a parameter x other than the other
input; when no preliminary reduction applies, x is unpaired of degree at least two, and Q has
degree at least two.
The measures of the restructuring #
The number of auxiliary inputs of a gate.
Instances For
The number of auxiliary inputs of the minimal gate.
Instances For
The number of children of the minimal gate reading one of its parameter inputs.
Instances For
Restructuring the minimal AND #
Exchanging an auxiliary input of the minimal gate of a normal state with a parameter it depends on is a preparatory operation lowering the number of auxiliary inputs of the minimal gate.
Rerouting a child K of the minimal gate that reads one of its parameter inputs, by
relabelling K with the operation it computes on the two inputs, is a preparatory operation
lowering the number of such children.
Eliminating the minimal AND #
The configuration of Section 4.3: G is an AND-type gate reading the distinct unpaired
parameters x and y with 2 ≤ deg y ≤ deg x, no child of G reads x or y, and G is not
the output and has a child.
Gis a gate.- and_op : ¬SemiCircuit.IsAffineOp (S.gate G).op
Gis AND-type. - args : (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
Greadsxandy. xis unpaired.yis unpaired.xandyare distinct.yhas degree at least two.xhas degree at least that ofy.No child of
Greadsxory.Gis not the output.Ghas a child.
Instances For
The minimal AND computes an AND-type operation of its inputs.
The children of G are gates.
In a normal state with d < a, an AND-type gate G reading two parameters, no child of which
reads them, is a minimal AND in the sense of Section 4.3, its inputs ordered by degree: by
Lemma 2.3, G is not the output, and it has a child since no deletion applies.