Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.ExactOne.DrawingPorts

Cardinal port selection for actual source incidences #

The side convention agrees with the finite collar tables. Any zero, one, two, or three distinct prescribed source exits extends to one of the twenty-four ordered three-port assignments.

Main definitions #

Main results #

References #

These finite collar-selection and geometric indexing proofs are original.

Collar sides are numbered left, right, bottom, top.

Instances For

    Classify a cardinal direction using the collar side convention.

    Instances For

      Converting a unit direction to its collar side and back recovers it.

      Distinct unit vectors are classified as distinct collar sides.

      Check the source exits that are present in a clause of the indicated length.

      Instances For
        theorem Cslib.Complexity.SAT.ExactOne.portsMatch_iff (n a b c : Fin 4) (s : PortAssignment) :
        portsMatch n a b c s = true ↔ ∀ (j : Fin 3), ↑j < ↑n → s.side j = PortAssignment.side (a, b, c) j

        Matching constrains exactly the indexed ports that are present in the source clause.

        Select the first ordered collar assignment extending the present source exits.

        Instances For

          A partial source assignment needs pairwise distinct exits exactly at its present positions.

          Instances For

            Every admissible partial exit assignment has a deterministic distinct collar completion.

            theorem Cslib.Complexity.SAT.ExactOne.choosePorts_matches (n a b c : Fin 4) (h : PresentDirectionsDistinct n a b c) (j : Fin 3) (hj : ↑j < ↑n) :

            Each prescribed exit is retained by the selected collar assignment.

            A literal position identifies its own incidence, including repeated literals.

            Instances For

              The actual source edge position of a clause/literal occurrence.

              Instances For

                The actual cardinal exit of one source literal.

                Instances For

                  Complete the present exits to a deterministic ordered collar.

                  Instances For

                    Existing clause and literal indices identify an actual source occurrence.

                    Every actual source occurrence has a valid incidence-list index.

                    Source edge lookup recovers the actual variable and clause endpoints.

                    theorem Cslib.Complexity.SAT.ExactOne.sourceEdgeIndex_ne (φ : Logic.PL.CNF ℕ) {i j k : ℕ} (hi : i < List.length φ) (hj : j < List.length φ[i]) (_hk : k < List.length φ[i]) (hjk : j ≠ k) :

                    Distinct source literal positions have distinct listed source edges.

                    theorem Cslib.Complexity.SAT.ExactOne.literalSide_ne {φ : Logic.PL.CNF ℕ} {d : Graph.OrthogonalDrawing} (hd : (incidenceGraph φ).IsPlanarOrthogonalDrawing d) {i j k : ℕ} (hi : i < List.length φ) (hj : j < List.length φ[i]) (hk : k < List.length φ[i]) (hjk : j ≠ k) :
                    literalSide φ d i j ≠ literalSide φ d i k

                    Actual source literal exits at the same clause have distinct collar sides.

                    A valid source drawing supplies a distinct ordered collar for every actual clause.

                    Each present source literal uses its actual cardinal side in the selected collar.

                    A collar's midpoint is its center plus its cardinal radius vector.