Stalls

Where an exact descent stops short of the bottom, including where no measurement tie sits anywhere near it, how far an escape is when one exists, and the geometry of the intervals a reader consults — which is what decides whether lowering a patience improves anything at all.

The thing being descended is a commitment policy over a cover of intervals (descent in reader space), and what follows states what it needs of one. A stream is the continued-fraction expansion of a real number, arriving digit by digit, and a map is a function applied to it. After n digits the value is pinned to a cylinder, and what the reader is certain of about the output is the image interval, that cylinder's picture under the map; these nest and shrink as digits arrive. A row is one (map, stream) pair.

What a reader commits to are cells drawn from one fixed family, the cover: the tree cells, the Stern–Brocot cells, each the set of positive reals whose expansion opens with a given run of digits, and the straddle chains standing at their vertices, a cell's vertex being the mediant of its two endpoints — the fraction whose numerator and denominator are their sums. Both kinds are graded by rank, which steps by one along every child relation (the redundant cover). A commitment is a ratchet: never undone, and permanently sound, since a cell containing the current image contains every later one. What a policy chooses is the route past a vertex — the tree child or the chain — and how long to wait before committing: four coordinates, a route preference at each of the two cell kinds and a patience for each. A kind at patience p commits a candidate only once it has contained the image for p+1 consecutive steps; patience 0 is greedy, committing on sight, patience ∞ refuses that kind outright, and the policy refusing both is the refuser. Within one input step a reader multi-commits — takes commit moves for as long as any remains available. A kind's reference is the image interval its patience makes a candidate contain, the one from p steps back at patience p, so the two kinds carry their own references and a policy with equal patience on both shares one.

Two exact rulers price a policy over a counted window, a fixed span of input steps, the same for every policy compared. The deficit at a step is the scale the reader is short — writing a cell's scale for ln(1/length), the image interval's scale less the committed cell's — and the clock loss is that same lag counted in whole steps. Both compare by cross-multiplying big integers, so no float enters any decision. Descent is the matching finite-graph notion: neighbouring policies differ in one coordinate, a move is taken only when it strictly lowers the loss, and a stall is a policy with no strictly better neighbour. Descent runs on the behavioural quotient — policies identified when their committed-cell traces over the window agree, since two policies with identical traces cannot be ordered by any loss reading that window; the resulting classes are what descent moves between. Resources, where they are in force, enter as settings rather than as coordinates: a rank budget B of cover-rank units per input step, and a bank of capacity W holding what a step does not spend, against which the policy gains a fifth coordinate for how much of the bank a single step may draw. What they are spent against is the row's demand, the rank per input step that row asks for. A setting with neither in force is unresourced, and there the four coordinates are all of it.

The census

The stall census pattern

Every stall found at scope, with the cure the species takes. The cures name three instruments: a refinement of the comparator, the quotient the descent already runs on, and lookahead — accepting a short sequence of moves whose net effect improves where no single move does.

specieswhat stallscure
the plateau (space-born) a blind region of unbounded width — total refusal, where every neighbour prices infinite and the comparator has no signal a SIGNAL: lexicographic refinement by the loss's own finite part; radius-free, so it scales with the plateau
the degeneracy (space-born) a flat in the quotient — behaviourally identical policies tied together, manufactured by resource abundance (a full bank smooths two patiences into one trace) the QUOTIENT: descend counted-window behaviours rather than coordinates, on which the species cannot form
the ruler disagreement (loss-born) two exact losses over one window ordering an edge oppositely — the coarse ruler dams the fine one's gradient, so the deficit's own exit is clock-blocked and the class stalls under the clock order alone two-move LOOKAHEAD, or descending the finer ruler across the coarse ruler's plateaus
the burst trap (resource-born) a strict local minimum with no tie in it — under a binding budget a demand burst makes one patience pay a little early to win a lot late, a paired trade every single move breaks two-move LOOKAHEAD; neither refining the ruler nor quotienting the space touches it
the horizon-cut stall (window-born) a strict local minimum with no budget anywhere in it — the counted window ends inside a trade's transient stretch (two traces part, the early loser collects late, they re-merge), freezing the late win in place at the cut two-move LOOKAHEAD — or the count itself: the census specimens dissolve once the window outgrows the trade

A fifth species held a seat and lost it: coordination blindness, the trap a binding budget seemed to open under the unthrottled optimum itself, cured by a diagonal move — on the quotient the trapped class merges with its behavioural twin one route flip from the bottom, so the diagonal cure was two ordinary moves through a twin-flat and the honest space never had the disease.

