Admitting a generator retains the first-path ancestor.
Admitting a generator retains the canonical ancestor.
Admitting a generator retains the canonical labelling.
theorem
Hex.GraphIso.Nauty.autoCanon_ref
{n : Nat}
{κ : Type}
(level : Nat)
(st : SearchState n κ)
:
A canonical automorphism return retains its reference labelling.
theorem
Hex.GraphIso.Nauty.autoCanon_ancestor
{n : Nat}
{κ : Type}
(level : Nat)
(st : SearchState n κ)
:
A canonical automorphism return retains its canonical ancestor.
theorem
Hex.GraphIso.Nauty.pruneReturn_canon
{n : Nat}
{κ : Type}
(level : Nat)
(st : SearchState n κ)
:
The shared prune tail retains the canonical ancestor.
theorem
Hex.GraphIso.Nauty.recover_ref
{n : Nat}
{κ : Type}
(inf level : Nat)
(st : SearchState n κ)
:
Parent recovery retains the stored canonical labelling.
theorem
Hex.GraphIso.Nauty.compare_canon
{n : Nat}
{κ : Type}
(level code : Nat)
(st : SearchState n κ)
:
Code comparison retains the ancestor of the canonical path.
theorem
Hex.GraphIso.Nauty.cheap_canon
{n : Nat}
{κ : Type}
(first : Bool)
(level : Nat)
(st : SearchState n κ)
:
Testing a small cell retains the ancestor of the canonical path.
theorem
Hex.GraphIso.Nauty.recover_canon_le
{n : Nat}
{κ : Type}
{inf : Nat}
(level : Nat)
(st : SearchState n κ)
:
The recovered canonical ancestor is no deeper than its sweep.
theorem
Hex.GraphIso.Nauty.gcaPolicy
{n : Nat}
(ctx : Ctx n)
(inf tcLevel : Nat)
:
Generic.ReferencePolicy ctx inf tcLevel fun (st : Search n) => st.gcaFirst
Outside the first descent the first-path ancestor is a fixed frame.
theorem
Hex.GraphIso.Nauty.sweep_gca
{n : Nat}
(first : Bool)
(ctx : Ctx n)
(inf tcLevel fuel cfuel level numcells tc tv1 index : Nat)
(cursor : Option Nat)
(cell : VSet n)
(st : Search n)
(hpast : Generic.Past first tv1 cursor)
:
Once past the first child, a sweep retains its first-path ancestor.