The four arrays read by the partition-effect contract are unchanged.
Instances For
Bookkeeping changes preserve an already established call effect.
Compose two local operations.
A surviving target set consists of vertices in one nontrivial cell. The empty set needs no target-cell witness.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Removing target vertices preserves the target-cell witness.
A sweep's frame effect transports membership of every remaining target vertex into the returned labelling.
Partition rules for the local policy operations. The child and refinement rules compose their own changes with the finer recursive effect; recovery restores the parent's level convention.
- record (level code numcells : Nat) (st : σ) : SearchOk G level numcells (view st) → Local G view level numcells st (Policy.recordFirst level code st)
- compare (level code numcells : Nat) (st : σ) : SearchOk G level numcells (view st) → Local G view level numcells st (Policy.compareCodes level code st)
- firstterminal (level numcells : Nat) (st : σ) : SearchOk G level numcells (view st) → Local G view level numcells st (Policy.firstterminal level st)
- classify (level numcells : Nat) (st : σ) : SearchOk G level numcells (view st) → Local G view level numcells st (Policy.classify ctx level numcells st).snd
- cheap (first : Bool) (level numcells : Nat) (st : σ) : SearchOk G level numcells (view st) → Local G view level numcells st (Policy.cheapCheck first level st)
- child (first : Bool) (level numcells tc tv : Nat) (cell : VSet n) (st : σ) : 1 ≤ level → SearchOk G level numcells (view st) → Target view level tc cell st → cell.mem tv = true → let child := Policy.child first level tc tv st; SearchOk G (level + 1) (numcells + 1) (view child) ∧ ∀ (out : σ), SearchOut G level (level + 1) (view child) (view out) → SearchOut G level level (view st) (view out)
- afterSweep (first : Bool) (level size index : Nat) (st : σ) : FrameEq view st (Policy.afterSweep first level size index st)
Instances For
Entry and exit assertions for partition reachability. They apply also to truncated searches: exhaustion preserves all frame facts.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Finishing a node's child sweep preserves its frame for every exit.
Local partition rules compose across refinement and one node's decisions, assuming the child sweep has its frame effect.
Consume a child's exit, prune the remaining target, and recover the parent before continuing the sweep.
One sweep iteration preserves its parent frame when both recursive continuations preserve theirs.
The local partition rules instantiate the generic recursion contract.
Every policy satisfying the local partition rules preserves node reachability.
Every policy satisfying the local partition rules preserves sweep reachability.