Documentation

HexGraphIso.Nauty.Sparse.Reach

theorem Hex.GraphIso.Nauty.Sparse.reachPolicy {n k : Nat} (G : Sparse.Colored n k) (hn : 0 < n) (tcLevel : Nat) :

The executed sparse policy meets the shared mutual recursion's complete partition, equitable-parent, colour-reachability and scratch contract.

theorem Hex.GraphIso.Nauty.Sparse.node_frame {n k : Nat} (G : Sparse.Colored n k) (hn : 0 < n) (first : Bool) (tcLevel fuel level numcells : Nat) (st : State n) (hl : 1 ≤ level) (h : NodeInv G level numcells st) :
FrameOut G (level - 1) level st (Generic.node first (Graph.ofGraph G.graph) (n + 2) tcLevel fuel level numcells st).snd

Every production node preserves its caller's partition frame, including truncated calls and nonlocal returns.

theorem Hex.GraphIso.Nauty.Sparse.sweep_frame {n k : Nat} (G : Sparse.Colored n k) (hn : 0 < n) (first : Bool) (tcLevel fuel cfuel level numcells tc tv1 index : Nat) (cursor : Option Nat) (cell : VSet n) (st : State n) (hl : 1 ≤ level) (h : Ready G level numcells st) (ht : Generic.Target State.frame level tc cell st) (hv : ∀ (v : Nat), cursor = some v → cell.mem v = true) :
FrameOut G level level st (Generic.sweep first (Graph.ofGraph G.graph) (n + 2) tcLevel fuel cfuel level numcells tc tv1 cursor cell index st).snd.snd

The actual initialized root has the production frame guarantee, with all entry hypotheses derived from its stable colour buckets.

Final canonical-row installation preserves the whole production frame.