Documentation

HexGraphIso.Nauty.Correct.Generation.Sweep

structure Hex.GraphIso.Nauty.Generation.Cover {n k : Nat} (G : Colored n k) (base : List (Fin n)) (guide : Fin n) (tcell : VSet n) (cursor : Option Nat) :

Coverage of the first child's full stabilizer orbit by generated carriers and the remaining target vertices. Vertices in other orbits place no generation obligation on this sweep.

Instances For
    theorem Hex.GraphIso.Nauty.Generation.Cover.start {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} (hwindow : ∀ (v : Fin n), Aut.Orbit G base guide vtcell.mem v = true) :
    Cover G base guide tcell none

    Before the first child, all images of the guide are live.

    theorem Hex.GraphIso.Nauty.Generation.Cover.advance {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) {tv : Fin n} (hnext : tcell.nextElem cursor = some tv) (hcur : Aut.Orbit G base guide tvAut.Carries G base tv guide) :
    Cover G base guide tcell (some tv)

    Visiting the least live vertex advances the cursor once its orbit obligation has been discharged.

    theorem Hex.GraphIso.Nauty.Generation.Cover.before {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) {tv u : Fin n} (hnext : tcell.nextElem cursor = some tv) (horbit : Aut.Orbit G base guide u) (hlt : u < tv) :
    Aut.Carries G base u guide

    Every orbit vertex earlier than the next live child is already covered, including vertices removed by an older filter.

    theorem Hex.GraphIso.Nauty.Generation.Cover.smaller {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) {tv u : Fin n} (hnext : tcell.nextElem cursor = some tv) (horbit : Aut.Orbit G base guide tv) (hcarry : Aut.Carries G base tv u) (hlt : u < tv) :
    Aut.Carries G base tv guide

    A smaller generated image discharges the current child, even if an older filter removed that image from the target set.

    theorem Hex.GraphIso.Nauty.Generation.Cover.orbitSkip {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) {tv : Fin n} (hnext : tcell.nextElem cursor = some tv) {store : List (Array Nat)} {orbits : Array Nat} (hsound : OrbSound (OrbConn store n) orbits n) (htrace : ∀ (γ : Array Nat), γ storeγ Aut.trace G) (hfix : ∀ (γ : Array Nat), γ store∀ (b : Fin n), b baseγ[b]! = b) (hne : orbits[tv]! tv) :
    Cover G base guide tcell (some tv)

    A sound orbit pointer consumes the current first-path child while retaining its generated stabilizer carrier.

    theorem Hex.GraphIso.Nauty.Generation.Cover.filterDesc {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell tcell' : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) (hstep : ∀ (v : Fin n), Aut.Orbit G base guide vtcell.mem v = trueAfter cursor vtcell'.mem v = true (u : Fin n), Aut.Carries G base v u u < v) (hsub : ∀ (v : Nat), tcell'.mem v = truetcell.mem v = true) :
    Cover G base guide tcell' cursor

    Descending generated carriers preserve coverage under a target-set filter. The destination need not have survived earlier filters.

    theorem Hex.GraphIso.Nauty.Generation.Cover.finish {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) (hnext : tcell.nextElem cursor = none) (v : Fin n) :
    Aut.Orbit G base guide vAut.Carries G base guide v

    Emptying the live suffix represents every image of the guide by a word in the final generator list that fixes the current base.

    theorem Hex.GraphIso.Nauty.Generation.Cover.stabilizer {n k : Nat} {G : Colored n k} {base : List (Fin n)} {guide : Fin n} {tcell : VSet n} {cursor : Option Nat} (h : Cover G base guide tcell cursor) (hnext : tcell.nextElem cursor = none) (hdeep : ∀ (p : Perm n), IsIso G G pPerm.Fixes (guide :: base) pPerm.Generated (Aut.gens G) p) {p : Perm n} (hp : IsIso G G p) (hfix : Perm.Fixes base p) :

    The completed sweep closes one step of the point-stabilizer chain.