FAILURE MAP
← Case archive

FA-14571 / Numerics / Open access

Rational mediant walk: upper infinite interval seed · case 01

The exact rational mediant walk result violates the stated contract at upper infinite interval seed.

Verified by executionVariant 1 · 8 checks per implementationDownload source bundle ↓JSON ↗

ROOT CAUSE

The upper infinite interval seed step uses [1,1] instead of [1,0].

VERIFIED REPAIR

Use [1,0] at the upper infinite interval seed step.

Unsuccessful approach: The partial repair [0,1] still violates the upper infinite interval seed 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,1]
    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 = [[('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('R', [[1, 1], [1, 0], [2, 1]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('', [[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]])], [('R', [[1, 1], [1, 0], [2, 1]]), ('RR', [[2, 1], [1, 0], [3, 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]])], [('LL', [[0, 1], [1, 2], [1, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[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]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('RLR', [[3, 2], [2, 1], [5, 3]]), ('', [[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 fixtureActualExpectedOutcome
explicit oracle 0[[0, 1], [1, 1], [1, 2]][[0, 1], [1, 0], [1, 1]]Failed
explicit oracle 1[[6, 7], [1, 1], [7, 8]][[6, 1], [1, 0], [7, 1]]Failed
explicit oracle 2[[0, 1], [1, 2], [1, 3]][[0, 1], [1, 1], [1, 2]]Failed
explicit oracle 3[[1, 2], [1, 1], [2, 3]][[1, 1], [1, 0], [2, 1]]Failed
explicit oracle 4[[0, 1], [1, 3], [1, 4]][[0, 1], [1, 2], [1, 3]]Failed
explicit oracle 5[[1, 3], [1, 2], [2, 5]][[1, 2], [1, 1], [2, 3]]Failed
explicit oracle 6[[1, 2], [2, 3], [3, 5]][[1, 1], [2, 1], [3, 2]]Failed
explicit oracle 7[[2, 3], [1, 1], [3, 4]][[2, 1], [1, 0], [3, 1]]Failed

SHA-256 / 38f29c69e191bdd5710f1c957f56ada2e347aaf2973a3d2914c0ab19daea7e40

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=[0,1]
    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 = [[('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('R', [[1, 1], [1, 0], [2, 1]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('', [[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]])], [('R', [[1, 1], [1, 0], [2, 1]]), ('RR', [[2, 1], [1, 0], [3, 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]])], [('LL', [[0, 1], [1, 2], [1, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[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]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('RLR', [[3, 2], [2, 1], [5, 3]]), ('', [[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 fixtureActualExpectedOutcome
explicit oracle 0[[0, 1], [0, 1], [0, 2]][[0, 1], [1, 0], [1, 1]]Failed
explicit oracle 1[[0, 7], [0, 1], [0, 8]][[6, 1], [1, 0], [7, 1]]Failed
explicit oracle 2[[0, 1], [0, 2], [0, 3]][[0, 1], [1, 1], [1, 2]]Failed
explicit oracle 3[[0, 2], [0, 1], [0, 3]][[1, 1], [1, 0], [2, 1]]Failed
explicit oracle 4[[0, 1], [0, 3], [0, 4]][[0, 1], [1, 2], [1, 3]]Failed
explicit oracle 5[[0, 3], [0, 2], [0, 5]][[1, 2], [1, 1], [2, 3]]Failed
explicit oracle 6[[0, 2], [0, 3], [0, 5]][[1, 1], [2, 1], [3, 2]]Failed
explicit oracle 7[[0, 3], [0, 1], [0, 4]][[2, 1], [1, 0], [3, 1]]Failed

SHA-256 / 21c4f533f937788eec628e0009203adabe30ce7a8b4defe136e444ff7f176052

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 = [[('', [[0, 1], [1, 0], [1, 1]]), ('RRRRRR', [[6, 1], [1, 0], [7, 1]]), ('L', [[0, 1], [1, 1], [1, 2]]), ('R', [[1, 1], [1, 0], [2, 1]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('LR', [[1, 2], [1, 1], [2, 3]]), ('RL', [[1, 1], [2, 1], [3, 2]]), ('RR', [[2, 1], [1, 0], [3, 1]])], [('L', [[0, 1], [1, 1], [1, 2]]), ('LL', [[0, 1], [1, 2], [1, 3]]), ('', [[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]])], [('R', [[1, 1], [1, 0], [2, 1]]), ('RR', [[2, 1], [1, 0], [3, 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]])], [('LL', [[0, 1], [1, 2], [1, 3]]), ('LRL', [[1, 2], [2, 3], [3, 5]]), ('', [[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]])], [('LR', [[1, 2], [1, 1], [2, 3]]), ('RLR', [[3, 2], [2, 1], [5, 3]]), ('', [[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 fixtureActualExpectedOutcome
explicit oracle 0[[0, 1], [1, 0], [1, 1]][[0, 1], [1, 0], [1, 1]]Passed
explicit oracle 1[[6, 1], [1, 0], [7, 1]][[6, 1], [1, 0], [7, 1]]Passed
explicit oracle 2[[0, 1], [1, 1], [1, 2]][[0, 1], [1, 1], [1, 2]]Passed
explicit oracle 3[[1, 1], [1, 0], [2, 1]][[1, 1], [1, 0], [2, 1]]Passed
explicit oracle 4[[0, 1], [1, 2], [1, 3]][[0, 1], [1, 2], [1, 3]]Passed
explicit oracle 5[[1, 2], [1, 1], [2, 3]][[1, 2], [1, 1], [2, 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 / a8d8b987ca907f34d5a6bd245964fe3a0cff6ed80dfc0fee2184dddf511299b5

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.353125+00:00.

Case digest / 7f52db5ed6058f4b7d75a4ffebcb755cdb5d510f08cf68abe2b927e0c1135690