Documentation

HexGraphIso.Nauty.Sparse.UniformReturn

theorem Hex.GraphIso.Nauty.Sparse.uniform_reference {n k : Nat} {G : Sparse.Colored n k} (inf tcLevel : Nat) (hn : 0 < n) (fuel level numcells : Nat) (st : State n) (targets : List Nat) (key : Key n) :
1 ≤ level → NodeInv G level numcells st → Generation.Uniform G.graph tcLevel level (State.refined (Graph.ofGraph G.graph) level numcells st) targets key → st.workperm.size = n → CellsReach G.toDense st.firstlab → Generation.Matches G.graph level st targets key → st.eqlevFirst = level - 1 → st.gcaFirst < level → n < level + fuel → have out := Generic.node false (Graph.ofGraph G.graph) inf tcLevel fuel level numcells st; out.fst = Generic.Exit.unwind st.gcaFirst false ∧ LabelCarrier (Graph.context G.graph) st.firstlab out.snd.lab out.snd.genTrace

A uniform matching native subtree follows its executed minimum cursors until it emits a checked first-reference carrier. This is a proof of the real recursion and scatter, without assumed generation or returns.