Euclidean-chain arithmetic and oracle accounting #
This module closes scalar recurrences and exact finite-query accounting that are independent of the guarded estimate-sequence and finite-data OGM-G vector identities. It deliberately does not turn either load-bearing identity into a certificate field.
The ordinary backward tail theta_n=1, iterated away from the endpoint.
Equations
Instances For
The special doubled first coefficient of the OGM-G certificate.
Equations
- O3.ogmgThetaZero n = O3.thetaZeroStep (O3.ogmgThetaTail (n - 1))
Instances For
The exact lower bound theta_0 >= (n+1)/sqrt 2.
Exact number of pair calls in the source's Euclidean trial: Phase A makes
at most two calls per iteration, Phase B reuses U, makes n further iterate
queries, and makes one terminal descent query.
Equations
- O3.euclideanTrialCallBudget m n = 2 * m + n + 1
Instances For
Universal concrete call constant for the diagonal Euclidean horizon.
The two Phase-A oracle calls at each iteration, in chronological order.
Equations
- O3.euclideanPhaseTrace oracle y accelerated = List.flatMap (fun (i : Fin m) => [oracle.observe (y i), oracle.observe (accelerated i)]) (List.finRange m)
Instances For
Phase B reuses U; this trace therefore contains only the n newly queried
iterates u_1,...,u_n and the additional terminal query at v_n.
Equations
- O3.finiteDataOGMGTrace oracle newIterates terminalDescent = List.map (fun (i : Fin n) => oracle.observe (newIterates i)) (List.finRange n) ++ [oracle.observe terminalDescent]
Instances For
Full Euclidean local-trial trace with no double-counting of the reused U.
Equations
- O3.euclideanTrialTrace oracle y accelerated newIterates terminalDescent = O3.euclideanPhaseTrace oracle y accelerated ++ O3.finiteDataOGMGTrace oracle newIterates terminalDescent
Instances For
Scalar denominator step used at the end of the guarded Euclidean-gap proof.