Documentation

Complexity.Computability.Circuit.Boolean.AffineDisperser.Rewiring

Moving and rewiring gates of states #

The preparatory operations of Mishra and Santhanam, Sections 4.1 and 4.2 that change only gates, on states of gate elimination:

Both keep the parameters, the pairs and the parameter map.

Main definitions #

Main results #

References #

Moving affine gates into the affine system #

Move the affine gate J into the affine system as the auxiliary variable J with the new equation e.

Instances For
    theorem Cslib.Circuits.Boolean.AffineDisperser.State.moveAffine_deg_le {n : ℕ} {f : BooleanFunction n} {S : State n} (hS : S.Valid f) {J e : ℕ} (h : S.MoveOK J e) {z : ℕ} (hz : z ∈ S.params) :
    (S.moveAffine J e).deg z ≤ S.deg z

    Moving a gate into the affine system does not increase the degree of any parameter.

    theorem Cslib.Circuits.Boolean.AffineDisperser.State.Valid.moveAffine {n : ℕ} {f : BooleanFunction n} {S : State n} (hS : S.Valid f) {J e : ℕ} (h : S.MoveOK J e) :
    (S.moveAffine J e).Valid f

    Moving an affine gate reading no gates into the affine system preserves validity.

    Rewiring a gate #

    Replace the gate J by the gate g.

    Instances For
      theorem Cslib.Circuits.Boolean.AffineDisperser.State.Valid.rewire {n : ℕ} {f : BooleanFunction n} {S : State n} (hS : S.Valid f) {J : ℕ} {g : SemiCircuit.Gate} (h : S.RewireOK J g) :
      (S.rewire J g).Valid f

      Rewiring a gate preserves validity.