Every orbit pointer descends and is connected by a word of recorded generators.
Equations
Instances For
theorem
Hex.GraphIso.Nauty.OrbitsOk.admit
{n : Nat}
{ctx : Ctx n}
{st : Search n}
(h : OrbitsOk st)
(ht : TraceOk ctx st)
(hwork : checkAutom ctx.g st.workperm = true)
:
OrbitsOk (Nauty.admit st)
Joining a checked admission preserves connectivity in the enlarged trace.
theorem
Hex.GraphIso.Nauty.OrbitsOk.prune
{n : Nat}
{st : Search n}
(h : OrbitsOk st)
(level : Nat)
:
OrbitsOk (pruneReturn level st).snd
The shared prune tail retains the generator trace and its orbit relation.
theorem
Hex.GraphIso.Nauty.pruneReturn_orbits
{n : Nat}
{κ : Type}
(level : Nat)
(st : SearchState n κ)
:
The shared prune tail changes no orbit pointer.
theorem
Hex.GraphIso.Nauty.leafExit_orbits
{n : Nat}
{κ : Type}
(leaf : Leaf)
(level : Nat)
(st : SearchState n κ)
:
Only the two automorphism verdicts join new orbit pointers.
theorem
Hex.GraphIso.Nauty.OrbitsOk.leaf
{n : Nat}
{ctx : Ctx n}
{st : Search n}
(h : OrbitsOk st)
(ht : TraceOk ctx st)
(leaf : Leaf)
(level : Nat)
(hc : leaf = Generic.Leaf.autoFirst ∨ leaf = Generic.Leaf.autoCanon → checkAutom ctx.g st.workperm = true)
:
Every leaf action preserves pointer soundness once its admissions are checked.