Frozen outer curvature/radius controller #
The executable object is a fuel-bounded deterministic controller. Scale failures double the curvature and reset the radius level; radius failures double the tested radius; success is terminal. Running states contain only finite observations, guard reports, and exact counters. Termination is proved from the local-trial obligations and finite numerical search caps; it is not a field of the controller state or of a certificate.
Inputs known to the outer controller after the anchor phase.
- initialScale : ℝ
The scale estimate at the controller's initial epoch.
- gradientSizeAtStart : ℝ
The initial gradient size used to convert scale levels into radii.
- eps : ℝ
The requested upper bound on the terminal gradient norm.
- prefixCalls : ℕ
Counted prefix calls (initial query and anchor probes).
Instances For
The scale estimate after the specified number of dyadic doublings.
Equations
- cfg.scaleAt s = 2 ^ s * cfg.initialScale
Instances For
The radius at a given scale epoch and radius-doubling level.
Instances For
A running state. Every report in history is a rejected trial.
- scaleEpoch : ℕ
The current number of scale doublings.
- radiusLevel : ℕ
The current number of radius doublings within the scale epoch.
- totalCalls : ℕ
The total number of counted calls, including initialization.
- rejectedCalls : ℕ
The calls spent on trials already rejected by the controller.
- history : List (TrialReport d)
The reports of all trials rejected before the current state.
Instances For
Initialize both search levels at zero and retain the counted initialization cost.
Equations
- O3.initialControllerState cfg = { scaleEpoch := 0, radiusLevel := 0, totalCalls := cfg.prefixCalls, rejectedCalls := 0, history := [] }
Instances For
The scale estimate selected by the current controller state.
Equations
- O3.ControllerState.scale cfg state = cfg.scaleAt state.scaleEpoch
Instances For
The radius selected by the current controller state.
Equations
- O3.ControllerState.radius cfg state = cfg.radiusAt state.scaleEpoch state.radiusLevel
Instances For
A deterministic local guarded trial routine.
Equations
- O3.TrialRoutine d = (ℝ → ℝ → O3.TrialReport d)
Instances For
Terminal controller data; it contains no correctness proposition.
- point : Vec d
The point returned by the successful terminal trial.
- totalCalls : ℕ
The total counted calls when the controller terminates.
- rejectedCalls : ℕ
The portion of the total cost spent on rejected trials.
- terminalCalls : ℕ
The calls used by the successful terminal trial.
- history : List (TrialReport d)
The trial reports retained in the completed controller execution.
Instances For
One controller transition either produces another running state or a completed result.
- next {d : ℕ} (state : ControllerState d) : ControllerStep d
- done {d : ℕ} (finish : ControllerFinish d) : ControllerStep d
Instances For
One exact outer-controller transition.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Run the local trial routine at the current scale and radius.
Equations
- O3.currentTrial routine cfg state = routine (O3.ControllerState.scale cfg state) (O3.ControllerState.radius cfg state)
Instances For
A bounded controller execution either exhausts its fuel or returns a successful result.
- exhausted {d : ℕ} (state : ControllerState d) : ControllerRunResult d
- success {d : ℕ} (finish : ControllerFinish d) : ControllerRunResult d
Instances For
Explicit deterministic fuel-bounded execution; no termination is assumed.
Equations
- One or more equations did not get rendered due to their size.
- O3.runController routine cfg 0 x✝ = O3.ControllerRunResult.exhausted x✝
Instances For
Exact invariant separating prefix, rejected, and terminal calls.
Equations
- O3.ControllerState.Accounting cfg state = (state.totalCalls = cfg.prefixCalls + state.rejectedCalls)
Instances For
The total cost splits into initialization, rejected trials, and the terminal trial.
Equations
- O3.ControllerFinish.Accounting cfg finish = (finish.totalCalls = cfg.prefixCalls + finish.rejectedCalls + finish.terminalCalls)
Instances For
Sum of calls recorded by a chronological list of local-trial reports.
Equations
- O3.trialReportsCallCount reports = (List.map O3.TrialReport.calls reports).sum
Instances For
Running-state counters agree with the complete rejected-report history.
Equations
- O3.ControllerState.HistoryAccounting cfg state = (state.totalCalls = cfg.prefixCalls + O3.trialReportsCallCount state.history ∧ state.rejectedCalls = O3.trialReportsCallCount state.history)
Instances For
Terminal counters agree both with history and with rejected/terminal splitting.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Relation consisting of one nonterminal deterministic controller step.
Equations
- O3.ControllerNext routine cfg state' state = (O3.controllerStep cfg state (O3.currentTrial routine cfg state) = O3.ControllerStep.next state')
Instances For
The two finite search caps follow from positivity; they are not supplied to the method.
Lexicographic search rank inside the finite cap rectangle.
Equations
- O3.controllerRank caps state = (caps.scaleCap - state.scaleEpoch) * (caps.radiusCap + 1) + (caps.radiusCap - state.radiusLevel)
Instances For
A successful finish points to an actually queried terminal observation.
Native formal counterpart of the frozen guarded-controller lemma at the
algorithm-semantics layer. It proves termination from the two finite geometric
search caps, returns only a queried successful point, and proves the exact
prefix/rejected/terminal call decomposition. Regime modules discharge
TrialValid and the numerical cap hypotheses.
The guarded controller with its finite geometric caps derived internally from the positive scales. Thus neither termination nor a successful trace is a public input.