What the survivors share was once an open conjecture — every stall is a tie artifact, dissolved by refining the ruler or quotienting the space — and it settles as a dichotomy. The spine is the policies whose two kinds share one reference: equal patience on both, unresourced, every patience shorter than the counted window's start. On the spine the conjecture is a theorem: the cover cells containing an interval have an inclusion minimum, that minimum is monotone in its interval, so committed cells nest pointwise along the patience diagonal and lexicographic deficit descent on the behavioural quotient stalls nowhere off the bottom, which is greedy — at any nested shrinking stream and any horizon. Off the spine the counterexamples are genuine hills with no measurement tie anywhere in their neighbourhoods, so the instrument pair does not suffice in general: the burst trap under a binding budget, and the horizon-cut stall with no budget at all — three specimens, two in plain period-2 digit streams under the squaring map at horizons 11 and 12, one built from three digit bursts at horizon 16, where the same census over 177 generic streams finds none. The census pair dissolves once the window outgrows its trade, so a stall-free landscape — one loss surface, a row and a setting fixed — is a property of the battery it was drawn from, generic streams and long counts and slow maps, never of the unresourced space; what says where nesting still holds there is the decision lemma.

Scope. A census over the settings scanned plus a designed battery, not a classification of exact reader spaces. The two space-born species and their cures are rules at the scopes the funnel and the resource laws state; the ruler disagreement is a single specimen, at (B, W) = (2, 0), and whether it is knife-edge or a family is open; the burst trap is six designed specimens (spike digit streams under the doubling map at budget 2); the horizon-cut stall is three specimens in exact arithmetic, one hand-verified at each horizon; the spine theorem is proved for this cover and move set.

verifiers: explore_bootstrap_cures.py, explore_scale_clock.py, explore_stall_tie.py, explore_stall_assembly.py

The slow-map refusal and the one-cell wall observation

Of the battery's three legs, the slow map is the one an adversary without a budget cannot buy back — the burst trap already buys the doubling map back with one. Widen the digit range to 256 and take horizons 9–20: the identity and doubling maps refuse across some 2,800 distinct censused landscapes and 70,000 adversarial search evaluations, under the same detector that reproduces every squaring-map specimen. A large digit buys one step of shrink under any map, but only the squaring map compounds it along the window, so the best slow-map stall margin approaches zero inversely in the digit cap and never crosses. Behind the approach stands a wall. At the best margin the search reached under each map the figure is exactly the price of one further step down the cover, from a cell to a child of it, each under its digit-cap bound — one record traced to its cells and the other a single-counted-step ratio by construction — and that one-cell wall is proved for any reader class holding a one-move neighbour whose committed cells sit nested-or-equal at every counted step. That domination condition holds for all 9,401 classes measured under the identity map, without exception; the doubling map dents it in 632 classes, of which 540 keep a neighbour shorter step for step without nesting and 92 still lose only on aggregate; the squaring map's stalls break it outright — every neighbour of a stall concedes somewhere inside the window.

Scope. The refusal is an adversarial search at the stated digit caps and horizons, so it is an observation and not a law about slow maps. The one-cell wall is proved for this cover, conditional on the domination condition; that condition is exhaustive at scope under the identity map (9,401 off-bottom classes at horizons 9, 10, 12 and 16, zero exceptions) and measured, not derived, under the others. Toy scale.

verifiers: explore_stall_maprate.py, explore_stall_domination.py

The escape radius rule

A stall's escape radius is the length of the shortest improving move sequence out of it, and every finite-loss stall found — the ruler disagreement, the six burst traps, the three horizon-cut stalls — has radius exactly 2: no single move improves any of them and a pair of moves improves all of them. The infinite plateau stays the signal cure's customer, its radius unbounded. At two moves the cure is proved wherever the stalled class holds a policy with both patiences finite and positive whose counted window still refines. Lowering both patiences by one is an exact delay — that reader's committed cell at every step is the parent reader's cell one step later — so its cells nest inside the parent's pointwise, its loss telescopes to the window's endpoints, and it improves strictly whenever it changes the class, on any map at once, with zero exceptions across all 21,336 censused classes. The squaring-map stalls hold no such policy — each is a single policy with its straddle patience at zero — so their radius-2 escapes stay measured rather than derived.

