Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.ExactOne.GeometryData

Local orthogonal drawings for parsimonious exact-one gadgets #

The three fixed drawings fit in [0,180]². Their core vertices and routes lie in [20,160]²; access routes run from designated boundary ports to their terminals. The ports are on the y = 0 (north), x = 0 (west) and x = 180 (east) sides: the side midpoints for disjunctionGeometry and complementGeometry, and (80, 0) for falseGeometry. The unsigned incidence signatures deliberately leave clause semantics to the logical gadgets.

Main definitions #

References #

The incidence graphs are from [HuntMaratheRadhakrishnanStearns1998, Theorem 3.8, Figures 3.4–3.5 and Lemma 3.6]. The orthogonal coordinates and routes are original.

@[reducible, inline]

An incidence records its clause index, variable index, and clause-to-variable route.

Instances For
    @[reducible, inline]

    The local index of the incident clause.

    Instances For
      @[reducible, inline]

      The local index of the incident variable.

      Instances For
        @[reducible, inline]

        The route from the clause position to the variable position.

        Instances For

          Finite local replacement data. Variables and clauses have separate zero-based indices. terminalVariables, boundaryPorts, and accessRoutes have corresponding orders.

          Instances For

            Indexed variable position; valid incidence indices are certified separately.

            Instances For

              Indexed clause position; valid incidence indices are certified separately.

              Instances For

                Permitted contacts of two incidence routes: their shared graph endpoints.

                Instances For

                  The four-clause disjunction gadget. Variables are p,q,r,u,v,w,t,x in that order; the incidence signature is [[p,u,v],[q,u,w],[v,w,t],[r,v,x]]. The boundary terminals are p,q,r, with north, west, and east accesses.

                  Instances For

                    The positive forced-false gadget. Variables are c,d,e,f; the three clauses have signature [[c,d,e],[c,e,f],[d,e,f]]. The terminal c has a north access.

                    Instances For

                      A positive complement gadget: one clause on p,q,c followed by the forced-false gadget on c,d,e,f. The terminals p,q have west and east accesses.

                      Instances For