Canonical paths of the actual planarization compiler #
The executable compiler uses the canonical unit paths of the existing CNF incidence graph. These shared certificates serve both continuous geometry and logical wire correctness.
Main results #
Cslib.Complexity.SAT.PlanarCompile.paths_eq_unitPaths,.occurrencePath_eq_unitPath: exact agreement with the canonical graph layout.Cslib.Complexity.SAT.PlanarCompile.occurrence_index_lt,.incidenceGraph_edge_idxOf: valid literal-incidence indices and the edges they select.Cslib.Complexity.SAT.PlanarCompile.occurrencePath_endpoints,.occurrencePath_nodup: actual endpoints and uniqueness of all listed points.Cslib.Complexity.SAT.PlanarCompile.occurrencePath_unit,.occurrencePath_last_unit: unit adjacency, including the final-literal lookups.Cslib.Complexity.SAT.PlanarCompile.occurrencePath_ne_nil,.occurrencePath_length_ge_two: paths contain a genuine unit step before the original clause center.Cslib.Complexity.SAT.PlanarCompile.occurrencePaths_eq_paths: indexed source occurrences select exactly the emitted canonical paths in their original order.
References #
These certificates refer to the original canonical path construction in the imported compiler.
The executable compiler uses exactly the canonical unit paths certified by the layout API.
Literal-occurrence indexing selects the same path in the compiler and canonical layout.
Every actual occurrence indexes an existing incidence edge.
The incidence edge indexed by an actual occurrence joins its variable to its clause.
Every actual occurrence path is duplicate-free, without an extra supplied path witness.
Every consecutive step in the actual compiler path is a unit grid displacement.
Every actual selected path contains at least one point.
Actual occurrence paths start at the variable's source-grid center and end at their clause.
Actual literal paths contain at least one unit step, so final-literal lookups are in range.
The last two actual unit-path points are adjacent, including with the compiler's defaults.
Enumerating source occurrences selects all actual paths in their original order.
An actual occurrence selects a member of the canonical path list.