FAILURE MAP
← Case archive

FA-15586 / Numerics / Open access

Prime power unit factorial: unit factor multiplication · case 01

The exact prime power unit factorial result violates the stated contract at unit factor multiplication.

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

ROOT CAUSE

The unit factor multiplication step uses (r+v)%mod instead of r*v%mod.

VERIFIED REPAIR

Use r*v%mod at the unit factor multiplication step.

Unsuccessful approach: The partial repair v%mod still violates the unit factor multiplication invariant.

Case contract

Input [n,p,e], n>=0 p prime e>=1; return product of positive integers<=n after removing ALL p factors from each, modulo p^e. Bounds: n<=64.

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,p,e=x;mod=p**e;r=1
    for v in range(1,n+1):
     for _ in range(30):
      if v%p!=0:break
      v//=p
     r=(r+v)%mod
    return r
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([1, 2, 1], 1), ([4, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([0, 2, 2], 1), ([0, 2, 3], 1), ([0, 2, 4], 1), ([1, 2, 2], 1)], [([1, 2, 2], 1), ([5, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([4, 2, 2], 3), ([4, 2, 3], 3), ([4, 2, 4], 3), ([5, 2, 1], 1)], [([1, 2, 3], 1), ([6, 2, 2], 1), ([0, 2, 1], 1), ([64, 7, 4], 282), ([8, 2, 3], 3), ([8, 2, 4], 11), ([9, 2, 1], 1), ([9, 2, 2], 3)], [([1, 2, 4], 1), ([7, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([12, 2, 4], 15), ([13, 2, 1], 1), ([13, 2, 2], 3), ([13, 2, 3], 3)], [([2, 2, 2], 1), ([8, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([17, 2, 1], 1), ([17, 2, 2], 3), ([17, 2, 3], 3), ([17, 2, 4], 11)]]
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 001Failed
explicit oracle 133Passed
explicit oracle 211Passed
explicit oracle 31805282Failed
explicit oracle 411Passed
explicit oracle 511Passed
explicit oracle 611Passed
explicit oracle 721Failed

SHA-256 / 2aac928416505ff9274d884eb220f3497f7dd2614ee9d6eee43b3f22cf5b22f7

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,p,e=x;mod=p**e;r=1
    for v in range(1,n+1):
     for _ in range(30):
      if v%p!=0:break
      v//=p
     r=v%mod
    return r
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([1, 2, 1], 1), ([4, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([0, 2, 2], 1), ([0, 2, 3], 1), ([0, 2, 4], 1), ([1, 2, 2], 1)], [([1, 2, 2], 1), ([5, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([4, 2, 2], 3), ([4, 2, 3], 3), ([4, 2, 4], 3), ([5, 2, 1], 1)], [([1, 2, 3], 1), ([6, 2, 2], 1), ([0, 2, 1], 1), ([64, 7, 4], 282), ([8, 2, 3], 3), ([8, 2, 4], 11), ([9, 2, 1], 1), ([9, 2, 2], 3)], [([1, 2, 4], 1), ([7, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([12, 2, 4], 15), ([13, 2, 1], 1), ([13, 2, 2], 3), ([13, 2, 3], 3)], [([2, 2, 2], 1), ([8, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([17, 2, 1], 1), ([17, 2, 2], 3), ([17, 2, 3], 3), ([17, 2, 4], 11)]]
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 011Passed
explicit oracle 113Failed
explicit oracle 211Passed
explicit oracle 364282Failed
explicit oracle 411Passed
explicit oracle 511Passed
explicit oracle 611Passed
explicit oracle 711Passed

SHA-256 / 0e8dc8f6fc8d4118b6eda581c9aad6e0bb6bc461cfe9065bb99ca14b6ffed6cc

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,p,e=x;mod=p**e;r=1
    for v in range(1,n+1):
     for _ in range(30):
      if v%p!=0:break
      v//=p
     r=r*v%mod
    return r
def check(label, actual, expected):
    observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[([1, 2, 1], 1), ([4, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([0, 2, 2], 1), ([0, 2, 3], 1), ([0, 2, 4], 1), ([1, 2, 2], 1)], [([1, 2, 2], 1), ([5, 2, 2], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([4, 2, 2], 3), ([4, 2, 3], 3), ([4, 2, 4], 3), ([5, 2, 1], 1)], [([1, 2, 3], 1), ([6, 2, 2], 1), ([0, 2, 1], 1), ([64, 7, 4], 282), ([8, 2, 3], 3), ([8, 2, 4], 11), ([9, 2, 1], 1), ([9, 2, 2], 3)], [([1, 2, 4], 1), ([7, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([12, 2, 4], 15), ([13, 2, 1], 1), ([13, 2, 2], 3), ([13, 2, 3], 3)], [([2, 2, 2], 1), ([8, 2, 3], 3), ([0, 2, 1], 1), ([64, 7, 4], 282), ([17, 2, 1], 1), ([17, 2, 2], 3), ([17, 2, 3], 3), ([17, 2, 4], 11)]]
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 011Passed
explicit oracle 133Passed
explicit oracle 211Passed
explicit oracle 3282282Passed
explicit oracle 411Passed
explicit oracle 511Passed
explicit oracle 611Passed
explicit oracle 711Passed

SHA-256 / f62065e343f19d32c668ca13ca97f60b77bceed209738dc75fce74fedc07010a

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

Case digest / 0b30e602326c223ea485dc67bb959da6e8ca8e3d39c0b4de0534021bf1cf3919