FA-50566 / Raster clipping / Open access
Multisample clip resolve: weighted hit count · case 01
Weighted coverage uses the count of covered lanes rather than their weights.
ROOT CAUSE
Weighted coverage uses the count of covered lanes rather than their weights.
VERIFIED REPAIR
Apply the documented state transition at weighted hit count. Each command defines a pixel with a list of per-sample clip bits and an equally long integer weight list. Modes return any/all/parity/weighted majority. Invert precedes resolve; disabled samples do not participate. An empty enabled set never covers. Rotation permutes the bits before enabled lanes are selected.
Unsuccessful approach: Scaling hit count by the maximum lane weight ignores heterogeneous sample weights.
Case contract
Each command defines a pixel with a list of per-sample clip bits and an equally long integer weight list. Modes return any/all/parity/weighted majority. Invert precedes resolve; disabled samples do not participate. An empty enabled set never covers. Rotation permutes the bits before enabled lanes are selected.
Why this case matters
Raster clip state can leak coverage across draws even when every individual region is valid.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
out=[]
for cmd in commands:
bits,weights,enabled,mode,invert,rotation=cmd
count=len(bits)
rotation=rotation%count if count else 0
rotated=bits[-rotation:]+bits[:-rotation] if rotation else list(bits)
chosen=[(bool(rotated[i]) ^ invert,weights[i]) for i in range(count) if i in enabled]
if not chosen: out.append(False); continue
hits=sum(1 for bit,weight in chosen if bit)
total=sum(weight for bit,weight in chosen)
covered=hits
if mode=='any': answer=hits>0
elif mode=='all': answer=hits==len(chosen)
elif mode=='parity': answer=hits%2==1
elif mode=='majority': answer=covered*2>=total and total>0
elif mode=='strict': answer=covered*2>total
elif mode=='first': answer=chosen[0][0]
else: answer=chosen[-1][0]
out.append(answer)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 4), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 4), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 4), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 4), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 4), [True])
if N == 2:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 5), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 5), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 5), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 5), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 5), [True])
if N == 3:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 6), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 6), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 6), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 6), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 6), [True])
if N == 4:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 7), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 7), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 7), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 7), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 7), [True])
if N == 5:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 8), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 8), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 8), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 8), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 8), [True])
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 sequence 0 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 1 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 2 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 3 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 4 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 5 | [True, True, True, False, False, False, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 6 | [False] | [False] | Passed |
| explicit sequence 7 | [True] | [True] | Passed |
| explicit sequence 8 | [True] | [True] | Passed |
| explicit sequence 9 | [False] | [False] | Passed |
| explicit sequence 10 | [True] | [True] | Passed |
SHA-256 / f60de2ff9c51fa6c874175dd3d14b813a4740014f2d947d8ceaf2893c3545971
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
out=[]
for cmd in commands:
bits,weights,enabled,mode,invert,rotation=cmd
count=len(bits)
rotation=rotation%count if count else 0
rotated=bits[-rotation:]+bits[:-rotation] if rotation else list(bits)
chosen=[(bool(rotated[i]) ^ invert,weights[i]) for i in range(count) if i in enabled]
if not chosen: out.append(False); continue
hits=sum(1 for bit,weight in chosen if bit)
total=sum(weight for bit,weight in chosen)
covered=hits*max(weights,default=0)
if mode=='any': answer=hits>0
elif mode=='all': answer=hits==len(chosen)
elif mode=='parity': answer=hits%2==1
elif mode=='majority': answer=covered*2>=total and total>0
elif mode=='strict': answer=covered*2>total
elif mode=='first': answer=chosen[0][0]
else: answer=chosen[-1][0]
out.append(answer)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 4), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 4), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 4), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 4), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 4), [True])
if N == 2:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 5), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 5), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 5), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 5), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 5), [True])
if N == 3:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 6), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 6), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 6), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 6), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 6), [True])
if N == 4:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 7), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 7), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 7), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 7), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 7), [True])
if N == 5:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 8), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 8), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 8), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 8), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 8), [True])
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 sequence 0 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 1 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 2 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 3 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 4 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 5 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 6 | [True] | [False] | Failed |
| explicit sequence 7 | [True] | [True] | Passed |
| explicit sequence 8 | [True] | [True] | Passed |
| explicit sequence 9 | [False] | [False] | Passed |
| explicit sequence 10 | [True] | [True] | Passed |
SHA-256 / f5eea218d69dc044bcae6c7ec95b01bc36bcc76f4927fe91c496b944d6b5e8fa
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(commands, size):
out=[]
for cmd in commands:
bits,weights,enabled,mode,invert,rotation=cmd
count=len(bits)
rotation=rotation%count if count else 0
rotated=bits[-rotation:]+bits[:-rotation] if rotation else list(bits)
chosen=[(bool(rotated[i]) ^ invert,weights[i]) for i in range(count) if i in enabled]
if not chosen: out.append(False); continue
hits=sum(1 for bit,weight in chosen if bit)
total=sum(weight for bit,weight in chosen)
covered=sum(weight for bit,weight in chosen if bit)
if mode=='any': answer=hits>0
elif mode=='all': answer=hits==len(chosen)
elif mode=='parity': answer=hits%2==1
elif mode=='majority': answer=covered*2>=total and total>0
elif mode=='strict': answer=covered*2>total
elif mode=='first': answer=chosen[0][0]
else: answer=chosen[-1][0]
out.append(answer)
return out
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
if N == 1:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 4), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 4), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 4), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 4), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 4), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 4), [True])
if N == 2:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 5), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 5), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 5), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 5), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 5), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 5), [True])
if N == 3:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 6), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 6), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 6), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 6), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 6), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 6), [True])
if N == 4:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 7), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 7), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 7), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 7), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 7), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 7), [True])
if N == 5:
check('explicit sequence 0', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 1', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 2', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 3', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 4', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 5', solve([[[1, 0, 0, 1], [1, 2, 4, 8], [0], 'any', False, 1], [[1, 0], [1, 1], [0, 1], 'any', True, 0], [[0, 1], [1, 1], [1], 'all', False, 0], [[1, 1], [1, 1], [], 'all', False, 0], [[1, 0], [4, 20], [0], 'majority', False, 0], [[1, 0], [4, 1], [0, 1], 'majority', False, 0], [[1, 1], [1, 1], [0, 1], 'parity', False, 0], [[1, 0], [1, 1], [0, 1], 'strict', False, 0], [[0, 1], [1, 1], [1], 'first', False, 0], [[0, 0], [1, 1], [0, 1], 'last', False, 0]], 8), [True, True, True, False, True, True, False, False, True, False])
check('explicit sequence 6', solve([[[1, 0], [1, 8], [0, 1], 'majority', False, 0]], 8), [False])
check('explicit sequence 7', solve([[[1, 0], [1, 1], [0, 0], 'all', False, 0]], 8), [True])
check('explicit sequence 8', solve([[[1, 1, 1], [1, 1, 1], [0, 1, 2], 'parity', False, 0]], 8), [True])
check('explicit sequence 9', solve([[[0, 1], [1, 1], [0, 1], 'first', False, 0]], 8), [False])
check('explicit sequence 10', solve([[[0, 1, 1, 0, 1, 0, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1], [0, 2, 4, 6], 'any', False, 1]], 8), [True])
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 sequence 0 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 1 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 2 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 3 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 4 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 5 | [True, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Passed |
| explicit sequence 6 | [False] | [False] | Passed |
| explicit sequence 7 | [True] | [True] | Passed |
| explicit sequence 8 | [True] | [True] | Passed |
| explicit sequence 9 | [False] | [False] | Passed |
| explicit sequence 10 | [True] | [True] | Passed |
SHA-256 / f72e196555b8b1e467d3f92e37b1991dcad4e964a11c3ab638010600d1c8bc01
Verification & scope
Finite one-dimensional integer sample sets model coverage state only; no geometric intersection, memory layout, GPU or graphics-standard conformance is claimed. 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:45:10.244199+00:00.
Case digest / 7cb19ad0f9a67b3833e62b5379eb8e4735a2fb7b399ffff891f086d491e31707