theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.initial
{n level first last : Nat}
{active : VSet n}
{ptn : Array Nat}
(hc : IsCell ptn level first (last - first))
:
ActiveSpan level first last active active ptn
theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.cut_push
{n level first last cut : Nat}
{before active : VSet n}
{ptn : Array Nat}
(h : ActiveSpan level first last before active ptn)
(hf : first < cut)
(hl : cut < last)
(hb : last ≤ n)
:
ActiveSpan level first last before (active.insert cut) (ptn.setIfInBounds (cut - 1) level)
theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.cut_next
{n level first last cut : Nat}
{before active : VSet n}
{ptn : Array Nat}
(h : ActiveSpan level first last before active ptn)
(hf : first ≤ cut)
(hl : cut + 1 < last)
(hb : last ≤ n)
:
ActiveSpan level first last before (active.insert (cut + 1)) (ptn.setIfInBounds cut level)
theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.finish
{n level first last : Nat}
{before active : VSet n}
{ptn : Array Nat}
(h : ActiveSpan level first last before active ptn)
:
CellActive level first last before active ptn
theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.replace
{n level first last : Nat}
{before active : VSet n}
{ptn : Array Nat}
{v : Nat}
(h : ActiveSpan level first last before active ptn)
(hf : first < v)
(hl : v < last)
(hb : last ≤ n)
(ha : active.mem first = false)
:
Replacing one interior fragment by the first fragment leaves exactly that interior fragment as the sole possible inactive fragment.
Appended queue entries belong to the cell currently being split. The saved largest-fragment position therefore cannot erase another cell.
Instances For
theorem
Hex.GraphIso.Nauty.Sparse.ActiveSpan.replace_get
{n level first last base pos : Nat}
{before active : VSet n}
{ptn queue : Array Nat}
(h : ActiveSpan level first last before active ptn)
(hq : QueueSpan first last base queue)
(hp : base ≤ pos)
(hb : pos < queue.size)
(hn : last ≤ n)
(ha : active.mem first = false)
:
Read the saved queue position using the bounds established by the executed append operations.