Documentation

HexGraphIso.Nauty.Sparse.PassCongr

theorem Hex.GraphIso.Nauty.Sparse.Binary.Pass.lab_eq {n level stamp : Nat} {xs : List Nat} {s a : RefineSt n} (h : Pass level stamp xs s a) {t b : RefineSt n} {otherStamp : Nat} :
Pass level otherStamp xs t b → s.lab.toList.Perm (List.range n) → s.ptn.size = n → t.lab = s.lab → t.ptn = s.ptn → Index.Valid n s.lab s.ptn level s.cellstart s.cellend → Index.Valid n t.lab t.ptn level t.cellstart t.cellend → (∀ (v : Nat), v < n → (s.vmarks[v]! == stamp) = (t.vmarks[v]! == otherStamp)) → a.lab = b.lab

The complete executed singleton-cell fold returns literally equal labels from equal input labels and partitions. Valid caches, retained marks and generation numbers may differ between the two traversals.