Documentation

CslibFrontier.Computability.Complexity.Problems.SAT.Planar.PairedSemantics

Assignment semantics of the paired compiler #

The actual clause blocks use ordinary CNF evaluation. Local rings and crossovers identify the four wire values within each cell; paired links identify consecutive cell values. The source assignment then determines every used output variable.

Main definitions #

Main results #

References #

These are original composition proofs for the finite paired compiler.

Every retained point contributes the entry and exit on each of its two lanes.

Instances For

    The two local clause tables retain their exact formulas under variable tagging.

    Ordinary cell ports all carry the same value.

    A crossing port carries the horizontal or vertical incoming value, independently of lane.

    The paired wire has one cell for each retained path point.

    theorem Cslib.Complexity.SAT.ParsimoniousPlanar.getElem_wire (sites : List Orthogonal.Point) (r : Orthogonal.Route) (i : ℕ) (hi : i < List.length r - 1) :
    (wire sites r)[i] = fun (lane : Fin 2) => (signal sites r[i] (List.getD r (i - 1) r[i]) lane, signal sites r[i] (List.getD r (i + 1) r[i]) lane)

    The actual entry and exit variables at a retained path index.

    theorem Cslib.Complexity.SAT.ParsimoniousPlanar.wire_cells_agree {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {σ : Variable → Bool} (h : Logic.PL.CNF.eval σ (rawFormula φ) = true) (o : Logic.PL.Occurrence ℕ) :
    o ∈ Logic.PL.occurrences φ → ∀ c ∈ wire (crossingSites φ) (occurrencePath φ o), c.Agree σ

    All four actual entry and exit values within each retained wire cell agree.

    The source value is read at one fixed port of its ordinary source cell.

    Instances For

      The actual first entry has the source cell's value.

      theorem Cslib.Complexity.SAT.ParsimoniousPlanar.wire_values_source {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {σ : Variable → Bool} (h : Logic.PL.CNF.eval σ (rawFormula φ) = true) {o : Logic.PL.Occurrence ℕ} (ho : o ∈ Logic.PL.occurrences φ) (c : Logic.PL.CNF.PairedWire.Cell Variable) :
      c ∈ wire (crossingSites φ) (occurrencePath φ o) → ∀ (lane : Fin 2), σ (c lane).1 = sourceValue φ σ o.2.2.1 ∧ σ (c lane).2 = sourceValue φ σ o.2.2.1

      Every actual entry and exit along an occurrence wire has exactly its source value.

      theorem Cslib.Complexity.SAT.ParsimoniousPlanar.lastLiteral_value_of_wire (sites : List Orthogonal.Point) (r : Orthogonal.Route) (positive value : Bool) (σ : Variable → Bool) (hlen : 2 ≤ List.length r) (hcompat : ∀ c ∈ wire sites r, ∀ (lane : Fin 2), σ (c lane).1 = value ∧ σ (c lane).2 = value) :
      σ (lastLiteral sites r positive).1.1 = value

      Constant values along a nonempty retained wire determine its final literal.

      theorem Cslib.Complexity.SAT.ParsimoniousPlanar.lastLiteral_value {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) {σ : Variable → Bool} (h : Logic.PL.CNF.eval σ (rawFormula φ) = true) {o : Logic.PL.Occurrence ℕ} (ho : o ∈ Logic.PL.occurrences φ) :
      σ (lastLiteral (crossingSites φ) (occurrencePath φ o) o.2.2.2).1.1 = sourceValue φ σ o.2.2.1

      The literal emitted at an occurrence has precisely its source variable's value.

      Replacing occurrence variables by equal-valued endpoint variables preserves evaluation.

      Every satisfying output assignment projects to a satisfying source assignment.

      Lift compatible values on the original path cells to the new local templates.

      Instances For

        The lifted paired signal is the original signal on either lane.

        theorem Cslib.Complexity.SAT.ParsimoniousPlanar.exists_compatible_assignment {φ : Logic.PL.CNF ℕ} (hw : ∀ c ∈ φ, List.length c ≤ 3) (hv : ∀ (v : ℕ), List.count v φ.vars ≤ 3) (τ : ℕ → Bool) :
        ∃ (σ : Variable → Bool), (∀ o ∈ Logic.PL.occurrences φ, ∀ c ∈ wire (crossingSites φ) (occurrencePath φ o), ∀ (lane : Fin 2), σ (c lane).1 = τ o.2.2.1 ∧ σ (c lane).2 = τ o.2.2.1) ∧ (∀ p ∈ ordinaryCells φ, Logic.PL.CNF.eval (fun (v : Fin 4 × Fin 2) => σ (p, Sum.inl v)) OrdinaryRing.formula = true) ∧ ∀ p ∈ crossingSites φ, Logic.PL.CNF.eval (fun (v : Logic.PL.CNF.PairedCrossover.Variable) => σ (p, Sum.inr v)) Logic.PL.CNF.PairedCrossover.formula = true

        Every source assignment has compatible values in every local template and on both lanes.

        theorem Cslib.Complexity.SAT.ParsimoniousPlanar.eval_rawFormula_of_compatible {φ : Logic.PL.CNF ℕ} (τ : ℕ → Bool) (σ : Variable → Bool) (hcompat : ∀ o ∈ Logic.PL.occurrences φ, ∀ c ∈ wire (crossingSites φ) (occurrencePath φ o), ∀ (lane : Fin 2), σ (c lane).1 = τ o.2.2.1 ∧ σ (c lane).2 = τ o.2.2.1) (hord : ∀ p ∈ ordinaryCells φ, Logic.PL.CNF.eval (fun (v : Fin 4 × Fin 2) => σ (p, Sum.inl v)) OrdinaryRing.formula = true) (hcross : ∀ p ∈ crossingSites φ, Logic.PL.CNF.eval (fun (v : Logic.PL.CNF.PairedCrossover.Variable) => σ (p, Sum.inr v)) Logic.PL.CNF.PairedCrossover.formula = true) (h : Logic.PL.CNF.eval τ φ = true) :

        Compatible local assignments satisfy the actual output if the source holds.