FA-72291 / Error-correcting codes / Open access
Weight distribution combines rows with OR · case 01
Codeword weights are inflated when rows overlap.
ROOT CAUSE
Rows are combined with OR instead of XOR.
VERIFIED REPAIR
Codewords are GF(2) sums: combine rows with XOR.
Unsuccessful approach: Combining with AND yields the intersection, not the sum.
Case contract
Weight distribution of the binary linear code spanned by the rows of generator matrix G (rows may be dependent). Enumerate all 2^k messages including the zero message, form codewords as XOR combinations of rows, and histogram their Hamming weights (index 0..n). dmin is the smallest nonzero weight present (0 if the code is only the zero word). Return [histogram, dmin].
Why this case matters
Code designers use weight enumerators to estimate undetected-error probability and minimum distance.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(G):
k, n = len(G), len(G[0])
hist = [0] * (n + 1)
for msg in range(2 ** k):
c = [0] * n
for i in range(k):
if msg >> i & 1:
c = [a | b for a, b in zip(c, G[i])]
hist[sum(c)] += 1
dmin = min(w for w in range(1, n + 1) if hist[w]) if any(hist[1:]) else 0
return [hist, dmin]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]], ['partial-repair [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]]], [['regression [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['regression [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['partial-repair [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['control [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['control [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]]], [['regression [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['regression [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['partial-repair [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['control [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['control [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]]], [['regression [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['regression [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['partial-repair [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]], ['partial-repair [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['control [[[0, 0, 1], [1, 1, 0]]]', [[[0, 0, 1], [1, 1, 0]]], [[1, 1, 1, 1], 1]], ['control [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]]], [['regression [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['regression [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]], ['partial-repair [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['partial-repair [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['control [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, 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 |
|---|---|---|---|
| regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ... | [[1, 0, 0, 3, 1, 6, 4, 1], 3] | [[1, 0, 0, 7, 7, 0, 0, 1], 3] | Failed |
| regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]] | [[1, 0, 3, 2, 2], 2] | [[1, 0, 6, 0, 1], 2] | Failed |
| partial-repair [[[1, 1, 1]]] | [[1, 0, 0, 1], 3] | [[1, 0, 0, 1], 3] | Passed |
| control [[[0, 0, 0]]] | [[2, 0, 0, 0], 0] | [[2, 0, 0, 0], 0] | Passed |
| control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]] | [[1, 0, 0, 1, 1, 1], 3] | [[1, 0, 0, 2, 1, 0], 3] | Failed |
| control [[[1, 1, 0], [1, 1, 0]]] | [[1, 0, 3, 0], 2] | [[2, 0, 2, 0], 2] | Failed |
| control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]] | [[1, 0, 1, 7, 0, 7], 2] | [[2, 2, 4, 4, 2, 2], 1] | Failed |
| control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ... | [[1, 0, 1, 3, 5, 6, 0, 0], 2] | [[1, 1, 6, 6, 1, 1, 0, 0], 1] | Failed |
SHA-256 / ccbadf2c90396de04886237ee02ac494de256c3d3617f1ca69987f67e8fb93d0
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(G):
k, n = len(G), len(G[0])
hist = [0] * (n + 1)
for msg in range(2 ** k):
c = [0] * n
for i in range(k):
if msg >> i & 1:
c = [a & b for a, b in zip(c, G[i])]
hist[sum(c)] += 1
dmin = min(w for w in range(1, n + 1) if hist[w]) if any(hist[1:]) else 0
return [hist, dmin]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]], ['partial-repair [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]]], [['regression [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['regression [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['partial-repair [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['control [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['control [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]]], [['regression [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['regression [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['partial-repair [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['control [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['control [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]]], [['regression [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['regression [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['partial-repair [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]], ['partial-repair [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['control [[[0, 0, 1], [1, 1, 0]]]', [[[0, 0, 1], [1, 1, 0]]], [[1, 1, 1, 1], 1]], ['control [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]]], [['regression [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['regression [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]], ['partial-repair [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['partial-repair [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['control [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, 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 |
|---|---|---|---|
| regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ... | [[16, 0, 0, 0, 0, 0, 0, 0], 0] | [[1, 0, 0, 7, 7, 0, 0, 1], 3] | Failed |
| regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]] | [[8, 0, 0, 0, 0], 0] | [[1, 0, 6, 0, 1], 2] | Failed |
| partial-repair [[[1, 1, 1]]] | [[2, 0, 0, 0], 0] | [[1, 0, 0, 1], 3] | Failed |
| control [[[0, 0, 0]]] | [[2, 0, 0, 0], 0] | [[2, 0, 0, 0], 0] | Passed |
| control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]] | [[4, 0, 0, 0, 0, 0], 0] | [[1, 0, 0, 2, 1, 0], 3] | Failed |
| control [[[1, 1, 0], [1, 1, 0]]] | [[4, 0, 0, 0], 0] | [[2, 0, 2, 0], 2] | Failed |
| control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]] | [[16, 0, 0, 0, 0, 0], 0] | [[2, 2, 4, 4, 2, 2], 1] | Failed |
| control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ... | [[16, 0, 0, 0, 0, 0, 0, 0], 0] | [[1, 1, 6, 6, 1, 1, 0, 0], 1] | Failed |
SHA-256 / e66284aa64053e566a3ed57b38f54c3256a0659901305a744307fce477003655
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(G):
k, n = len(G), len(G[0])
hist = [0] * (n + 1)
for msg in range(2 ** k):
c = [0] * n
for i in range(k):
if msg >> i & 1:
c = [a ^ b for a, b in zip(c, G[i])]
hist[sum(c)] += 1
dmin = min(w for w in range(1, n + 1) if hist[w]) if any(hist[1:]) else 0
return [hist, dmin]
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]], ['partial-repair [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]]], [['regression [[[1, 1, 0], [1, 1, 0]]]', [[[1, 1, 0], [1, 1, 0]]], [[2, 0, 2, 0], 2]], ['regression [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]]', [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]], [[2, 2, 4, 4, 2, 2], 1]], ['partial-repair [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]]', [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]], [[1, 0, 0, 2, 1, 0], 3]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['control [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['control [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]]], [['regression [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, ...', [[[1, 1, 1, 1, 1, 1, 1], [1, 0, 1, 1, 1, 0, 0], [0, 1, 1, 0, 0, 0, 0], [1, 1, 1, 0, 0, 1, 0]]], [[1, 0, 2, 5, 5, 2, 0, 1], 2]], ['regression [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0...', [[[0, 0, 0, 1, 0, 0], [1, 1, 1, 0, 0, 1], [0, 1, 1, 0, 0, 1], [1, 0, 0, 0, 1, 0]]], [[1, 3, 3, 2, 3, 3, 1], 1]], ['partial-repair [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ...', [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, 1], [0, 0, 0, 1, 1, 0, 0]]], [[1, 1, 6, 6, 1, 1, 0, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['control [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['control [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]]], [['regression [[[1, 0, 1, 1], [0, 0, 0, 1]]]', [[[1, 0, 1, 1], [0, 0, 0, 1]]], [[1, 1, 1, 1, 0], 1]], ['regression [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['partial-repair [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]]', [[[1, 0, 0, 1, 1, 0], [1, 1, 1, 0, 0, 0], [1, 0, 1, 1, 1, 0]]], [[1, 1, 1, 3, 2, 0, 0], 1]], ['partial-repair [[[1, 1, 1, 0, 0, 0, 1]]]', [[[1, 1, 1, 0, 0, 0, 1]]], [[1, 0, 0, 0, 1, 0, 0, 0], 4]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['control [[[0, 0, 1], [1, 1, 0]]]', [[[0, 0, 1], [1, 1, 0]]], [[1, 1, 1, 1], 1]], ['control [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]]], [['regression [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, ...', [[[0, 1, 0, 0, 1, 0, 0], [1, 1, 1, 0, 1, 1, 0], [1, 1, 0, 1, 1, 1, 0]]], [[1, 0, 2, 2, 1, 2, 0, 0], 2]], ['regression [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, ...', [[[0, 1, 1, 1, 1, 0, 0], [0, 1, 1, 0, 1, 1, 1], [1, 0, 0, 0, 1, 1, 1]]], [[1, 0, 0, 3, 2, 1, 1, 0], 3]], ['partial-repair [[[1, 0]]]', [[[1, 0]]], [[1, 1, 0], 1]], ['partial-repair [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, ...', [[[0, 0, 1, 0, 1, 1, 1], [0, 1, 0, 1, 0, 1, 1], [1, 1, 1, 0, 1, 1, 0], [0, 1, 1, 1, 1, 0, 1]]], [[1, 1, 1, 4, 5, 3, 1, 0], 1]], ['control [[[0, 0, 0]]]', [[[0, 0, 0]]], [[2, 0, 0, 0], 0]], ['control [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ...', [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, 1], [0, 0, 0, 1, 1, 1, 1]]], [[1, 0, 0, 7, 7, 0, 0, 1], 3]], ['control [[[1, 1, 1]]]', [[[1, 1, 1]]], [[1, 0, 0, 1], 3]], ['control [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]]', [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]], [[1, 0, 6, 0, 1], 2]]]]
for label, args, expected in fixtures[N - 1]:
check(label, 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 |
|---|---|---|---|
| regression [[[1, 0, 0, 0, 1, 1, 0], [0, 1, 0, 0, 1, 0, 1], [0, 0, 1, 0, 0, 1, ... | [[1, 0, 0, 7, 7, 0, 0, 1], 3] | [[1, 0, 0, 7, 7, 0, 0, 1], 3] | Passed |
| regression [[[1, 1, 0, 0], [0, 1, 1, 0], [0, 0, 1, 1]]] | [[1, 0, 6, 0, 1], 2] | [[1, 0, 6, 0, 1], 2] | Passed |
| partial-repair [[[1, 1, 1]]] | [[1, 0, 0, 1], 3] | [[1, 0, 0, 1], 3] | Passed |
| control [[[0, 0, 0]]] | [[2, 0, 0, 0], 0] | [[2, 0, 0, 0], 0] | Passed |
| control [[[1, 0, 1, 1, 0], [0, 1, 1, 1, 1]]] | [[1, 0, 0, 2, 1, 0], 3] | [[1, 0, 0, 2, 1, 0], 3] | Passed |
| control [[[1, 1, 0], [1, 1, 0]]] | [[2, 0, 2, 0], 2] | [[2, 0, 2, 0], 2] | Passed |
| control [[[1, 1, 0, 0, 0], [1, 1, 0, 0, 1], [0, 0, 1, 1, 1], [1, 1, 0, 0, 1]]] | [[2, 2, 4, 4, 2, 2], 1] | [[2, 2, 4, 4, 2, 2], 1] | Passed |
| control [[[0, 0, 0, 1, 0, 1, 1], [1, 0, 0, 1, 1, 1, 0], [0, 0, 0, 1, 1, 0, ... | [[1, 1, 6, 6, 1, 1, 0, 0], 1] | [[1, 1, 6, 6, 1, 1, 0, 0], 1] | Passed |
SHA-256 / 9e7868db69fb538c5e0c45d498a87c1701837e288a63ba1b4a0a5e5f337a082c
Verification & scope
A deterministic, bounded teaching model of the named code under the stated contract; not a production codec. 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:48:37.202496+00:00.
Case digest / 25453fbbfbff4afb70dd664a5cd71c0eb90f9b95f75319d71bb1457d773c9399