def
Hex.GraphIso.rootCodeA
(n : Nat)
(g : Array (Nauty.VSet n))
(lab0 : Array Nat)
(cellEnds : List Nat)
:
The root refinement code over the packed-set state of the specification.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The specification key's head code of a coloured graph whose
adjacency rows are packed as the one number rows: a single
refinement of the initial partition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The compiled-side root-code test: whether the root route separates
this pair. Evaluated at elaboration time over the Array rows, so the
route decision costs one refinement per graph and no kernel work.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The root codes of two coloured graphs disagree: the cheapest kernel check of the negative route, one refinement per graph.
Equations
- Hex.GraphIso.Kernel.rootDiff G H NA NB = (decide (2 ≤ n) && !(Hex.GraphIso.Kernel.rootCode G NA).beq (Hex.GraphIso.Kernel.rootCode H NB))
Instances For
theorem
Hex.GraphIso.Kernel.not_isomorphic_of_rootCode
{n k : Nat}
{G H : Colored n k}
{NA NB : Nat}
(hA : packRows n G.graph.adjMatrix.data.toList = NA)
(hB : packRows n H.graph.adjMatrix.data.toList = NB)
(h : rootDiff G H NA NB = true)
:
¬Isomorphic G H
Equalities identifying each graph's packed rows, plus a root-code disagreement, prove non-isomorphism.