Code storage on the unique descent before the first leaf exists.
Unlike FirstCodeInv, this phase has no stored first-leaf sentinel yet.
- lt (c : Nat) : c ∈ cs → c < codeSentinel
Instances For
Writing one real refinement code advances the pre-incumbent descent to its child.
Once the first descent reaches a real leaf, firstterminal installs
exactly that leaf as the semantic incumbent.
The discrete arm of firstPathNode is exactly firstterminal on the
refined leaf state.
Under the search invariant, the transcription's refined cell-count guard agrees with the specification's discreteness guard.
Writing the current refinement code extends the stored first-path code sequence by one entry.
A discrete first-path node installs the exact specification leaf and returns ordinary completion. This is the phase transition from an absent incumbent to the stable off-path comparison state.
The invariant-packaged first-path leaf rule: the search invariant
supplies guard agreement and DescentCodes supplies the pre-incumbent
code store.
The root outcome is closed outright when root refinement is already discrete.
Refinement and comparison preparation do not alter the one-shot short-prune request carried into a leaf.
If a discrete off-path leaf requests an early unwind, otherNode
returns its processnode result verbatim.
Leaf cleanup always consumes a pending one-shot short-prune request.
A discrete off-path leaf that does not unwind runs the empty child sweep and returns ordinary node completion.
The maximum of two installed leaf keys still has a nonempty path.
The faithful off-path leaf event can be read through stInc even in
the row-rejection arm, where compCanon holds a row comparison result
rather than a canonical one.
The first-path-agreeing leaf whose guarded admission fails has the same exact incumbent read as the ordinary leaf comparison.
Any early off-path leaf event that exposes its exact incumbent read
constructs the local pruned outcome. Event-specific comparison proofs only
need to establish hread.
A leaf event returning a generator carrier to a strict ancestor lifts directly to the node's explicit unwind outcome.
A successful code-one leaf is a genuine generator unwind: the sentinel identifies its path with the stored first path, the checked carrier identifies the leaf rows, and the first guide supplies the already-covered ancestor child.
A row-tied code-two leaf becomes either the canonical-guide unwind or the explicitly distinguished first-ancestor orbit unwind.
A first-path-agreeing leaf whose sentinel or automorphism guard fails falls through the ordinary leaf comparison and yields the same exact local prune outcome.
An early non-first-path leaf return has already absorbed its whole
(singleton) specification subtree. Its signed comparison return is a
local prune outcome. The carrier and guide lemmas strengthen a generator
return to unwind.
Leaf cleanup changes no field used to read the incumbent.
First-path sweep cleanup does not alter the installed incumbent.
First-path sweep cleanup does not uninstall an incumbent.
A generator payload is insensitive to the first-path exit counter.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every node outcome crosses the first-path exit counter update.
A non-discrete first-path node is its explicit prefix state, one child loop, and the single exit-counter update.
A sound child-loop result supplies the complete outcome of a non-discrete first-path node. The theorem keeps the node's runtime fuel, the recursive node fuel, and the loop fuel separate.
Once the imperative prefix has exposed an off-path child loop, either loop return constructs the corresponding node result.
The ordinary off-path internal branch, with no pending short prune and a cheap refined partition, reaches its child loop without another state write.
The complementary off-path leaf case completes after its empty child
sweep, retaining the exact leaf maximum installed by processnode.
A first-path node with no runtime fuel reports exhaustion.
An off-path node with no runtime fuel reports exhaustion.
First-path child-loop fuel exhaustion is not completion.
Off-path child-loop fuel exhaustion is not completion.
With positive loop fuel, an absent next child completes the first-path sweep rather than exhausting it.
With positive loop fuel, an absent next child completes the off-path sweep rather than exhausting it.
An off-path child generator unwind strictly past this loop returns immediately after removing the child's temporary fixed vertex.
After an ordinary child completes without requesting either filter, the off-path loop recovers its parent frame and continues.
An off-path child of the first-path loop that unwinds strictly past this loop returns immediately after removing its temporary fixed vertex.
The guiding child of the first-path loop that unwinds strictly past this loop returns after installing the guide controls and removing its temporary fixed vertex.
A non-root orbit pointer skips the current first-path child and continues with ranked coverage advanced past that child.