At one move instead of two the nesting is measured rather than derived, one corner of it excepted, and its anatomy is mechanism-deep. The nesting neighbour is a patience-lowering move every single time across both maps censused: no route flip, no diagonal and no patience-raising move ever nests. Which member of the class is chosen is load-bearing — single patience-down moves break pairwise nesting in 3,225 of 44,040 identity-map pairs — and the two parallel commit loops admit exactly two ways of diverging from equal cells: a nested descent, or a cell where the policy prefers the tree side and only the fresher reference opens a route while the chain is still live. Under the identity map that second one is benign — every firing sits before the counted window opens — and the failing pairs drift apart after a divergence that was itself nested. What never breaks is the chain-preferring corner (the chain-preferring nesting theorem), which settles 5,774 of the identity map's 9,401 classes outright; the remaining 3,627 are witnessed only by readers preferring the tree side at one or both cell kinds, whose nesting violations all sit before the counted window begins and heal before it opens.

Scope. The two-move cure is a theorem for this cover and move set, unresourced, at any map and stream, under the stated patience hypothesis; the radius-2 figure is a measurement over the stalls the census holds. The one-move statements are exhaustive at the censused scope — 21,336 classes, the identity and doubling maps — and the pre-window confinement is a rule at the identity scan's scope, so the one-move law is not a theorem: the corner that is proved is its chain-preferring case under the identity map, below. Toy scale.

verifiers: explore_shift_telescope.py, explore_seed_exclusion.py, explore_chain_persistence.py

The reference geometry

The chain-preferring nesting theorem theorem

Under the identity map, take a reader preferring the chain route at both cell kinds and lower its tree patience by one. The two runs — that reader and its lowered copy, walked over one stream — commit cells that nest pointwise, the lowered run's inside the other's at every step. This holds across the whole chain-preferring slice — every chain patience against every tree patience, finite or infinite — at every stream, not only the ones scanned.

The argument runs through the door — a step at which a run leaves the straddle chain standing at a vertex, committing instead inside the cell that chain sits in — rather than through the refusal that blocks one. Call that chain the vertex's ladder, its cells the rungs, and — under this map, where a reference is a cylinder — the index of a reference the number of digits it pins, so the finer reference carries the larger index. To fall behind, a run must door off the ladder early, and dooring needs a tree reference fine enough to sit strictly inside the cell it doors into. Three facts close that route, and under this map all three read as facts about cylinders. The vertex of any ladder a run occupies is a convergent of the stream's value — one of the best rational approximations its expansion produces — and the ladder there is exactly as long as the expansion's next digit; at a vertex that is not a convergent the descent turns away and the ladder is never entered. The cylinders strictly inside the cell a door leads into are exactly those of index past the convergent's own, every coarser one holding the vertex on its boundary or inside it. And a chain reference two or more indices past the convergent's own has already maxed the ladder, its near end lying strictly past the last rung. So where the dooring reader's tree reference is the staler of the two, a reference fine enough to door forces a chain reference finer still, which has already maxed the ladder: the run either chains rather than dooring, where that move is still available to it, or leaves from the ladder's top rung, which is the only one left to leave from — never from below the rung the other run will reach. Where it is the fresher, the reference that would let it door already sits inside the chain reference the two share, so the cell it doors into lies inside the other run's cell to begin with. Both cases are read at the patience of whichever run is the one at risk, which is what makes them meet with no gap. What each of the three facts actually asks of the cylinders, and how little it turns out to be, is the door inequalities.

Under the squaring and doubling maps a reference is the image of a cylinder rather than a cylinder, and the law fails thousands of times over the same digit products — always with the lowered reader's tree reference staler than the chain reference the two share, and always in one crossing shape: the run holding the staler reference commits a straddle whose near endpoint is strictly interior to the other's cell.

Scope. The identity map and the chain-preferring slice of the policy space, with two lemmas imported already proved — the crossing catalog and the fresh-regime lemma of explore_chain_persistence.py. The scans confirm rather than carry it: 3,696,980 pair runs at distinct coverage over complete digit products with zero bad steps, and each of the three facts checked separately over four exhaustive censuses. The map contrast is measured at the digit products scanned, not proved.

verifiers: explore_ladder_entry.py, explore_chain_persistence.py

The door inequalities rule

