structure
Hex.GraphIso.Nauty.Sparse.Cuts
(level n : Nat)
(before ptn : Array Nat)
(old count upto : Nat)
:
A sequence of increasing partition cuts charges the cell counter exactly once per new boundary, leaving the unprocessed suffix untouched.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.Cuts.trans
{level n old count upto : Nat}
{before ptn middle : Array Nat}
{middleCount : Nat}
(h : Cuts level n before middle old middleCount upto)
(h' : Cuts level n middle ptn middleCount count upto)
:
Cuts level n before ptn old count upto
Successive passes compose their exact counter changes and retain every inherited closed value.
theorem
Hex.GraphIso.Nauty.Sparse.Cuts.insert
{level n old count q : Nat}
{before ptn : Array Nat}
(h : Cuts level n before ptn old count n)
(hn : q < n)
(hs : q < ptn.size)
(ho : level < ptn[q]!)
:
Cuts level n before (ptn.setIfInBounds q level) old (count + 1) n
Closing one open position extends an already completed pass.