theorem
Hex.GraphIso.Nauty.Generation.Counter.advance
{n : Nat}
{P : Fin n → Prop}
{cursor : Option Nat}
{index : Nat}
(h : Counter P cursor index)
{cell : VSet n}
{tv : Fin n}
{mark : Bool}
(hwindow : ∀ (v : Fin n), P v → cell.mem ↑v = true)
(hnext : cell.nextElem cursor = some ↑tv)
(hmark : mark = true ↔ P tv)
:
Advancing the real target cursor adds precisely its current vertex when the executed mark test agrees with the qualifying property.
theorem
Hex.GraphIso.Nauty.Generation.Counter.finish
{n : Nat}
{P : Fin n → Prop}
{cursor : Option Nat}
{index : Nat}
(h : Counter P cursor index)
{cell : VSet n}
(hwindow : ∀ (v : Fin n), P v → cell.mem ↑v = true)
(hnext : cell.nextElem cursor = none)
[DecidablePred P]
:
Exhausting the actual target set identifies the accumulated index with the cardinality of the qualifying vertices in the whole graph.