FA-41301 / Heap invariants / Open access
Rank-loss accounting measures actual decrease magnitude with the correct sign · case 01
The bounded rank loss propagation certificate reports an incorrect drops.
ROOT CAUSE
Rank-loss accounting measures actual decrease magnitude with the correct sign.
VERIFIED REPAIR
Derive drops using [x[1]-r for x,r in zip(a,actual) if x[0] in changed] under the stated bounded certificate contract.
Unsuccessful approach: The local patch uses [r-x[1] for x,r in zip(a,actual) if x[0] in changed] and still violates the stated relation.
Case contract
A stipulated rank-balanced heap repair trace supplies bottom-up nodes [id,stored_rank,left_rank,right_rank], with null child rank -1. Recomputed rank is max child rank if child ranks differ, otherwise child rank+1. A decrease propagates while computed rank is smaller, stopping at first unchanged node. Report local recomputed ranks, decreased ids, stopping id, new prefix ranks, rank drops, and visited count. This models the stated rule only, not every rank-pairing heap variant.
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['nodes']; actual=[max(x[2],x[3]) if x[2]!=x[3] else x[2]+1 for x in a]; changed=[]; stop=None; visited=0
for x,r in zip(a,actual):
visited+=1
if r>=x[1]: stop=x[0]; break
changed.append(x[0])
return {'computed': actual,
'decreased': changed,
'stop': stop,
'prefix_ranks': [r if x[0] in changed else x[1] for x,r in zip(a,actual)],
'drops': [1 for x in changed],
'visited': visited}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 5, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [2, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 6, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [3, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 7, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [4, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 8, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [5, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 9, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [6, 1], 'visited': 3})]][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 | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | Passed |
| regression certificate 2 | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 3 | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [2, 2], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | Failed |
| regression certificate 4 | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 5 | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [1, 1, 1], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [2, 2, 4], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | Failed |
| regression certificate 6 | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Passed |
| variant-dependent certificate | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [2, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Failed |
SHA-256 / 86e2ae5e0276dcba4bb42e8d8500651ac582c3c5d4d2b8b9aa8842658c6a6d64
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
a=d['nodes']; actual=[max(x[2],x[3]) if x[2]!=x[3] else x[2]+1 for x in a]; changed=[]; stop=None; visited=0
for x,r in zip(a,actual):
visited+=1
if r>=x[1]: stop=x[0]; break
changed.append(x[0])
return {'computed': actual,
'decreased': changed,
'stop': stop,
'prefix_ranks': [r if x[0] in changed else x[1] for x,r in zip(a,actual)],
'drops': [r-x[1] for x,r in zip(a,actual) if x[0] in changed],
'visited': visited}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 5, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [2, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 6, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [3, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 7, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [4, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 8, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [5, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 9, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [6, 1], 'visited': 3})]][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 | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | Passed |
| regression certificate 2 | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 3 | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [-2, -2], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [2, 2], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | Failed |
| regression certificate 4 | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 5 | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [-2, -2, -4], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [2, 2, 4], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | Failed |
| regression certificate 6 | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [-1, -1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Failed |
| variant-dependent certificate | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [-2, -1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [2, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Failed |
SHA-256 / 224468e1dcedc5e3ab058a478ed0dd517159df9c6d57c2321b87ba5538cbd2c4
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(d):
a=d['nodes']; actual=[max(x[2],x[3]) if x[2]!=x[3] else x[2]+1 for x in a]; changed=[]; stop=None; visited=0
for x,r in zip(a,actual):
visited+=1
if r>=x[1]: stop=x[0]; break
changed.append(x[0])
return {'computed': actual,
'decreased': changed,
'stop': stop,
'prefix_ranks': [r if x[0] in changed else x[1] for x,r in zip(a,actual)],
'drops': [x[1]-r for x,r in zip(a,actual) if x[0] in changed],
'visited': visited}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
cases = [[({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 5, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [2, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 6, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [3, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 7, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [4, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 8, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [5, 1], 'visited': 3})], [({'nodes': []}, {'computed': [], 'decreased': [], 'stop': None, 'prefix_ranks': [], 'drops': [], 'visited': 0}), ({'nodes': [['a', 0, -1, -1]]}, {'computed': [0], 'decreased': [], 'stop': 'a', 'prefix_ranks': [0], 'drops': [], 'visited': 1}), ({'nodes': [['a', 3, 0, 0], ['b', 4, 2, 1], ['c', 3, 2, 2]]}, {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [1, 2, 3], 'drops': [2, 2], 'visited': 3}), ({'nodes': [['a', 1, 0, 0], ['b', 5, 1, 1]]}, {'computed': [1, 2], 'decreased': [], 'stop': 'a', 'prefix_ranks': [1, 5], 'drops': [], 'visited': 1}), ({'nodes': [['a', 2, 0, -1], ['b', 4, 0, 2], ['c', 7, 2, 3]]}, {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'stop': None, 'prefix_ranks': [0, 2, 3], 'drops': [2, 2, 4], 'visited': 3}), ({'nodes': [['a', 4, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [1, 1], 'visited': 3}), ({'nodes': [['a', 9, 2, 2], ['b', 4, 3, 2], ['c', 3, 2, 2], ['d', 8, 1, 0]]}, {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'stop': 'c', 'prefix_ranks': [3, 3, 3, 8], 'drops': [6, 1], 'visited': 3})]][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 | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | {'computed': [], 'decreased': [], 'drops': [], 'prefix_ranks': [], 'stop': None, 'visited': 0} | Passed |
| regression certificate 2 | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | {'computed': [0], 'decreased': [], 'drops': [], 'prefix_ranks': [0], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 3 | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [2, 2], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | {'computed': [1, 2, 3], 'decreased': ['a', 'b'], 'drops': [2, 2], 'prefix_ranks': [1, 2, 3], 'stop': 'c', 'visited': 3} | Passed |
| regression certificate 4 | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | {'computed': [1, 2], 'decreased': [], 'drops': [], 'prefix_ranks': [1, 5], 'stop': 'a', 'visited': 1} | Passed |
| regression certificate 5 | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [2, 2, 4], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | {'computed': [0, 2, 3], 'decreased': ['a', 'b', 'c'], 'drops': [2, 2, 4], 'prefix_ranks': [0, 2, 3], 'stop': None, 'visited': 3} | Passed |
| regression certificate 6 | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [1, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Passed |
| variant-dependent certificate | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [2, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | {'computed': [3, 3, 3, 1], 'decreased': ['a', 'b'], 'drops': [2, 1], 'prefix_ranks': [3, 3, 3, 8], 'stop': 'c', 'visited': 3} | Passed |
SHA-256 / cac4df40074fc937c5243cab79703cb5e19ee24332533b61fd9c7c9777e8c071
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:39.672826+00:00.
Case digest / 284a702c3aac01121bd683cc026cc187d246e8ccd0dbefed7e929ea9c09c9e8e