Documentation

Complexity.Computability.Complexity.Problems.SAT.ExactOne.GeometryCollarGlue

Gluing clause templates to ordered-port collars #

Templates of side 180000 are translated, and optionally reflected, into the central square of the side-540000 collar. A clause-to-inner-boundary prefix then extends along its reversed collar route. The continuous certificates compose through their unique common endpoint.

Main definitions #

Main results #

References #

These finite local-placement and gluing constructions are original.

Translation part of the reflected or unreflected inner-template placement.

Instances For

    Place a point of the side-180000 template inside the central collar square.

    Instances For

      The corresponding placement in the real plane.

      Instances For

        Place an entire local route.

        Instances For

          Route placement is pointwise placement of the finite list.

          Placement commutes with inclusion of the integer lattice.

          The common affine placement does not identify real points.

          The common affine placement does not identify integer vertices.

          Placement maps the full continuous support.

          Membership in a placed support is exactly placed membership.

          Placement preserves proper orthogonality.

          Placement preserves continuous simplicity.

          Placement preserves total Manhattan wire length.

          The fixed north/west/east ports of an unplaced inner template.

          Instances For

            Placement identifies the inner template ports with the collar's inner endpoints.

            Pointwise box bounds extend to the full real polygonal support.

            theorem Cslib.Complexity.SAT.ExactOne.collarPoint_in_innerBox (reflected : Bool) {q : Orthogonal.Point} (hq : 0 ≤ q.1 ∧ q.1 ≤ 180000 ∧ 0 ≤ q.2 ∧ q.2 ≤ 180000) :
            Orthogonal.inPointBox (270000, 270000) 90000 (Orthogonal.realPoint (collarPoint reflected q))

            Placed points of the original template lie in the collar's closed inner square.

            theorem Cslib.Complexity.SAT.ExactOne.collarRoute_in_innerBox (reflected : Bool) {r : Orthogonal.Route} (hr : ∀ q ∈ r, 0 ≤ q.1 ∧ q.1 ≤ 180000 ∧ 0 ≤ q.2 ∧ q.2 ≤ 180000) {p : ℝ × ℝ} (hp : p ∈ Orthogonal.support (collarRoute reflected r)) :
            Orthogonal.inPointBox (270000, 270000) 90000 p

            A placed local route stays inside the collar's closed inner square.

            Extend an inner clause-to-boundary prefix along the reversed annular connector.

            Instances For

              The support of an extended prefix is precisely the union of its placed local support and its annular connector.

              theorem Cslib.Complexity.SAT.ExactOne.isSimple_collarPrefixRoute {s : PortAssignment} (hs : s.Distinct) {i : Fin 3} {r : Orthogonal.Route} (hr : List.getLast? r = some (innerTemplatePort i)) (hsr : Orthogonal.IsSimple r) (hb : ∀ q ∈ r, 0 ≤ q.1 ∧ q.1 ≤ 180000 ∧ 0 ≤ q.2 ∧ q.2 ≤ 180000) :

              Local prefix and annular connector glue to a continuously simple route.

              A placed core route avoiding an inner port is disjoint from that port's annular connector.

              theorem Cslib.Complexity.SAT.ExactOne.collarPrefixRoute_contact {s : PortAssignment} (hs : s.Distinct) {i j : Fin 3} (hij : i ≠ j) {r t : Orthogonal.Route} (hr : List.getLast? r = some (innerTemplatePort i)) (ht : List.getLast? t = some (innerTemplatePort j)) (hbr : ∀ q ∈ r, 0 ≤ q.1 ∧ q.1 ≤ 180000 ∧ 0 ≤ q.2 ∧ q.2 ≤ 180000) (hbt : ∀ q ∈ t, 0 ≤ q.1 ∧ q.1 ≤ 180000 ∧ 0 ≤ q.2 ∧ q.2 ≤ 180000) (hri : Orthogonal.realPoint (innerTemplatePort j) ∉ Orthogonal.support r) (htj : Orthogonal.realPoint (innerTemplatePort i) ∉ Orthogonal.support t) {p : ℝ × ℝ} (hp : p ∈ Orthogonal.support (collarPrefixRoute s i r)) (hq : p ∈ Orthogonal.support (collarPrefixRoute s j t)) :

              Intersections between two distinct extended prefixes come entirely from intersections of their original local routes. The two local routes must avoid each other's inner port.

              An extended prefix avoids a placed inner-template vertex when its local route avoids that vertex and it is not the prefix's own boundary terminal.

              The perimeter of the outer collar square.

              Instances For

                The collar's full support meets its outer perimeter only at its own assigned port.

                The full support of an extended prefix meets the outer perimeter only at its assigned source port.

                Position of an exposed variable in the ordered terminal list, with an irrelevant default for malformed local data containing more than three terminals.

                Instances For

                  Place a finite prefix template and extend its source incidences to arbitrary ordered outer sides. Source ghost positions follow those same outer ports; actual internal vertices and all clause positions receive the common affine placement.

                  Instances For