Documentation

HexGraphIso.Nauty.Sparse.IndexFrame

structure Hex.GraphIso.Nauty.Sparse.Index.Frame (n first last : Nat) (oldlab lab oldstarts starts oldends ends : Array Nat) :

Cache entries outside the cell being split retain their old meaning.

Instances For
    theorem Hex.GraphIso.Nauty.Sparse.Index.Frame.of_window {n first last : Nat} {oldlab lab starts ends : Array Nat} (hw : «Sort».Window oldlab lab first (last + 1)) :
    Frame n first last oldlab lab starts starts ends ends
    theorem Hex.GraphIso.Nauty.Sparse.Index.Frame.set_end {n first last a value : Nat} {oldlab lab oldstarts starts oldends ends : Array Nat} (h : Frame n first last oldlab lab oldstarts starts oldends ends) (ha : first ≤ a ∧ a ≤ last) :
    Frame n first last oldlab lab oldstarts starts oldends (ends.setIfInBounds a value)
    theorem Hex.GraphIso.Nauty.Sparse.Index.Frame.set_start {n first last a value : Nat} {oldlab lab oldstarts starts oldends ends : Array Nat} (h : Frame n first last oldlab lab oldstarts starts oldends ends) (hinj : ∀ (i j : Nat), i < n → j < n → lab[i]! = lab[j]! → i = j) (ha : first ≤ a ∧ a ≤ last) (hb : a < n) :
    Frame n first last oldlab lab oldstarts (starts.setIfInBounds lab[a]! value) oldends ends
    theorem Hex.GraphIso.Nauty.Sparse.Index.Frame.scatter {n first last a value : Nat} {oldlab lab oldstarts starts oldends ends out : Array Nat} {upto : Nat} (h : Frame n first last oldlab lab oldstarts starts oldends ends) (hs : Scatter n lab starts out a upto value) (ha : first ≤ a) (hb : upto ≤ last + 1) :
    Frame n first last oldlab lab oldstarts out oldends ends
    theorem Hex.GraphIso.Nauty.Sparse.Index.Frame.relabel {n first last : Nat} {oldlab lab oldstarts starts oldends ends out : Array Nat} (h : Frame n first last oldlab lab oldstarts starts oldends ends) (hw : «Sort».Window lab out first (last + 1)) :
    Frame n first last oldlab out oldstarts starts oldends ends