theorem
Hex.GraphIso.Nauty.Sparse.SpecNode.refine_singleton
{n : Nat}
{G : SparseGraph n}
{level numcells a : Nat}
{lab ptn : Array Nat}
{active : VSet n}
(h : SpecNode G level lab ptn active numcells)
(scratch : Scratch)
(hs : Scratch.Bounded n scratch)
(ha : IsCell ptn level a 1)
:
Cached native refinement retains both boundaries and the literal vertex of every incoming singleton.
theorem
Hex.GraphIso.Nauty.Sparse.RefineSt.Ready.child_frame
{n : Nat}
{G : SparseGraph n}
{level : Nat}
{s : RefineSt n}
(h : Ready G level s)
{tc len o : Nat}
(hc : IsCell s.ptn level tc len)
(hb : tc + len ≤ n)
(hn : 1 < len)
(ho : o < len)
(scratch : Scratch)
(hs : Scratch.Bounded n scratch)
:
An actual cached child preserves its parent's ordered cell contents and every boundary already closed at that parent.
theorem
Hex.GraphIso.Nauty.Sparse.DescPath.frame
{n : Nat}
{G : SparseGraph n}
{base last : Nat}
{root leaf : RefineSt n}
{path : List (Nat × Nat)}
(h : DescPath G base root path last leaf)
(hr : RefineSt.Ready G base root)
:
Every literal native descent retains its frozen ancestor's cell contents and closed boundaries, independently of scratch contents.