The cylinders are not the hypothesis. Take the reference family — the nested chain of intervals a run's references are drawn from — as the design variable instead of the map, the images of the maps set beside chains built by hand, and the three facts' dependencies come apart. The VERTEX fact asks nothing of the intervals' arithmetic at all, and on closer reading asks nothing of this construction either: it is a property of the Stern–Brocot tree. Every value descends that tree through its semiconvergents — the intermediate fractions its expansion passes through on the way to each convergent, got by stopping a digit short — turning only at the convergents among them, in runs as long as the expansion's digits. The end of a straddle on the value's own side is the next semiconvergent along, so the value sits inside that straddle exactly when the descent stops advancing past its vertex — which is to say the value itself occupies every convergent it reaches and no other vertex at all. What a run commits is a sub-collection of those — a committed cell always contains the value, so containment alone forces the vertex, whatever family the reference was drawn from — which is what leaves the stride below anything to differ about. The scans measure the part that concerns runs — 681,632 occupied vertices over ten families crossed with both route preferences, not one at a vertex that is not a convergent, each ladder running exactly as long as the next digit (the redundant cover's ladder law read from the reader's side) — which makes them a check that the cover behaves like the tree beneath it rather than a finding of their own. The MAXED-LADDER fact asks nothing of the arithmetic either. That leaves the CONTAINMENT fact — which references sit strictly inside the cell a door leads into — and it is the only one whose measured behaviour reads as arithmetic: writing a reference's determinant for |adbc| at endpoints a/b and c/d, determinant 1 is sufficient and nothing more — 568,195 doors opened by a determinant-1 reference, zero failures, while determinant 2 fails at 73,354 doors and still holds at 14,939. The determinant was standing in for a decomposition, and the decomposition is the tree's own. Determinant 1 is exactly the condition that makes an interval a tree cell — the tree's cells are bounded by determinant-1 pairs and nothing else is; and a reference of any determinant is a finite union of maximal tree cells — its pieces — which tile it, so its index is the smallest of theirs. Exactly one piece holds the value the run is reading, and that OCCUPIED piece is fine enough for free. The cell a door leads into is a child carrying the vertex as an endpoint, and the reference sits strictly inside that cell, so neither the reference nor its occupied piece holds the vertex; the occupied piece, being a tree cell that holds the value, is a node on the value's own path down the tree; and the nodes on that path between one convergent and the next are exactly the semiconvergent intervals, every one of them carrying the vertex as an endpoint. A node holding the value and not the vertex is therefore already of index past the convergent's own — a lemma rather than a tally, with the scan as its control, short at none of 738,910 doors. Containment then holds exactly when the pieces the value does NOT occupy reach that index too, and determinant 1 is sufficient for the empty reason that it has no such piece. Determinant 2 is two pieces glued at the half-mediant — the mediant of the two endpoints with numerator and denominator each halved — and fails exactly where that second piece is too coarse. The criterion cuts across the determinant rather than refining it: determinant 3 splits into two pieces at 49,245 doors and into three at 34,867. So the arithmetic leaves the statement.

What the law needs is none of it, and no family label carries it: two inequalities, both read at the door itself. At a convergent vertex of index σ — its position in the expansion, which is the same digit count an interval's index measures — the tree reference's index is at least σ + 1, and the chain reference's index is strictly larger than the tree reference's. Where both hold, a chain-preferring run's chain reference has maxed the ladder — 68,958 doors on that slice across all ten families, zero short, the count running over the doors whose ladder length the family's own read digits reach, that length being undefined past the horizon. The two conclusions then run on different mechanisms, and they are not one fact read twice. The tree cell door that would leave early is empty because a chain move exists there and the preference takes it: the run chains rather than dooring. The straddle exits are not empty at all — every one of the 68,958 leaves at the maxed rung, the only rung left to leave from, with no chain move on offer at a single one of them, the commit loop requiring a strict improvement. The invariant that the ladder never grows past the index a run doored out at is satisfied by the exit's own height, then, and not by the exit being prevented. Where the first inequality fails — 4,511 doors, the chain reference short at 2,356 of them — is where all 1,583 surviving violations sit.

The geometry is preference-free and the law is not, and that is the rest of the hypothesis. Run the same split on the tree-preferring slice: the maxed ladder is still handed over at all 88,932 such doors, while 33,319 of those exits violate the invariant, against zero under chain preference. So the two inequalities force the geometry and the preference is what converts it into the law — the step that decides whether a run takes the maxed rung it has been handed. That also sharpens what the chain/tree axis is. Both preferences chain only at convergents and walk them in strictly increasing index, so neither reads anything but the continued fraction and the axis is stride: where the tree reference is the staler of the two, the chain-preferring run never once walks consecutive convergents, 0 of 5,859 sequences, and the tree-preferring run does in 1,646 of 5,875. The statement is about single decisions rather than about families or policies — a run cannot read its own reference's index without knowing the digits, and a determinant-3 family carries decisions of both kinds. The cylinder family satisfies both inequalities at every door of the kind at issue, which is why it looked for so long like the hypothesis itself.

