Documentation

CslibFrontier.Logics.Propositional.CSP.Planar.Embedding.GadgetCyclic

Cyclic rotation of the existing original-language gadget constructor #

The boundary moves backwards before the actual free labels move forwards. The resulting canonical free-port word is distinct and in its inherited positive order. The body is exactly PPGadget.relabelFree (fun i => i + 1), as used by Construction.gadget; no reflection or new relation symbol is used. These are static finite realization constructions, with no uniform preprocessing-time assertion.

noncomputable def Cslib.Complexity.CSP.OrderedBoundary.GadgetWitness.rotate {Rel : Type} {arity : Rel → ℕ} {sem : Rel → List Bool → Bool} {n : ℕ} {R : Set (Fin (n + 1) → Bool)} {g : Logic.PL.CSP.PPGadget arity sem R} (w : GadgetWitness g) :
GadgetWitness (g.relabelFree fun (i : Fin (n + 1)) => i + 1)

Cyclically rotate the exact existing semantic gadget body and canonical free ports. Both the inherited boundary order and its distinctness are discharged internally.

Instances For