FA-14586 / Numerics / Open access
Rational mediant walk: right bound replacement · case 01
The exact rational mediant walk result violates the stated contract at right bound replacement.
ROOT CAUSE
The right bound replacement step uses hi=mid instead of lo=mid.
VERIFIED REPAIR
Use lo=mid at the right bound replacement step.
Unsuccessful approach: The partial repair lo=[mid[1],mid[0]] still violates the right bound replacement invariant.
Case contract
Input path over L/R; return Stern-Brocot interval bounds and its mediant.
Why this case matters
Exact discrete arithmetic with observable algorithmic state; no floating point approximation is used.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import itertools
from fractions import Fraction
N = 1
observations = []
def solve(x):
lo=[0,1]
hi=[1,0]
for step in x:
mid=[lo[0]+hi[0],lo[1]+hi[1]]
if step=='L': hi=mid
else: hi=mid
return [lo,hi,[lo[0]+hi[0],lo[1]+hi[1]]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('R', [[1, 1], [1, 0], [2, 1]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLRL', [[1, 3], [2, 5], [3, 8]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('LRLL', [[1, 2], [3, 5], [4, 7]]), ('LRLR', [[3, 5], [2, 3], [5, 8]])], [('RL', [[1, 1], [2, 1], [3, 2]]), ('RRR', [[3, 1], [1, 0], [4, 1]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRR', [[2, 7], [1, 3], [3, 10]]), ('LLRLL', [[1, 3], [3, 8], [4, 11]]), ('LLRLR', [[3, 8], [2, 5], [5, 13]]), ('LLRRL', [[2, 5], [3, 7], [5, 12]])], [('RR', [[2, 1], [1, 0], [3, 1]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('RLRLL', [[3, 2], [8, 5], [11, 7]]), ('RLRLR', [[8, 5], [5, 3], [13, 8]]), ('RLRRL', [[5, 3], [7, 4], [12, 7]]), ('RLRRR', [[7, 4], [2, 1], [9, 5]])], [('LLR', [[1, 3], [1, 2], [2, 5]]), ('LRRR', [[3, 4], [1, 1], [4, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRLR', [[3, 11], [2, 7], [5, 18]]), ('LLLRRL', [[2, 7], [3, 10], [5, 17]]), ('LLLRRR', [[3, 10], [1, 3], [4, 13]]), ('LLRLLL', [[1, 3], [4, 11], [5, 14]])]]
for i, (args, expected) in enumerate(fixtures[N-1]):
check("explicit oracle %d" % i, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit oracle 0 | [[0, 1], [1, 1], [1, 2]] | [[1, 1], [1, 0], [2, 1]] | Failed |
| explicit oracle 1 | [[0, 1], [1, 2], [1, 3]] | [[1, 2], [1, 1], [2, 3]] | Failed |
| explicit oracle 2 | [[0, 1], [1, 0], [1, 1]] | [[0, 1], [1, 0], [1, 1]] | Passed |
| explicit oracle 3 | [[0, 1], [1, 6], [1, 7]] | [[6, 1], [1, 0], [7, 1]] | Failed |
| explicit oracle 4 | [[0, 1], [1, 1], [1, 2]] | [[0, 1], [1, 1], [1, 2]] | Passed |
| explicit oracle 5 | [[0, 1], [1, 2], [1, 3]] | [[0, 1], [1, 2], [1, 3]] | Passed |
| explicit oracle 6 | [[0, 1], [1, 2], [1, 3]] | [[1, 1], [2, 1], [3, 2]] | Failed |
| explicit oracle 7 | [[0, 1], [1, 2], [1, 3]] | [[2, 1], [1, 0], [3, 1]] | Failed |
SHA-256 / e2a7a79e246e822b5e5ebe2093e70429c3be7ef640bddbbf4faa15e6ae01ad7f
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
import math
import itertools
from fractions import Fraction
N = 1
observations = []
def solve(x):
lo=[0,1]
hi=[1,0]
for step in x:
mid=[lo[0]+hi[0],lo[1]+hi[1]]
if step=='L': hi=mid
else: lo=[mid[1],mid[0]]
return [lo,hi,[lo[0]+hi[0],lo[1]+hi[1]]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('R', [[1, 1], [1, 0], [2, 1]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLRL', [[1, 3], [2, 5], [3, 8]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('LRLL', [[1, 2], [3, 5], [4, 7]]), ('LRLR', [[3, 5], [2, 3], [5, 8]])], [('RL', [[1, 1], [2, 1], [3, 2]]), ('RRR', [[3, 1], [1, 0], [4, 1]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRR', [[2, 7], [1, 3], [3, 10]]), ('LLRLL', [[1, 3], [3, 8], [4, 11]]), ('LLRLR', [[3, 8], [2, 5], [5, 13]]), ('LLRRL', [[2, 5], [3, 7], [5, 12]])], [('RR', [[2, 1], [1, 0], [3, 1]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('RLRLL', [[3, 2], [8, 5], [11, 7]]), ('RLRLR', [[8, 5], [5, 3], [13, 8]]), ('RLRRL', [[5, 3], [7, 4], [12, 7]]), ('RLRRR', [[7, 4], [2, 1], [9, 5]])], [('LLR', [[1, 3], [1, 2], [2, 5]]), ('LRRR', [[3, 4], [1, 1], [4, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRLR', [[3, 11], [2, 7], [5, 18]]), ('LLLRRL', [[2, 7], [3, 10], [5, 17]]), ('LLLRRR', [[3, 10], [1, 3], [4, 13]]), ('LLRLLL', [[1, 3], [4, 11], [5, 14]])]]
for i, (args, expected) in enumerate(fixtures[N-1]):
check("explicit oracle %d" % i, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit oracle 0 | [[1, 1], [1, 0], [2, 1]] | [[1, 1], [1, 0], [2, 1]] | Passed |
| explicit oracle 1 | [[2, 1], [1, 1], [3, 2]] | [[1, 2], [1, 1], [2, 3]] | Failed |
| explicit oracle 2 | [[0, 1], [1, 0], [1, 1]] | [[0, 1], [1, 0], [1, 1]] | Passed |
| explicit oracle 3 | [[3, 4], [1, 0], [4, 4]] | [[6, 1], [1, 0], [7, 1]] | Failed |
| explicit oracle 4 | [[0, 1], [1, 1], [1, 2]] | [[0, 1], [1, 1], [1, 2]] | Passed |
| explicit oracle 5 | [[0, 1], [1, 2], [1, 3]] | [[0, 1], [1, 2], [1, 3]] | Passed |
| explicit oracle 6 | [[1, 1], [2, 1], [3, 2]] | [[1, 1], [2, 1], [3, 2]] | Passed |
| explicit oracle 7 | [[1, 2], [1, 0], [2, 2]] | [[2, 1], [1, 0], [3, 1]] | Failed |
SHA-256 / f299a842f9ac28be7dbadc888dfa330d41863524d9d3ec78672be622ee3115bc
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
import math
import itertools
from fractions import Fraction
N = 1
observations = []
def solve(x):
lo=[0,1]
hi=[1,0]
for step in x:
mid=[lo[0]+hi[0],lo[1]+hi[1]]
if step=='L': hi=mid
else: lo=mid
return [lo,hi,[lo[0]+hi[0],lo[1]+hi[1]]]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[('R', [[1, 1], [1, 0], [2, 1]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLRL', [[1, 3], [2, 5], [3, 8]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('LRLL', [[1, 2], [3, 5], [4, 7]]), ('LRLR', [[3, 5], [2, 3], [5, 8]])], [('RL', [[1, 1], [2, 1], [3, 2]]), ('RRR', [[3, 1], [1, 0], [4, 1]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRR', [[2, 7], [1, 3], [3, 10]]), ('LLRLL', [[1, 3], [3, 8], [4, 11]]), ('LLRLR', [[3, 8], [2, 5], [5, 13]]), ('LLRRL', [[2, 5], [3, 7], [5, 12]])], [('RR', [[2, 1], [1, 0], [3, 1]]), ('LLRR', [[2, 5], [1, 2], [3, 7]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('RLRLL', [[3, 2], [8, 5], [11, 7]]), ('RLRLR', [[8, 5], [5, 3], [13, 8]]), ('RLRRL', [[5, 3], [7, 4], [12, 7]]), ('RLRRR', [[7, 4], [2, 1], [9, 5]])], [('LLR', [[1, 3], [1, 2], [2, 5]]), ('LRRR', [[3, 4], [1, 1], [4, 5]]), ('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('LLLRLR', [[3, 11], [2, 7], [5, 18]]), ('LLLRRL', [[2, 7], [3, 10], [5, 17]]), ('LLLRRR', [[3, 10], [1, 3], [4, 13]]), ('LLRLLL', [[1, 3], [4, 11], [5, 14]])]]
for i, (args, expected) in enumerate(fixtures[N-1]):
check("explicit oracle %d" % i, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| explicit oracle 0 | [[1, 1], [1, 0], [2, 1]] | [[1, 1], [1, 0], [2, 1]] | Passed |
| explicit oracle 1 | [[1, 2], [1, 1], [2, 3]] | [[1, 2], [1, 1], [2, 3]] | Passed |
| explicit oracle 2 | [[0, 1], [1, 0], [1, 1]] | [[0, 1], [1, 0], [1, 1]] | Passed |
| explicit oracle 3 | [[6, 1], [1, 0], [7, 1]] | [[6, 1], [1, 0], [7, 1]] | Passed |
| explicit oracle 4 | [[0, 1], [1, 1], [1, 2]] | [[0, 1], [1, 1], [1, 2]] | Passed |
| explicit oracle 5 | [[0, 1], [1, 2], [1, 3]] | [[0, 1], [1, 2], [1, 3]] | Passed |
| explicit oracle 6 | [[1, 1], [2, 1], [3, 2]] | [[1, 1], [2, 1], [3, 2]] | Passed |
| explicit oracle 7 | [[2, 1], [1, 0], [3, 1]] | [[2, 1], [1, 0], [3, 1]] | Passed |
SHA-256 / 3de0289c92a402e9b84a39f1abe5a9286dc7e588523b6101dd0e37943526ea72
Verification & scope
A deterministic bounded teaching model. Inputs are restricted to the explicit contract; this is not a production algebra library. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:39:18.409128+00:00.
Case digest / 5f3b9b68e3e6b5272a04ca8743f73634a2a9fbb8f297e54d4d3412f8867ebe6d