Finishing native canonical rows retains the complete installed label.
theorem
Hex.GraphIso.Nauty.Sparse.canonlab_cellsReach
{n k : Nat}
(G : Sparse.Colored n k)
:
CellsReach G.toDense (runColored G).canonlab
The returned canonical label retains every original ordered colour cell's vertices, including the empty input.
theorem
Hex.GraphIso.Nauty.Sparse.canonlab_perm
{n k : Nat}
(G : Sparse.Colored n k)
:
(runColored G).canonlab.toList.Perm (List.range n)
The actual output array is a permutation, so its checked parser always succeeds. This theorem does not depend on certificate replay.
The diagnostic result succeeds unconditionally for every native sparse coloured graph. No default label or alternate search is needed.