FA-50541 / Raster clipping / Open access
Multisample clip resolve: rotation direction · case 01
Sample-mask rotation uses the opposite lane direction before lane enable filtering.
ROOT CAUSE
Sample-mask rotation uses the opposite lane direction before lane enable filtering.
VERIFIED REPAIR
Apply the documented state transition at rotation direction. 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: Fixing the two-lane case leaves larger masks rotated in the wrong direction.
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=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 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 1 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 2 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 3 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 4 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 5 | [False, True, True, False, True, True, 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 / 610eeebf65215381b1975c512d17ccbd465f6b2e6922f6def271e7ca8621ff14
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 count>2 else 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 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 1 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 2 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 3 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 4 | [False, True, True, False, True, True, False, False, True, False] | [True, True, True, False, True, True, False, False, True, False] | Failed |
| explicit sequence 5 | [False, True, True, False, True, True, 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 / 5c40d8a97052f48e9e7f32e051496fb5331a8e008efe83904d0c05a5281f955d
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.120171+00:00.
Case digest / 12c716169a958b9507ed79d1c5169c79a61d1bb5bba1a0ae03248422a0869e86