Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.Planar.PathGeometry

Geometry of canonical incidence paths #

Shared unit-step, directed-port and midpoint uniqueness certificates support the paired compiler without retaining the obsolete directed-output formula or its drawing.

Main results #

References #

These are the shared canonical incidence-path constructions and certificates.

theorem Cslib.Complexity.SAT.PlanarCompile.paths_shared_step_index {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {i j : ℕ} (hi : i < (paths φ).length) (hj : j < (paths φ).length) {p q : Orthogonal.Point} (he : (p, q) ∈ List.consecutivePairs ((paths φ).getD i [])) (hf : (p, q) ∈ List.consecutivePairs ((paths φ).getD j []) ∨ (q, p) ∈ List.consecutivePairs ((paths φ).getD j [])) :
i = j

Two actual canonical paths cannot share a unit grid edge, even in opposite directions. This count-free uniqueness statement also applies to the final step into a clause cell.

At a unit neighbor, the facing side determines the neighbor itself.

theorem Cslib.Complexity.SAT.PlanarCompile.pathPorts_nodup {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) :

All directed cell ports in the actual canonical paths are distinct. Both halves of every unit step are included, even the final clause-directed half. No path witness is assumed.

Equal boundary midpoints identify the same unordered unit grid edge.

One geometric midpoint per actual unit step gives a duplicate-free list. This includes final steps, so any prefix selection used for binary clauses remains distinct.

Distinct integer cells have distinct displayed centers.

Original clause cells are declared source centers and are never selected as crossings.

No source clause center is used as a signal cell before a path's final endpoint.