theorem
Hex.GraphIso.Nauty.Sparse.Compact.retained
{before : Array Nat}
{p : Nat → Bool}
{first upto : Nat}
{seen : List Nat}
{lab hit : Array Nat}
{next q : Nat}
(h : Compact before p first upto seen lab hit next)
(hq : first ≤ q)
(hu : q < next)
:
Every vertex retained by compaction fails the split predicate.
theorem
Hex.GraphIso.Nauty.Sparse.Compact.separated
{before : Array Nat}
{p : Nat → Bool}
{first last : Nat}
{seen : List Nat}
{lab hit : Array Nat}
{next : Nat}
{out : Array Nat}
(h : Compact before p first last seen lab hit next)
(hlen : seen.length = last - first)
(hr : Fill lab hit.toList.reverse next hit.toList.reverse.length out)
:
Reinsertion produces the two predicate classes in the required order.