Scope. Ten reference families — the maps' images and hand-built chains — × 16 runs × exhaustive digit products, 1,209 to 1,241 streams per family. The geometric half is measured at both route preferences and the nesting half at the chain-preferring one; the two are stated together because the contrast between them is the finding. A rule at that scope and not a theorem over all families: what is proved is the identity-map case above. No input stays keyed to the endpoints' arithmetic: what separates a determinant-2 reference that opens a door respecting the first inequality from one that does not is where its unoccupied piece sits, read over the same ten families at both preferences. The occupied piece's own reach is proved rather than measured, and the classification sets aside 1,690 doors, all at determinant 3, where a family's finite digits leave undecided which piece holds the value.

verifier: explore_reference_families.py, explore_g2_separator.py

The decision lemma rule

What the spine theorem runs on is nesting: lower a patience, and the committed cells of the two runs nest pointwise, so the finer trace's cell sits inside the other's at every counted step. Off the spine that nesting is measured dead — but not everywhere, and where it survives has a name. Call a step decision-free when no iteration of its multi-commit had both candidates available at once: a tree child and a straddle chain cell both containing the current image, which is the one configuration in which the loop has a route preference to consult. Unresourced, along a patience-down move — one that lowers a single patience coordinate — committed cells nest at every step whose whole history is decision-free in both runs — zero exceptions among the 188,928 (policy, step) pairs that qualify. So the spine theorem's nesting dies only where a preference decision was available. That is necessary and not sufficient, and the same counts refute the converse outright: 481,937 such pairs carry a decision in their history and nest anyway. Half the proof is in hand. From a common start it is complete — a smaller tree reference sits in the same child and a smaller chain reference gives a weakly longer chain, so both loops walk the same branch sequence with the lower-patience run refining at least as far, and a candidate appearing for the smaller reference would itself be a second candidate. What the engine carries alone is the induction across steps, where the two runs start from different cells: that is the monotone-fixed-point step the bottom lemma records as tight in its single-reference form.

The consequence is a necessary condition on any unresourced stall off the spine — every patience-down neighbour separated from it by an available decision — and the question that condition leaves: can a preference decision alone, with no conserved budget behind it, buy a late gain with an early loss? A budget can, and that is the burst trap's whole mechanism: a conserved spendable quantity, so paying early removes capacity late. Unresourced the answer is still yes. Across three designed batteries, 10,174 pairs of policies one policy move apart carry a first differing counted step and a total deficit pointing opposite ways — the side worse where the traces part ends strictly ahead — and 4,114 of those pairs hold equal patience on both ends, so the two runs read identical references at every step and the entire divergence is the two preference bits. The cleanest witness pays 3.244 ln at its divergence step, then collects 6.415 ln at each of the next three while the early winner freezes — its own subdivision point sits inside the shrinking references — before the traces re-merge, 15.9995 ln apart. Nothing is conserved anywhere in that trade; the only coupling between steps is the ratchet's position. So a budget manufactures not the trade but its assembly into a local minimum: the same landscapes carry thousands of trades and not one stall — zero stalls and zero adjacent value ties across 348 distinct unresourced landscapes, up to 1.9 times the decision density the earlier evidence was read off — so a trade's late winner, the end a stall would have to hold wherever a neighbour wins the step at which their traces part, always sits at the bottom or finds a strictly improving move elsewhere in its neighbourhood. A world can deny it one: that is the horizon-cut stall, which ends the counted window inside the trade so the late win stands, and beats whatever neighbours remain outright.

Scope. Exhaustive over 741,888 patience-down comparisons — one policy and one counted step each — unresourced, on the nine rows at horizon 120 and on the spike-stream battery at horizons 16 and 120; the nesting statement is the 188,928 of them that are decision-free throughout. The common-start half is proved for this cover and move set; the induction across steps is carried by the engine at that scope and not by a proof. Nesting beats the coarser trace in the lexicographic deficit only while both traces are finite-loss, which at patiences below the counted-window start is every trace measured. The trade's existence is a rule — an exact-arithmetic witness, re-derived by hand — and its abundance an observation over 276,376 policy pairs in 1,102 landscape runs; the desert is an observation over the 348 landscapes. Toy scale.

verifiers: explore_stall_unresourced.py, explore_decision_trade.py