Documentation

CslibFrontier.Logics.Propositional.CSP.Planar.OneInThree

The ordered NAND triangle for one-in-three #

The original reconstruction here combines a ternary relation containing all units and missing zero with NAND on its three cyclic adjacent pairs. The target is the existing BitString.oneHotRelation (Fin 3). It gives an actual four-constraint CSP.PPGadget, in exposed order 0,1,2. NonSelfDual.witnesses derives the required relations from independently selected language symbols, without assuming constants in the language.

[DK15], Lemma 4, printed pp. 438–439, states the planar expressibility conclusion without its proof. The arbitrary-arity minor arguments and this triangle are original reconstructions, not the omitted printed proof. Geometric interpretation of the finite construction trees, substitution into a plane instance, hardness and runtime remain separate.

Main definitions #

Main results #

The two macros in the triangle: its ordered ternary relation and binary NAND.

Instances For

    The widths of the triangle macros.

    Instances For

      Exact-width interpretation of the triangle macros.

      Instances For

        The ordered inner ternary face and three cyclic binary digons. All three variables are free; there are no macro auxiliary variables. The last binary scope is (2,0).

        Instances For

          The four macro constraints have exactly their declared widths.

          theorem Cslib.Logic.PL.CSP.NonSelfDual.triangleBody_eval_iff (R : Set (Fin 3 → Bool)) [DecidablePred fun (x : Fin 3 → Bool) => x ∈ R] (x : Fin 3 → Bool) (b : Fin 0 → Bool) :

          NAND on all three adjacent pairs leaves precisely the three units or zero.

          def Cslib.Logic.PL.CSP.NonSelfDual.triangle (R : Set (Fin 3 → Bool)) [DecidablePred fun (x : Fin 3 → Bool) => x ∈ R] (hz : 0 ∉ R) (hu : ∀ (i : Fin 3), Pi.single i true ∈ R) :

          The actual four-constraint triangle defines one-in-three for every ternary relation containing the units and missing zero. No symmetry of that relation is assumed.

          Instances For
            theorem Cslib.Logic.PL.CSP.NonSelfDual.witnesses {Rel : Type} {arity : Rel → ℕ} {sem : Rel → List Bool → Bool} (h : ¬HasSchaeferPolymorphism arity sem) (hn : ¬HasPolymorphism arity sem fun (a : Fin 1 → Bool) => !a 0) :

            The complete semantic witnesses for the nonselfdual construction. Disequality and both pins are derived, and the parity and majority failure witnesses may be different symbols. There is no constants premise or conditional minor oracle.