FA-91171 / Quantum circuit simulation / Open access
Dynamic circuit reset flips the qubit · case 01
Resetting a qubit that is already |0> leaves it in |1>.
ROOT CAUSE
Reset is implemented as an unconditional X.
VERIFIED REPAIR
Set the qubit to 0 regardless of its value.
Unsuccessful approach: The attempted repair resets via measure-and-clear but writes the measured value into clbit 0 as a side effect.
Case contract
Input [nq, nc, ops] on computational basis states only: ["x", q], ["cx", c, t], ["ccx", a, b, t], ["swap", a, b], ["measure", q, c], ["reset", q], ["x_if", q, value] (flip q when the classical register value, clbit 0 = LSB, equals value). Return {"qubits": bits with qubit nq-1 leftmost, "clbits": bits with clbit nc-1 leftmost}.
Why this case matters
Feed-forward and reset semantics are central to dynamic circuits; register-value or reset slips change control flow.
1 / The failure
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
nq, nc, ops = x
q = [0] * nq
c = [0] * nc
for op in ops:
name = op[0]
if name == 'x':
q[op[1]] ^= 1
elif name == 'cx':
if q[op[1]]:
q[op[2]] ^= 1
elif name == 'ccx':
if q[op[1]] and q[op[2]]:
q[op[3]] ^= 1
elif name == 'swap':
a, b = op[1], op[2]
q[a], q[b] = q[b], q[a]
elif name == 'measure':
_, qb, cb = op
c[cb] = q[qb]
elif name == 'reset':
q[op[1]] ^= 1
elif name == 'x_if':
creg = sum(bit << i for i, bit in enumerate(c))
if creg == op[2]:
q[op[1]] ^= 1
return {'qubits': ''.join(str(b) for b in reversed(q)), 'clbits': ''.join(str(b) for b in reversed(c))}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: random dynamic 1', [2, 2, [['cx', 1, 0], ['x_if', 0, 2], ['x', 1], ['swap', 0, 1], ['reset', 1], ['cx', 1, 0], ['x', 1]]], {'qubits': '11', 'clbits': '00'}], ['regression: random dynamic 3', [4, 4, [['ccx', 3, 0, 2], ['x_if', 1, 8], ['x_if', 1, 10], ['measure', 0, 3], ['reset', 0], ['measure', 0, 1]]], {'qubits': '0000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: feed-forward on register value 2', [2, 2, [['x', 1], ['measure', 1, 1], ['x_if', 0, 2]]], {'qubits': '11', 'clbits': '10'}], ['control: reset excited qubit', [1, 1, [['x', 0], ['reset', 0], ['measure', 0, 0]]], {'qubits': '0', 'clbits': '0'}], ['control: toffoli one control', [3, 3, [['x', 0], ['ccx', 0, 1, 2]]], {'qubits': '001', 'clbits': '000'}], ['control: toffoli no controls', [3, 3, [['ccx', 0, 1, 2]]], {'qubits': '000', 'clbits': '000'}]], [['regression: random dynamic 6', [2, 2, [['reset', 0], ['x', 1], ['swap', 1, 0], ['reset', 0], ['measure', 1, 0], ['x_if', 0, 1], ['cx', 0, 1], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['regression: random dynamic 11', [3, 3, [['reset', 2], ['x', 2]]], {'qubits': '100', 'clbits': '000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: measure into other clbit', [2, 2, [['x', 0], ['measure', 0, 1]]], {'qubits': '01', 'clbits': '10'}], ['control: swap excitation', [2, 2, [['x', 0], ['swap', 0, 1]]], {'qubits': '10', 'clbits': '00'}], ['control: asymmetric output', [3, 3, [['x', 0], ['measure', 0, 0]]], {'qubits': '001', 'clbits': '001'}], ['control: random dynamic 0', [4, 4, [['cx', 2, 1], ['reset', 2], ['x_if', 1, 5], ['x_if', 3, 6], ['reset', 2], ['cx', 3, 1], ['swap', 1, 2], ['x', 0]]], {'qubits': '0001', 'clbits': '0000'}]], [['regression: random dynamic 15', [3, 3, [['cx', 2, 1], ['x_if', 0, 0], ['cx', 2, 1], ['ccx', 0, 1, 2], ['reset', 2], ['reset', 1], ['cx', 0, 1]]], {'qubits': '011', 'clbits': '000'}], ['regression: random dynamic 16', [2, 2, [['reset', 0], ['x_if', 0, 1], ['x', 0]]], {'qubits': '01', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 4', [2, 2, [['x', 0], ['measure', 1, 1]]], {'qubits': '01', 'clbits': '00'}], ['control: random dynamic 7', [4, 4, [['ccx', 1, 0, 2], ['x_if', 1, 6]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 8', [3, 3, [['reset', 2], ['x', 1], ['ccx', 0, 2, 1], ['measure', 1, 1], ['reset', 2]]], {'qubits': '010', 'clbits': '010'}], ['control: random dynamic 9', [2, 2, [['cx', 0, 1], ['cx', 0, 1], ['measure', 0, 0], ['swap', 0, 1], ['measure', 0, 1], ['swap', 0, 1], ['measure', 0, 1], ['measure', 0, 0], ['swap', 1, 0]]], {'qubits': '00', 'clbits': '00'}]], [['regression: random dynamic 23', [4, 4, [['reset', 1], ['x', 3], ['x_if', 3, 0], ['swap', 0, 2], ['x', 0], ['x', 1], ['ccx', 1, 2, 0], ['measure', 2, 2], ['cx', 3, 0]]], {'qubits': '0011', 'clbits': '0000'}], ['regression: random dynamic 29', [2, 2, [['measure', 0, 0], ['swap', 1, 0], ['swap', 0, 1], ['reset', 0], ['swap', 1, 0], ['cx', 0, 1]]], {'qubits': '00', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 10', [3, 3, [['x', 2], ['measure', 2, 2], ['ccx', 2, 1, 0], ['swap', 0, 2], ['cx', 2, 0], ['x', 1], ['ccx', 2, 0, 1], ['cx', 2, 0], ['x', 1]]], {'qubits': '001', 'clbits': '100'}], ['control: random dynamic 12', [3, 3, [['x', 1], ['x', 2]]], {'qubits': '110', 'clbits': '000'}], ['control: random dynamic 13', [2, 2, [['x_if', 1, 0], ['x', 0], ['swap', 1, 0], ['x', 1], ['cx', 1, 0], ['x_if', 1, 3], ['measure', 1, 1], ['swap', 1, 0], ['x', 1]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 18', [2, 2, [['swap', 0, 1], ['x', 0], ['cx', 0, 1], ['cx', 0, 1]]], {'qubits': '01', 'clbits': '00'}]], [['regression: random dynamic 33', [4, 4, [['x', 0], ['x_if', 1, 8], ['reset', 1], ['x', 2], ['x', 1], ['swap', 3, 2], ['x', 2]]], {'qubits': '1111', 'clbits': '0000'}], ['regression: random dynamic 34', [4, 4, [['cx', 0, 2], ['cx', 1, 2], ['measure', 2, 3], ['measure', 0, 1], ['ccx', 1, 0, 3], ['reset', 3], ['x_if', 1, 9], ['x', 3], ['reset', 2]]], {'qubits': '1000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 19', [4, 4, [['swap', 3, 2], ['x_if', 0, 4], ['x', 3], ['cx', 1, 2]]], {'qubits': '1000', 'clbits': '0000'}], ['control: random dynamic 20', [2, 2, [['cx', 1, 0], ['x', 0], ['x_if', 0, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 21', [4, 4, [['swap', 1, 2], ['measure', 3, 0], ['x_if', 0, 10], ['swap', 0, 2], ['x_if', 2, 9], ['cx', 0, 2], ['x_if', 0, 15], ['cx', 0, 3]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 22', [4, 4, [['swap', 3, 1], ['x', 2], ['measure', 1, 2], ['ccx', 0, 1, 2]]], {'qubits': '0100', 'clbits': '0000'}]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: random dynamic 1 | {'clbits': '00', 'qubits': '00'} | {'clbits': '00', 'qubits': '11'} | Failed |
| regression: random dynamic 3 | {'clbits': '0010', 'qubits': '0001'} | {'clbits': '0000', 'qubits': '0000'} | Failed |
| repair check: random dynamic 2 | {'clbits': '010', 'qubits': '011'} | {'clbits': '010', 'qubits': '011'} | Passed |
| control: feed-forward on register value 2 | {'clbits': '10', 'qubits': '11'} | {'clbits': '10', 'qubits': '11'} | Passed |
| control: reset excited qubit | {'clbits': '0', 'qubits': '0'} | {'clbits': '0', 'qubits': '0'} | Passed |
| control: toffoli one control | {'clbits': '000', 'qubits': '001'} | {'clbits': '000', 'qubits': '001'} | Passed |
| control: toffoli no controls | {'clbits': '000', 'qubits': '000'} | {'clbits': '000', 'qubits': '000'} | Passed |
SHA-256 / 48a7301773988c477c888e84ee03c8f3e3f0c432817896b6790e137aac27d588
2 / The unsuccessful fix
Exit 1"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
nq, nc, ops = x
q = [0] * nq
c = [0] * nc
for op in ops:
name = op[0]
if name == 'x':
q[op[1]] ^= 1
elif name == 'cx':
if q[op[1]]:
q[op[2]] ^= 1
elif name == 'ccx':
if q[op[1]] and q[op[2]]:
q[op[3]] ^= 1
elif name == 'swap':
a, b = op[1], op[2]
q[a], q[b] = q[b], q[a]
elif name == 'measure':
_, qb, cb = op
c[cb] = q[qb]
elif name == 'reset':
c[0] = q[op[1]]
q[op[1]] = 0
elif name == 'x_if':
creg = sum(bit << i for i, bit in enumerate(c))
if creg == op[2]:
q[op[1]] ^= 1
return {'qubits': ''.join(str(b) for b in reversed(q)), 'clbits': ''.join(str(b) for b in reversed(c))}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: random dynamic 1', [2, 2, [['cx', 1, 0], ['x_if', 0, 2], ['x', 1], ['swap', 0, 1], ['reset', 1], ['cx', 1, 0], ['x', 1]]], {'qubits': '11', 'clbits': '00'}], ['regression: random dynamic 3', [4, 4, [['ccx', 3, 0, 2], ['x_if', 1, 8], ['x_if', 1, 10], ['measure', 0, 3], ['reset', 0], ['measure', 0, 1]]], {'qubits': '0000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: feed-forward on register value 2', [2, 2, [['x', 1], ['measure', 1, 1], ['x_if', 0, 2]]], {'qubits': '11', 'clbits': '10'}], ['control: reset excited qubit', [1, 1, [['x', 0], ['reset', 0], ['measure', 0, 0]]], {'qubits': '0', 'clbits': '0'}], ['control: toffoli one control', [3, 3, [['x', 0], ['ccx', 0, 1, 2]]], {'qubits': '001', 'clbits': '000'}], ['control: toffoli no controls', [3, 3, [['ccx', 0, 1, 2]]], {'qubits': '000', 'clbits': '000'}]], [['regression: random dynamic 6', [2, 2, [['reset', 0], ['x', 1], ['swap', 1, 0], ['reset', 0], ['measure', 1, 0], ['x_if', 0, 1], ['cx', 0, 1], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['regression: random dynamic 11', [3, 3, [['reset', 2], ['x', 2]]], {'qubits': '100', 'clbits': '000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: measure into other clbit', [2, 2, [['x', 0], ['measure', 0, 1]]], {'qubits': '01', 'clbits': '10'}], ['control: swap excitation', [2, 2, [['x', 0], ['swap', 0, 1]]], {'qubits': '10', 'clbits': '00'}], ['control: asymmetric output', [3, 3, [['x', 0], ['measure', 0, 0]]], {'qubits': '001', 'clbits': '001'}], ['control: random dynamic 0', [4, 4, [['cx', 2, 1], ['reset', 2], ['x_if', 1, 5], ['x_if', 3, 6], ['reset', 2], ['cx', 3, 1], ['swap', 1, 2], ['x', 0]]], {'qubits': '0001', 'clbits': '0000'}]], [['regression: random dynamic 15', [3, 3, [['cx', 2, 1], ['x_if', 0, 0], ['cx', 2, 1], ['ccx', 0, 1, 2], ['reset', 2], ['reset', 1], ['cx', 0, 1]]], {'qubits': '011', 'clbits': '000'}], ['regression: random dynamic 16', [2, 2, [['reset', 0], ['x_if', 0, 1], ['x', 0]]], {'qubits': '01', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 4', [2, 2, [['x', 0], ['measure', 1, 1]]], {'qubits': '01', 'clbits': '00'}], ['control: random dynamic 7', [4, 4, [['ccx', 1, 0, 2], ['x_if', 1, 6]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 8', [3, 3, [['reset', 2], ['x', 1], ['ccx', 0, 2, 1], ['measure', 1, 1], ['reset', 2]]], {'qubits': '010', 'clbits': '010'}], ['control: random dynamic 9', [2, 2, [['cx', 0, 1], ['cx', 0, 1], ['measure', 0, 0], ['swap', 0, 1], ['measure', 0, 1], ['swap', 0, 1], ['measure', 0, 1], ['measure', 0, 0], ['swap', 1, 0]]], {'qubits': '00', 'clbits': '00'}]], [['regression: random dynamic 23', [4, 4, [['reset', 1], ['x', 3], ['x_if', 3, 0], ['swap', 0, 2], ['x', 0], ['x', 1], ['ccx', 1, 2, 0], ['measure', 2, 2], ['cx', 3, 0]]], {'qubits': '0011', 'clbits': '0000'}], ['regression: random dynamic 29', [2, 2, [['measure', 0, 0], ['swap', 1, 0], ['swap', 0, 1], ['reset', 0], ['swap', 1, 0], ['cx', 0, 1]]], {'qubits': '00', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 10', [3, 3, [['x', 2], ['measure', 2, 2], ['ccx', 2, 1, 0], ['swap', 0, 2], ['cx', 2, 0], ['x', 1], ['ccx', 2, 0, 1], ['cx', 2, 0], ['x', 1]]], {'qubits': '001', 'clbits': '100'}], ['control: random dynamic 12', [3, 3, [['x', 1], ['x', 2]]], {'qubits': '110', 'clbits': '000'}], ['control: random dynamic 13', [2, 2, [['x_if', 1, 0], ['x', 0], ['swap', 1, 0], ['x', 1], ['cx', 1, 0], ['x_if', 1, 3], ['measure', 1, 1], ['swap', 1, 0], ['x', 1]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 18', [2, 2, [['swap', 0, 1], ['x', 0], ['cx', 0, 1], ['cx', 0, 1]]], {'qubits': '01', 'clbits': '00'}]], [['regression: random dynamic 33', [4, 4, [['x', 0], ['x_if', 1, 8], ['reset', 1], ['x', 2], ['x', 1], ['swap', 3, 2], ['x', 2]]], {'qubits': '1111', 'clbits': '0000'}], ['regression: random dynamic 34', [4, 4, [['cx', 0, 2], ['cx', 1, 2], ['measure', 2, 3], ['measure', 0, 1], ['ccx', 1, 0, 3], ['reset', 3], ['x_if', 1, 9], ['x', 3], ['reset', 2]]], {'qubits': '1000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 19', [4, 4, [['swap', 3, 2], ['x_if', 0, 4], ['x', 3], ['cx', 1, 2]]], {'qubits': '1000', 'clbits': '0000'}], ['control: random dynamic 20', [2, 2, [['cx', 1, 0], ['x', 0], ['x_if', 0, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 21', [4, 4, [['swap', 1, 2], ['measure', 3, 0], ['x_if', 0, 10], ['swap', 0, 2], ['x_if', 2, 9], ['cx', 0, 2], ['x_if', 0, 15], ['cx', 0, 3]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 22', [4, 4, [['swap', 3, 1], ['x', 2], ['measure', 1, 2], ['ccx', 0, 1, 2]]], {'qubits': '0100', 'clbits': '0000'}]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: random dynamic 1 | {'clbits': '00', 'qubits': '11'} | {'clbits': '00', 'qubits': '11'} | Passed |
| regression: random dynamic 3 | {'clbits': '0000', 'qubits': '0000'} | {'clbits': '0000', 'qubits': '0000'} | Passed |
| repair check: random dynamic 2 | {'clbits': '011', 'qubits': '011'} | {'clbits': '010', 'qubits': '011'} | Failed |
| control: feed-forward on register value 2 | {'clbits': '10', 'qubits': '11'} | {'clbits': '10', 'qubits': '11'} | Passed |
| control: reset excited qubit | {'clbits': '0', 'qubits': '0'} | {'clbits': '0', 'qubits': '0'} | Passed |
| control: toffoli one control | {'clbits': '000', 'qubits': '001'} | {'clbits': '000', 'qubits': '001'} | Passed |
| control: toffoli no controls | {'clbits': '000', 'qubits': '000'} | {'clbits': '000', 'qubits': '000'} | Passed |
SHA-256 / 508a5abe42c6bab16559b44ff9e29681d92530bc443e2914b1b114992485ebea
3 / The verified repair
Exit 0"""Failure Map reference implementation. Python standard library only."""
import json
N = 1
observations = []
def solve(x):
nq, nc, ops = x
q = [0] * nq
c = [0] * nc
for op in ops:
name = op[0]
if name == 'x':
q[op[1]] ^= 1
elif name == 'cx':
if q[op[1]]:
q[op[2]] ^= 1
elif name == 'ccx':
if q[op[1]] and q[op[2]]:
q[op[3]] ^= 1
elif name == 'swap':
a, b = op[1], op[2]
q[a], q[b] = q[b], q[a]
elif name == 'measure':
_, qb, cb = op
c[cb] = q[qb]
elif name == 'reset':
q[op[1]] = 0
elif name == 'x_if':
creg = sum(bit << i for i, bit in enumerate(c))
if creg == op[2]:
q[op[1]] ^= 1
return {'qubits': ''.join(str(b) for b in reversed(q)), 'clbits': ''.join(str(b) for b in reversed(c))}
def check(label, actual, expected):
observations.append({"check": label, "actual": actual, "expected": expected, "passed": actual == expected})
fixtures = [[['regression: random dynamic 1', [2, 2, [['cx', 1, 0], ['x_if', 0, 2], ['x', 1], ['swap', 0, 1], ['reset', 1], ['cx', 1, 0], ['x', 1]]], {'qubits': '11', 'clbits': '00'}], ['regression: random dynamic 3', [4, 4, [['ccx', 3, 0, 2], ['x_if', 1, 8], ['x_if', 1, 10], ['measure', 0, 3], ['reset', 0], ['measure', 0, 1]]], {'qubits': '0000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: feed-forward on register value 2', [2, 2, [['x', 1], ['measure', 1, 1], ['x_if', 0, 2]]], {'qubits': '11', 'clbits': '10'}], ['control: reset excited qubit', [1, 1, [['x', 0], ['reset', 0], ['measure', 0, 0]]], {'qubits': '0', 'clbits': '0'}], ['control: toffoli one control', [3, 3, [['x', 0], ['ccx', 0, 1, 2]]], {'qubits': '001', 'clbits': '000'}], ['control: toffoli no controls', [3, 3, [['ccx', 0, 1, 2]]], {'qubits': '000', 'clbits': '000'}]], [['regression: random dynamic 6', [2, 2, [['reset', 0], ['x', 1], ['swap', 1, 0], ['reset', 0], ['measure', 1, 0], ['x_if', 0, 1], ['cx', 0, 1], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['regression: random dynamic 11', [3, 3, [['reset', 2], ['x', 2]]], {'qubits': '100', 'clbits': '000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: measure into other clbit', [2, 2, [['x', 0], ['measure', 0, 1]]], {'qubits': '01', 'clbits': '10'}], ['control: swap excitation', [2, 2, [['x', 0], ['swap', 0, 1]]], {'qubits': '10', 'clbits': '00'}], ['control: asymmetric output', [3, 3, [['x', 0], ['measure', 0, 0]]], {'qubits': '001', 'clbits': '001'}], ['control: random dynamic 0', [4, 4, [['cx', 2, 1], ['reset', 2], ['x_if', 1, 5], ['x_if', 3, 6], ['reset', 2], ['cx', 3, 1], ['swap', 1, 2], ['x', 0]]], {'qubits': '0001', 'clbits': '0000'}]], [['regression: random dynamic 15', [3, 3, [['cx', 2, 1], ['x_if', 0, 0], ['cx', 2, 1], ['ccx', 0, 1, 2], ['reset', 2], ['reset', 1], ['cx', 0, 1]]], {'qubits': '011', 'clbits': '000'}], ['regression: random dynamic 16', [2, 2, [['reset', 0], ['x_if', 0, 1], ['x', 0]]], {'qubits': '01', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 4', [2, 2, [['x', 0], ['measure', 1, 1]]], {'qubits': '01', 'clbits': '00'}], ['control: random dynamic 7', [4, 4, [['ccx', 1, 0, 2], ['x_if', 1, 6]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 8', [3, 3, [['reset', 2], ['x', 1], ['ccx', 0, 2, 1], ['measure', 1, 1], ['reset', 2]]], {'qubits': '010', 'clbits': '010'}], ['control: random dynamic 9', [2, 2, [['cx', 0, 1], ['cx', 0, 1], ['measure', 0, 0], ['swap', 0, 1], ['measure', 0, 1], ['swap', 0, 1], ['measure', 0, 1], ['measure', 0, 0], ['swap', 1, 0]]], {'qubits': '00', 'clbits': '00'}]], [['regression: random dynamic 23', [4, 4, [['reset', 1], ['x', 3], ['x_if', 3, 0], ['swap', 0, 2], ['x', 0], ['x', 1], ['ccx', 1, 2, 0], ['measure', 2, 2], ['cx', 3, 0]]], {'qubits': '0011', 'clbits': '0000'}], ['regression: random dynamic 29', [2, 2, [['measure', 0, 0], ['swap', 1, 0], ['swap', 0, 1], ['reset', 0], ['swap', 1, 0], ['cx', 0, 1]]], {'qubits': '00', 'clbits': '00'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 10', [3, 3, [['x', 2], ['measure', 2, 2], ['ccx', 2, 1, 0], ['swap', 0, 2], ['cx', 2, 0], ['x', 1], ['ccx', 2, 0, 1], ['cx', 2, 0], ['x', 1]]], {'qubits': '001', 'clbits': '100'}], ['control: random dynamic 12', [3, 3, [['x', 1], ['x', 2]]], {'qubits': '110', 'clbits': '000'}], ['control: random dynamic 13', [2, 2, [['x_if', 1, 0], ['x', 0], ['swap', 1, 0], ['x', 1], ['cx', 1, 0], ['x_if', 1, 3], ['measure', 1, 1], ['swap', 1, 0], ['x', 1]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 18', [2, 2, [['swap', 0, 1], ['x', 0], ['cx', 0, 1], ['cx', 0, 1]]], {'qubits': '01', 'clbits': '00'}]], [['regression: random dynamic 33', [4, 4, [['x', 0], ['x_if', 1, 8], ['reset', 1], ['x', 2], ['x', 1], ['swap', 3, 2], ['x', 2]]], {'qubits': '1111', 'clbits': '0000'}], ['regression: random dynamic 34', [4, 4, [['cx', 0, 2], ['cx', 1, 2], ['measure', 2, 3], ['measure', 0, 1], ['ccx', 1, 0, 3], ['reset', 3], ['x_if', 1, 9], ['x', 3], ['reset', 2]]], {'qubits': '1000', 'clbits': '0000'}], ['repair check: random dynamic 2', [3, 3, [['cx', 2, 1], ['x', 1], ['measure', 1, 1], ['x', 0], ['x_if', 2, 5], ['reset', 1], ['cx', 2, 0], ['swap', 1, 0], ['cx', 1, 0]]], {'qubits': '011', 'clbits': '010'}], ['control: random dynamic 19', [4, 4, [['swap', 3, 2], ['x_if', 0, 4], ['x', 3], ['cx', 1, 2]]], {'qubits': '1000', 'clbits': '0000'}], ['control: random dynamic 20', [2, 2, [['cx', 1, 0], ['x', 0], ['x_if', 0, 0], ['cx', 1, 0]]], {'qubits': '00', 'clbits': '00'}], ['control: random dynamic 21', [4, 4, [['swap', 1, 2], ['measure', 3, 0], ['x_if', 0, 10], ['swap', 0, 2], ['x_if', 2, 9], ['cx', 0, 2], ['x_if', 0, 15], ['cx', 0, 3]]], {'qubits': '0000', 'clbits': '0000'}], ['control: random dynamic 22', [4, 4, [['swap', 3, 1], ['x', 2], ['measure', 1, 2], ['ccx', 0, 1, 2]]], {'qubits': '0100', 'clbits': '0000'}]]]
for label, args, expected in fixtures[N-1]:
check(label, solve(args), expected)
print(json.dumps({"observations": observations, "passed": all(x["passed"] for x in observations)}, ensure_ascii=False))
raise SystemExit(0 if all(x["passed"] for x in observations) else 1)
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| regression: random dynamic 1 | {'clbits': '00', 'qubits': '11'} | {'clbits': '00', 'qubits': '11'} | Passed |
| regression: random dynamic 3 | {'clbits': '0000', 'qubits': '0000'} | {'clbits': '0000', 'qubits': '0000'} | Passed |
| repair check: random dynamic 2 | {'clbits': '010', 'qubits': '011'} | {'clbits': '010', 'qubits': '011'} | Passed |
| control: feed-forward on register value 2 | {'clbits': '10', 'qubits': '11'} | {'clbits': '10', 'qubits': '11'} | Passed |
| control: reset excited qubit | {'clbits': '0', 'qubits': '0'} | {'clbits': '0', 'qubits': '0'} | Passed |
| control: toffoli one control | {'clbits': '000', 'qubits': '001'} | {'clbits': '000', 'qubits': '001'} | Passed |
| control: toffoli no controls | {'clbits': '000', 'qubits': '000'} | {'clbits': '000', 'qubits': '000'} | Passed |
SHA-256 / 83e832902c286844fc2b8d2f7f2165c3dcf069ee1f05e68feaf0bdc3f732b394
Verification & scope
A deterministic bounded teaching model with a stipulated toy contract; amplitudes are rounded to fixed decimals for strict JSON output. It is not a production quantum SDK and claims no standards conformance. 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:51:33.529389+00:00.
Case digest / 5eff93084cfa0c9d2fbf3b8e90d8829888bcd8d74d962d97af0a940730148d3f