theorem
Hex.GraphIso.Nauty.Sparse.Graph.cell_row_map
{n : Nat}
{lab ptn : Array Nat}
{level : Nat}
{starts ends out other final : Array 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)
(vertex : Fin n)
(hi : Index.Valid n lab ptn level starts ends)
(hj : Index.Valid n out ptn level other final)
(hp : lab.toList.Perm (List.range n))
(hs : ptn.size = n)
(hend : ptn[n - 1]! ≤ level)
(hc : cellsPerm ptn level out (Array.map (renamingOf p).toFun lab))
:
Mapping each native neighbour to its cached cell preserves the full multiset, for arbitrary admissible caches and orders within the cells.