FA-40926 / Heap invariants / Open access
Calendar resize distinguishes events that actually change physical bucket · case 01
The bounded calendar rehash certificate reports an incorrect moved.
ROOT CAUSE
Calendar resize distinguishes events that actually change physical bucket.
VERIFIED REPAIR
Derive moved using [x[0] for x,k,l in zip(a,old,new) if k!=l] under the stated bounded certificate contract.
Unsuccessful approach: The local patch uses [x[0] for x,k,l in zip(a,old,new) if k==l] and still violates the stated relation.
Case contract
Calendar queue resize receives events [id,tick], origin, old width/count and new width/count. Reinsert every event using new floor-divided virtual position; preserve arrival order within each destination. Report new bucket contents, moved ids, old aliases split by resize, occupancy, new interval span, and member count.
Why this case matters
This isolates an internal heap representation or priority-structure invariant using deterministic finite records.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
'moved': [x[0] for x in a],
'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
'occupancy': [new.count(j) for j in range(nb)],
'cycle_span': nw*nb,
'members': len(a)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression certificate 1 | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | Passed |
| regression certificate 2 | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['0', '1', '2', '3', '4'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | Failed |
| regression certificate 3 | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '1', '2', '3', '4'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | Failed |
| regression certificate 4 | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['0', '1', '2', '3', '4'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | Failed |
| regression certificate 5 | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['0', '1', '2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | Failed |
| regression certificate 6 | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '1', '2', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | Failed |
| variant-dependent certificate | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '1', '2', '3', '4', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []} | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []} | Failed |
SHA-256 / c973d465d22a4db2e30a685136ce705d622552bf6259e9bd07cb90946187d985
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
'moved': [x[0] for x,k,l in zip(a,old,new) if k==l],
'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
'occupancy': [new.count(j) for j in range(nb)],
'cycle_span': nw*nb,
'members': len(a)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression certificate 1 | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | Passed |
| regression certificate 2 | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['0', '1', '4'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | Failed |
| regression certificate 3 | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['1', '4'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | Failed |
| regression certificate 4 | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['0', '3', '4'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | Failed |
| regression certificate 5 | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['0', '1'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | Failed |
| regression certificate 6 | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['1', '2'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | Failed |
| variant-dependent certificate | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['1', '2', '4'], 'occupancy': [5, 0, 1], 'split_aliases': []} | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []} | Failed |
SHA-256 / 5749cce747aa4ef09a23e26ed5c06995fee57fedd05eba790ecb7ac6fb4f182b
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
a=d['events']; o=d['origin']; ow=d['old_width']; ob=d['old_count']; nw=d['new_width']; nb=d['new_count']; old=[((x[1]-o)//ow)%ob for x in a]; new=[((x[1]-o)//nw)%nb for x in a]
return {'buckets': [[x[0] for x,k in zip(a,new) if k==j] for j in range(nb)],
'moved': [x[0] for x,k,l in zip(a,old,new) if k!=l],
'split_aliases': [[a[i][0],a[j][0]] for i in range(len(a)) for j in range(i+1,len(a)) if old[i]==old[j] and new[i]!=new[j]],
'occupancy': [new.count(j) for j in range(nb)],
'cycle_span': nw*nb,
'members': len(a)}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 3, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'moved': ['0', '3', '5'], 'split_aliases': [], 'occupancy': [5, 0, 1], 'cycle_span': 9, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], ['5'], ['0', '4']], 'moved': ['3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 1, 2], 'cycle_span': 12, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 5, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], ['5'], [], ['4'], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 1, 0, 1, 1], 'cycle_span': 15, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 6, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], [], [], ['4'], [], ['0']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 0, 0, 1, 0, 1], 'cycle_span': 18, 'members': 6})], [({'origin': 0, 'old_width': 2, 'old_count': 4, 'new_width': 3, 'new_count': 3, 'events': []}, {'buckets': [[], [], []], 'moved': [], 'split_aliases': [], 'occupancy': [0, 0, 0], 'cycle_span': 9, 'members': 0}), ({'origin': 1, 'old_width': 2, 'old_count': 2, 'new_width': 3, 'new_count': 4, 'events': [['0', 1], ['1', 2], ['2', 5], ['3', 9], ['4', 13]]}, {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'moved': ['2', '3'], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']], 'occupancy': [3, 1, 1, 0], 'cycle_span': 12, 'members': 5}), ({'origin': 3, 'old_width': 3, 'old_count': 4, 'new_width': 1, 'new_count': 3, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 8], ['4', 15]]}, {'buckets': [['1', '4'], ['2'], ['0', '3']], 'moved': ['0', '2', '3'], 'split_aliases': [['1', '2'], ['2', '4']], 'occupancy': [2, 1, 2], 'cycle_span': 3, 'members': 5}), ({'origin': 0, 'old_width': 1, 'old_count': 3, 'new_width': 2, 'new_count': 2, 'events': [['0', 0], ['1', 3], ['2', 6], ['3', 9], ['4', 12]]}, {'buckets': [['0', '3', '4'], ['1', '2']], 'moved': ['1', '2'], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']], 'occupancy': [3, 2], 'cycle_span': 4, 'members': 5}), ({'origin': 2, 'old_width': 4, 'old_count': 2, 'new_width': 2, 'new_count': 5, 'events': [['0', 2], ['1', 3], ['2', 4], ['3', 9], ['4', 17]]}, {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'moved': ['2', '3', '4'], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']], 'occupancy': [2, 1, 1, 1, 0], 'cycle_span': 10, 'members': 5}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 2, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [4, 2], 'cycle_span': 6, 'members': 6}), ({'origin': 4, 'old_width': 2, 'old_count': 5, 'new_width': 3, 'new_count': 7, 'events': [['0', 1], ['1', 4], ['2', 5], ['3', 6], ['4', 15], ['5', 22]]}, {'buckets': [['1', '2', '3'], [], [], ['4'], [], [], ['0', '5']], 'moved': ['0', '3', '4', '5'], 'split_aliases': [['1', '4'], ['2', '4']], 'occupancy': [3, 0, 0, 1, 0, 0, 2], 'cycle_span': 21, 'members': 6})]][N-1]
check('regression certificate 1', solve(cases[0][0]), cases[0][1])
check('regression certificate 2', solve(cases[1][0]), cases[1][1])
check('regression certificate 3', solve(cases[2][0]), cases[2][1])
check('regression certificate 4', solve(cases[3][0]), cases[3][1])
check('regression certificate 5', solve(cases[4][0]), cases[4][1])
check('regression certificate 6', solve(cases[5][0]), cases[5][1])
check('variant-dependent certificate', solve(cases[6][0]), cases[6][1])
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression certificate 1 | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | {'buckets': [[], [], []], 'cycle_span': 9, 'members': 0, 'moved': [], 'occupancy': [0, 0, 0], 'split_aliases': []} | Passed |
| regression certificate 2 | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | {'buckets': [['0', '1', '4'], ['2'], ['3'], []], 'cycle_span': 12, 'members': 5, 'moved': ['2', '3'], 'occupancy': [3, 1, 1, 0], 'split_aliases': [['0', '2'], ['0', '3'], ['1', '2'], ['1', '3'], ['2', '3'], ['2', '4'], ['3', '4']]} | Passed |
| regression certificate 3 | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | {'buckets': [['1', '4'], ['2'], ['0', '3']], 'cycle_span': 3, 'members': 5, 'moved': ['0', '2', '3'], 'occupancy': [2, 1, 2], 'split_aliases': [['1', '2'], ['2', '4']]} | Passed |
| regression certificate 4 | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | {'buckets': [['0', '3', '4'], ['1', '2']], 'cycle_span': 4, 'members': 5, 'moved': ['1', '2'], 'occupancy': [3, 2], 'split_aliases': [['0', '1'], ['0', '2'], ['1', '3'], ['1', '4'], ['2', '3'], ['2', '4']]} | Passed |
| regression certificate 5 | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | {'buckets': [['0', '1'], ['2'], ['4'], ['3'], []], 'cycle_span': 10, 'members': 5, 'moved': ['2', '3', '4'], 'occupancy': [2, 1, 1, 1, 0], 'split_aliases': [['0', '2'], ['1', '2'], ['3', '4']]} | Passed |
| regression certificate 6 | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | {'buckets': [['1', '2', '3', '5'], ['0', '4']], 'cycle_span': 6, 'members': 6, 'moved': ['0', '3', '4', '5'], 'occupancy': [4, 2], 'split_aliases': [['1', '4'], ['2', '4']]} | Passed |
| variant-dependent certificate | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []} | {'buckets': [['1', '2', '3', '4', '5'], [], ['0']], 'cycle_span': 9, 'members': 6, 'moved': ['0', '3', '5'], 'occupancy': [5, 0, 1], 'split_aliases': []} | Passed |
SHA-256 / 6a73a65b166a400615359262f74f472dc4c49c3f55cee18b6d36a393561417e1
Verification & scope
A stipulated offline diagnostic model; it does not implement a production allocator, concurrency protocol, or complete heap library. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.
Observations recorded using Python 3.12.14 at 2026-09-29T14:43:35.847257+00:00.
Case digest / 5d1fe69d46fc69eb785f0b2a5d12ec9b35dc2be9f2f21305eaa0331dab7b0c23