A saved cheap boundary and its implicit automorphism pair.
- pair : st.noncheaplevel < level → PairOk ctx.g rptn rlab 1 (fmptn st.lab st.ptn st.noncheaplevel n).fst (fmptn st.lab st.ptn st.noncheaplevel n).snd
Instances For
The saved boundary supplies a valid pair when its guard permits pruning.
The cheap-boundary invariant depends only on the current labelling, partition, and boundary level.
Reopening below level preserves every fmptn frozen at or above
the root and at or below level.
Recovery either parks the boundary just below the next child, where the strict pair condition is dormant, or retains an older frozen pair.
Writing a boundary at or above the logical level suspends the pair condition without changing the partition facts needed to revive it.
A valid pair at the current boundary extends the invariant through the next logical level.
Refinement only splits at the current level and permutes within the old current cells, so every pair frozen at a strictly smaller level is unchanged.
Individualizing inside a current cell does not change the implicit pair frozen at an older cheap boundary.
The initial search boundary is one, so its strict pair condition is empty at the root.