Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.Planar.PairedGeometry

Geometry of the paired-port compiler #

The compiler reuses the canonical unit paths. Paired accesses have disjoint supports, and their only boundary contacts identify the same lane of the same unit grid edge. All geometric assertions concern entire real supports.

Main results #

References #

The paired macrocell assembly is original.

Within one cell, boundary positions identify both the side and the lane.

Opposite facing sides of unit neighbors match in the same lane.

Every actual access is proper and orthogonal.

Every actual access is continuously simple.

All actual access routes have the same fixed cost.

Every actual access stays in its closed cell and touches its boundary only at its port.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.access_contact_of_distinct_cells (sites otherSites : List Orthogonal.Point) {c d : Orthogonal.Point} (hcd : c ≠ d) (q t : Orthogonal.Point) (l k : Fin 2) {p : ℝ × ℝ} (hp : p ∈ Orthogonal.support (access sites c q l)) (hq : p ∈ Orthogonal.support (access otherSites d t k)) :

Contacts between accesses in different cells occur at both designated boundary ports.

Distinct paired ports of one cell have disjoint continuous accesses.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.boundary_step_midpoint_eq {p q a b : Orthogonal.Point} {l k : Fin 2} (hpq : Orthogonal.length p q = 1) (hab : Orthogonal.length a b = 1) (h : boundary p (side p q) l = boundary a (side a b) k) :
l = k ∧ Orthogonal.cellPort 120 p (side p q) = Orthogonal.cellPort 120 a (side a b)

Equality of paired seam points identifies the lane and the old single seam midpoint.

All actual unit steps are proper; this includes final steps into clause cells.

Paired seam points of every actual path step are all distinct, including final steps.

Every original clause cell is disjoint from all ordinary tiles.

Every actual final literal route is proper, orthogonal and continuously simple.

The final incidence starts at its clause center and ends at its actual signal variable.

Every structured variable lies strictly inside its indexed macrocell.

Every raw variable has the tag prescribed by its cell's kind.

The variable-position prefix of the actual drawing has no repetitions.

The actual drawing has exactly the compact incidence graph's number of vertices.

Every actual output route is proper, orthogonal and continuously simple.

Each actual placed clause supplies exactly one route per literal, in literal order.

The actual route count is the edge count of the final compact incidence graph.

Every actual literal/route pair has the clause and variable endpoints in its record.

The final incidence is exactly one translated clause spoke and one neighboring access.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.boundary_occurrence_step_unique {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {o t : Logic.PL.Occurrence ℕ} (ho : o ∈ Logic.PL.occurrences φ) (ht : t ∈ Logic.PL.occurrences φ) {e f : Orthogonal.Point × Orthogonal.Point} {l k : Fin 2} (he : e ∈ List.consecutivePairs (occurrencePath φ o)) (hf : f ∈ List.consecutivePairs (occurrencePath φ t)) (h : boundary e.1 (side e.1 e.2) l = boundary f.1 (side f.1 f.2) k) :
l = k ∧ o = t ∧ e = f

Matching paired boundaries of actual occurrence steps identify the whole occurrence and oriented step, as well as the lane.

A raw variable's incidence-graph index resolves to its actual geometric position.

A raw clause's incidence-graph index resolves to its actual placed clause position.

Actual indexed routes have the final compact incidence graph's endpoints, in clause-to- variable order, including repeated literal incidences.

Every emitted variable lies in a selected crossing or a retained occupied path cell.

No actual variable is placed in an original clause cell.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.access_variable_contact {sites : List Orthogonal.Point} {c q : Orthogonal.Point} {lane : Fin 2} {v : Variable} (hkind : v.2.isLeft = true ↔ v.1 ∉ sites) (hp : Orthogonal.realPoint (variablePosition v) ∈ Orthogonal.support (access sites c q lane)) :
v = signal sites c q lane

An actual access visits a correctly tagged variable only at its own endpoint.

Every actual route can meet an emitted variable only at its variable endpoint.

Ordinary clause positions are strictly inside their cell.

Crossover clause positions are strictly inside their cell.

An ordinary tile retains the fixed ring's clause-position order.

A crossover tile retains the fixed paired crossover's clause-position order.

Emitted seam clause positions are a sublist of all paired path boundaries.

All actual paired-link clauses have distinct positions.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.clausePositions_nodup {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) :
(List.map (fun (pc : PlacedClause) => pc.2.1) (placedClauses φ)).Nodup

All actual original, ordinary, crossover and paired-seam clause positions are distinct.

Every actual incidence route contains at least two distinct endpoint positions.

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

Every actual displayed graph vertex has its own position.

A translated clause spoke touches its cell boundary only at the chosen paired port.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.route_contacts {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {r s : Orthogonal.Route} (hr : r ∈ routes φ) (hs : s ∈ routes φ) (hne : r ≠ s) {p : ℝ × ℝ} (hp : p ∈ Orthogonal.support r) (hq : p ∈ Orthogonal.support s) :

Distinct actual route values meet only at endpoints of both routes, over the complete real plane. Unit-step ownership includes the omitted final binary link.

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

Distinct actual incidence occurrences have distinct polygonal route lists.

theorem Cslib.Complexity.SAT.ParsimoniousPlanar.route_clause_contact {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {r : Orthogonal.Route} (hr : r ∈ routes φ) {pc : PlacedClause} (hpc : pc ∈ placedClauses φ) (hp : Orthogonal.realPoint pc.2.1 ∈ Orthogonal.support r) :
List.head? r = some pc.2.1

Every actual route meets an actual clause vertex only at its own clause endpoint. The original-clause case includes isolated empty clauses.

Actual indexed routes avoid all nonincident declared graph vertices.

Actual indexed incidence routes meet only at their shared declared graph endpoints.

The actual paired-port compiler supplies a continuous planar orthogonal drawing. The only assumptions are source width and literal-occurrence bounds of three.