theorem
Hex.GraphIso.Nauty.Sparse.RefineSt.Equiv.discrete
{n : Nat}
{σ : Renaming n}
{level : Nat}
{s t : RefineSt n}
(h : Equiv σ level s t)
(hs : s.ptn.size = n)
(hend : s.ptn[n - 1]! ≤ level)
(hp : s.lab.size = n)
(hq : t.lab.size = n)
(hd : discreteAt s.ptn level n = true)
:
Discrete ordered-cell equivalence determines the whole output label array, including when earlier nontrivial cells used different tie orders.
Transport a specification leaf's vertices, retaining its path codes.
Equations
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.SpecLeaf.map_key
{n : Nat}
(G H : SparseGraph n)
(p : Perm n)
(hiso : ∀ (u v : Fin n), H.adj (p.get u) (p.get v) = G.adj u v)
(leaf : SpecLeaf n)
:
A transported leaf attains the identical sparse key under an isomorphism, including every normalized native adjacency row.
theorem
Hex.GraphIso.Nauty.Sparse.SpecLeaf.parse_map
{n : Nat}
(p : Perm n)
{lab : Array Nat}
{label : Label n}
(hp : lab.toList.Perm (List.range n))
(hl : Label.ofArray? n lab = some label)
:
The executed label parser returns the transported typed label when its input array is renamed.