structure
Hex.GraphIso.Nauty.Sparse.SpecNode
{n : Nat}
(G : SparseGraph n)
(level : Nat)
(lab ptn : Array Nat)
(active : VSet n)
(numcells : Nat)
:
Entry invariants of the unpruned sparse tree, including the certificate that supplies equitability after the actual refinement.
- label : lab.toList.Perm (List.range n)
- node : NodeOk n level lab ptn active
- cert : CertInv (Graph.context G) level { lab := lab, ptn := ptn, active := active, numcells := numcells, hint := 0, maxpos := 0, longcode := numcells }
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.SpecNode.refined
{n : Nat}
{G : SparseGraph n}
{level numcells : Nat}
{lab ptn : Array Nat}
{active : VSet n}
(h : SpecNode G level lab ptn active numcells)
:
Executed sparse refinement preserves the tree's entry invariants and returns an equitable partition, with no equitability premise.
theorem
Hex.GraphIso.Nauty.Sparse.SpecNode.child
{n : Nat}
{G : SparseGraph n}
{level numcells : Nat}
{lab ptn : Array Nat}
{active : VSet n}
(h : SpecNode G level lab ptn active numcells)
(heq : Equitable (Graph.context G) level lab ptn)
{tc len o : Nat}
(hc : IsCell ptn level tc len)
(hb : tc + len ≤ n)
(hn : 1 < len)
(ho : o < len)
:
Every target member supplies the complete next-node invariant through the actual rotation and singleton activation.
theorem
Hex.GraphIso.Nauty.Sparse.SpecNode.initial
{n k : Nat}
(G : Sparse.Colored n k)
(hn : 0 < n)
:
Actual stable colour buckets establish every nonempty root invariant.