structure
Hex.GraphIso.Nauty.Sparse.Minima.Bounded
(lab hits : Array Nat)
(first last v2 v3 upto w1 w2 cap : Nat)
extends Hex.GraphIso.Nauty.Sparse.Minima lab hits first v2 v3 upto w1 w2 :
Count insertion also retains the local key bound and the second-minimum sentinel. Values outside this cell remain unrestricted.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.Minima.Bounded.initial
{lab hits : Array Nat}
{first last upto w1 cap : Nat}
(hb : first < upto)
(hu : upto ≤ last)
(hs : last ≤ lab.size)
(hv : ∀ (q : Nat), first ≤ q → q < last → hits[lab[q]!]! < cap)
(hm : ∀ (q : Nat), first ≤ q → q < upto → hits[lab[q]!]! = w1)
:
Bounded lab hits first last upto upto upto w1 cap cap
theorem
Hex.GraphIso.Nauty.Sparse.Minima.Bounded.second_pos
{lab hits : Array Nat}
{first last v2 v3 w1 w2 cap : Nat}
(h : Bounded lab hits first last v2 v3 last w1 w2 cap)
(hv : v2 < last)
:
Once the whole cell is scanned, a nonconstant split has two nonempty minimum fragments. The proof uses only this cell's bound, even when scratch entries belonging to other cells have arbitrary values.