FA-15036 / Numerics / Open access
Balanced odd radix encoding: digit significance order · case 01
The exact balanced odd radix encoding result violates the stated contract at digit significance order.
ROOT CAUSE
The digit significance order step uses out[::-1] instead of out.
VERIFIED REPAIR
Use out at the digit significance order step.
Unsuccessful approach: The partial repair sorted(out) still violates the digit significance order invariant.
Case contract
Input [integer, odd radix>=3]; return least-significant-first balanced digits between -(base//2) and base//2, zero=[0]. Bounds: |integer|<=100 and radix<=9.
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):
n,b=x
if n==0:return [0]
out=[];half=b//2
for _ in range(60):
if n==0:break
r=n%b
if r>half:r-=b
out.append(r)
n=(n-r)//b
return out[::-1]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-100, 5], [0, 0, 1, -1]), ([-100, 7], [-2, 0, -2]), ([-100, 9], [-1, -2, -1]), ([-99, 3], [0, 0, 1, -1, -1]), ([-99, 5], [1, 0, 1, -1]), ([-99, 7], [-1, 0, -2])], [([-100, 5], [0, 0, 1, -1]), ([-100, 9], [-1, -2, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-96, 5], [-1, 1, 1, -1]), ([-96, 7], [2, 0, -2]), ([-96, 9], [3, -2, -1]), ([-95, 3], [1, 1, 1, -1, -1])], [([-99, 3], [0, 0, 1, -1, -1]), ([-99, 7], [-1, 0, -2]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-92, 7], [-1, 1, -2]), ([-92, 9], [-2, -1, -1]), ([-91, 3], [-1, 0, -1, 0, -1]), ([-91, 5], [-1, 2, 1, -1])], [([-99, 5], [1, 0, 1, -1]), ([-98, 5], [2, 0, 1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-88, 9], [2, -1, -1]), ([-87, 3], [0, 1, -1, 0, -1]), ([-87, 5], [-2, -2, 2, -1]), ([-87, 7], [-3, 2, -2])], [([-99, 7], [-1, 0, -2]), ([-97, 3], [-1, 1, 1, -1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-83, 3], [1, -1, 0, 0, -1]), ([-83, 5], [2, -2, 2, -1]), ([-83, 7], [1, 2, -2]), ([-83, 9], [-2, 0, -1])]]
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, -1] | [-1, 0, 1, -1, -1] | Failed |
| explicit oracle 1 | [1, 2, 1] | [1, 2, 1] | Passed |
| explicit oracle 2 | [-1, 1, 0, 0] | [0, 0, 1, -1] | Failed |
| explicit oracle 3 | [-2, 0, -2] | [-2, 0, -2] | Passed |
| explicit oracle 4 | [-1, -2, -1] | [-1, -2, -1] | Passed |
| explicit oracle 5 | [-1, -1, 1, 0, 0] | [0, 0, 1, -1, -1] | Failed |
| explicit oracle 6 | [-1, 1, 0, 1] | [1, 0, 1, -1] | Failed |
| explicit oracle 7 | [-2, 0, -1] | [-1, 0, -2] | Failed |
SHA-256 / 251734831fa6c2ebb9d49ae03ae192b1f9cb91760ee05a6fd3ae1dc3de474720
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):
n,b=x
if n==0:return [0]
out=[];half=b//2
for _ in range(60):
if n==0:break
r=n%b
if r>half:r-=b
out.append(r)
n=(n-r)//b
return sorted(out)
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-100, 5], [0, 0, 1, -1]), ([-100, 7], [-2, 0, -2]), ([-100, 9], [-1, -2, -1]), ([-99, 3], [0, 0, 1, -1, -1]), ([-99, 5], [1, 0, 1, -1]), ([-99, 7], [-1, 0, -2])], [([-100, 5], [0, 0, 1, -1]), ([-100, 9], [-1, -2, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-96, 5], [-1, 1, 1, -1]), ([-96, 7], [2, 0, -2]), ([-96, 9], [3, -2, -1]), ([-95, 3], [1, 1, 1, -1, -1])], [([-99, 3], [0, 0, 1, -1, -1]), ([-99, 7], [-1, 0, -2]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-92, 7], [-1, 1, -2]), ([-92, 9], [-2, -1, -1]), ([-91, 3], [-1, 0, -1, 0, -1]), ([-91, 5], [-1, 2, 1, -1])], [([-99, 5], [1, 0, 1, -1]), ([-98, 5], [2, 0, 1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-88, 9], [2, -1, -1]), ([-87, 3], [0, 1, -1, 0, -1]), ([-87, 5], [-2, -2, 2, -1]), ([-87, 7], [-3, 2, -2])], [([-99, 7], [-1, 0, -2]), ([-97, 3], [-1, 1, 1, -1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-83, 3], [1, -1, 0, 0, -1]), ([-83, 5], [2, -2, 2, -1]), ([-83, 7], [1, 2, -2]), ([-83, 9], [-2, 0, -1])]]
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, 1] | [-1, 0, 1, -1, -1] | Failed |
| explicit oracle 1 | [1, 1, 2] | [1, 2, 1] | Failed |
| explicit oracle 2 | [-1, 0, 0, 1] | [0, 0, 1, -1] | Failed |
| explicit oracle 3 | [-2, -2, 0] | [-2, 0, -2] | Failed |
| explicit oracle 4 | [-2, -1, -1] | [-1, -2, -1] | Failed |
| explicit oracle 5 | [-1, -1, 0, 0, 1] | [0, 0, 1, -1, -1] | Failed |
| explicit oracle 6 | [-1, 0, 1, 1] | [1, 0, 1, -1] | Failed |
| explicit oracle 7 | [-2, -1, 0] | [-1, 0, -2] | Failed |
SHA-256 / 1807c7624340ab067886423834f5e27805a516274ab129cb4e9c07ce0235f5f1
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):
n,b=x
if n==0:return [0]
out=[];half=b//2
for _ in range(60):
if n==0:break
r=n%b
if r>half:r-=b
out.append(r)
n=(n-r)//b
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-100, 5], [0, 0, 1, -1]), ([-100, 7], [-2, 0, -2]), ([-100, 9], [-1, -2, -1]), ([-99, 3], [0, 0, 1, -1, -1]), ([-99, 5], [1, 0, 1, -1]), ([-99, 7], [-1, 0, -2])], [([-100, 5], [0, 0, 1, -1]), ([-100, 9], [-1, -2, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-96, 5], [-1, 1, 1, -1]), ([-96, 7], [2, 0, -2]), ([-96, 9], [3, -2, -1]), ([-95, 3], [1, 1, 1, -1, -1])], [([-99, 3], [0, 0, 1, -1, -1]), ([-99, 7], [-1, 0, -2]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-92, 7], [-1, 1, -2]), ([-92, 9], [-2, -1, -1]), ([-91, 3], [-1, 0, -1, 0, -1]), ([-91, 5], [-1, 2, 1, -1])], [([-99, 5], [1, 0, 1, -1]), ([-98, 5], [2, 0, 1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-88, 9], [2, -1, -1]), ([-87, 3], [0, 1, -1, 0, -1]), ([-87, 5], [-2, -2, 2, -1]), ([-87, 7], [-3, 2, -2])], [([-99, 7], [-1, 0, -2]), ([-97, 3], [-1, 1, 1, -1, -1]), ([-100, 3], [-1, 0, 1, -1, -1]), ([100, 9], [1, 2, 1]), ([-83, 3], [1, -1, 0, 0, -1]), ([-83, 5], [2, -2, 2, -1]), ([-83, 7], [1, 2, -2]), ([-83, 9], [-2, 0, -1])]]
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, 0, 1, -1, -1] | [-1, 0, 1, -1, -1] | Passed |
| explicit oracle 1 | [1, 2, 1] | [1, 2, 1] | Passed |
| explicit oracle 2 | [0, 0, 1, -1] | [0, 0, 1, -1] | Passed |
| explicit oracle 3 | [-2, 0, -2] | [-2, 0, -2] | Passed |
| explicit oracle 4 | [-1, -2, -1] | [-1, -2, -1] | Passed |
| explicit oracle 5 | [0, 0, 1, -1, -1] | [0, 0, 1, -1, -1] | Passed |
| explicit oracle 6 | [1, 0, 1, -1] | [1, 0, 1, -1] | Passed |
| explicit oracle 7 | [-1, 0, -2] | [-1, 0, -2] | Passed |
SHA-256 / 690fe9678ad60c70f891313c7ea7c1a75a7c213ce2e1c4e642f552a7bf300907
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:22.691764+00:00.
Case digest / 4d49ed640acf59fcc75be4d36f1f0208c578e3c0adc0be9880063ccad4c741d0