Inexact contraction — convergence with a fallible executor
Parent: analysis
Exact Banach iteration assumes each step is performed perfectly; what happens when every step is executed by a fallible solver with error up to ? Answer: you still converge — but to a ball of radius , not to the point.
ContractionLet be a metric space and a map. We call
Ta contraction with factorkif there exists such thatBanach's fixed-point theorem:
Thas a unique fixed point , and the exact iterates converge geometrically to from any starting point :
Inexact iterationAn inexact iteration is a sequence with the property that
for all
n— each step lands within of whereTwould have put it. The true contractionTis not called; instead, a fallible executor (e.g., an LLM, an approximate solver) produces subject only to this distance constraint.
Inexact contractionLet be an inexact iteration under contraction
Twith factork < 1and fixed point . Then:As , the iterates converge to the ball around of radius :
ProofOne step: Apply the triangle inequality and the contraction property to :
Unroll the recurrence: Starting from and applying the one-step bound times:
Continuing all the way:
The first term decays geometrically to 0. The second term increases toward as . Since we have , so . ∎
Worked trace: halving with constant error
Let , , so k = 1/2 and the fixed point is . Assume worst-case error per step — that is, , starting at . By the theorem, the limit ball has radius .
n | ||
|---|---|---|
| 0 | 1.0 | — |
| 1 | 0.6 | 0.6 |
| 2 | 0.4 | 0.4 |
| 3 | 0.3 | 0.3 |
| 4 | 0.25 | 0.25 |
| 5 | 0.225 | 0.225 |
| 6 | 0.2125 | 0.2125 |
| ∞ | 0.2 | 0.2 |
The iterates descend from 1.0 toward the limit ball 0.2 = , settling exactly on the guaranteed ceiling predicted by the theorem.
Reading it — the harness translation
In a convergent loop that searches for a fixed point:
T= one verified step of the loop body (a function that provably steps closer to the goal);k= the verification quality — the contraction factor from recursion-convergence-contraction, the measure of how much progress each verified step guarantees;- = the per-step error of a fallible executor, e.g. an LLM used as the theory solver;
- = the permanent sloppiness floor — the final ε-neighborhood of the goal, the ball of allowable tolerance, an instance of tolerance by design.
The amplification factor is crucial: as k approaches 1 (weak verification, barely contracting), the same per-step sloppiness blows up catastrophically in the limit. For example, at k = 0.9, each unit of becomes 10 units of final error; at k = 0.99 it becomes 100.
The toxicity of non-contraction
Without contraction — that is, if k ≥ 1 — the same one-step recurrence gives only
errors accumulate linearly and never settle. Worse, if k > 1 the error grows exponentially. So softening every step (allowing up to error) is safe only when paired with strong contraction. Tolerance without contraction is drift: you have bought nothing but permission to fail systematically. See kleene-fixed-point for the order-theoretic exact cousin of Banach contraction.