{"abstract":"A conditional clip combines the consequent complement instead of the antecedent complement.","category":"Raster clipping","checks":11,"contract":"A postfix region program evaluates finite sample sets. Binary operands preserve left/right order. Complement uses the target universe. Named masks are copied on push; duplicate copies the top value. Subtraction, intersection, union and XOR consume both operands. Draw peeks without consuming. Empty-stack operations are outside this bounded contract.","evaluation_group":"s3-raster-clipping-clip-region-expression","failed_approach":"Correcting the complemented operand while intersecting drops samples outside both masks.","family":"s3-raster-clipping-clip-region-expression-implication-complement","id":"FA-50871","implementations":{"attempt":{"sha256":"06bbbf57a8835de6b4a402a468e8422f0d7cedb7629ec15079738a9717ddc388","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    stack=[]\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='push': stack.append(set(cmd[1]) & full)\n        elif op=='dup': stack.append(set(stack[-1]))\n        elif op=='swap': stack[-2],stack[-1]=stack[-1],stack[-2]\n        elif op=='not': stack[-1]=full-stack[-1]\n        elif op=='clear': stack[-1].clear()\n        elif op=='draw': out.append(sorted(stack[-1]))\n        else:\n            right=stack.pop()\n            left=stack.pop()\n            if op=='and': result=left & right\n            elif op=='or': result=left | right\n            elif op=='xor': result=left ^ right\n            elif op=='subtract': result=left-right\n            elif op=='implies': result=(full-left)&right\n            else: result=full-(left^right)\n            stack.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 4), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 4), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 4), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 4), [[1, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 5), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 5), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 5), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 5), [[1, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 6), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 6), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 6), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 6), [[1, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 7), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 7), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 7), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 7), [[2, 3, 4, 5, 6]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 7), [[1, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 8), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 8), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 8), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 8), [[2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 8), [[1, 3, 4, 5, 6, 7]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"b65aa63316ca683355bb9f996857f1a535d077d611fdf5720961743fd0eb6933","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    stack=[]\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='push': stack.append(set(cmd[1]) & full)\n        elif op=='dup': stack.append(set(stack[-1]))\n        elif op=='swap': stack[-2],stack[-1]=stack[-1],stack[-2]\n        elif op=='not': stack[-1]=full-stack[-1]\n        elif op=='clear': stack[-1].clear()\n        elif op=='draw': out.append(sorted(stack[-1]))\n        else:\n            right=stack.pop()\n            left=stack.pop()\n            if op=='and': result=left & right\n            elif op=='or': result=left | right\n            elif op=='xor': result=left ^ right\n            elif op=='subtract': result=left-right\n            elif op=='implies': result=(full-right)|left\n            else: result=full-(left^right)\n            stack.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 4), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 4), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 4), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 4), [[1, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 5), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 5), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 5), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 5), [[1, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 6), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 6), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 6), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 6), [[1, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 7), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 7), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 7), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 7), [[2, 3, 4, 5, 6]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 7), [[1, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 8), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 8), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 8), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 8), [[2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 8), [[1, 3, 4, 5, 6, 7]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"6f07fbe3fcd2de2897603983e3d8f16f9b997694bcbbe62882c4dfd488a3f885","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(commands, size):\n    full=set(range(size))\n    stack=[]\n    out=[]\n    for cmd in commands:\n        op=cmd[0]\n        if op=='push': stack.append(set(cmd[1]) & full)\n        elif op=='dup': stack.append(set(stack[-1]))\n        elif op=='swap': stack[-2],stack[-1]=stack[-1],stack[-2]\n        elif op=='not': stack[-1]=full-stack[-1]\n        elif op=='clear': stack[-1].clear()\n        elif op=='draw': out.append(sorted(stack[-1]))\n        else:\n            right=stack.pop()\n            left=stack.pop()\n            if op=='and': result=left & right\n            elif op=='or': result=left | right\n            elif op=='xor': result=left ^ right\n            elif op=='subtract': result=left-right\n            elif op=='implies': result=(full-left)|right\n            else: result=full-(left^right)\n            stack.append(result)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nif N == 1:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 4), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 4), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 4), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 4), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 4), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 4), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 4), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 4), [[1, 2, 3]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 4), [[2, 3]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 4), [[1, 3]])\nif N == 2:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 5), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 5), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 5), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 5), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 5), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 5), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 5), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 5), [[1, 2, 3, 4]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 5), [[2, 3, 4]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 5), [[1, 3, 4]])\nif N == 3:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 6), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 6), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 6), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 6), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 6), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 6), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 6), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 6), [[1, 2, 3, 4, 5]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 6), [[2, 3, 4, 5]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 6), [[1, 3, 4, 5]])\nif N == 4:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 7), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 7), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 7), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 7), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 7), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 7), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 7), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 7), [[1, 2, 3, 4, 5, 6]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 7), [[2, 3, 4, 5, 6]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 7), [[1, 3, 4, 5, 6]])\nif N == 5:\n    check('explicit sequence 0', solve([['push', [0, 99]], ['draw']], 8), [[0]])\n    check('explicit sequence 1', solve([['push', [0, 1]], ['dup'], ['clear'], ['swap'], ['draw']], 8), [[0, 1]])\n    check('explicit sequence 2', solve([['push', [0, 1]], ['push', [1, 2]], ['swap'], ['subtract'], ['draw']], 8), [[2]])\n    check('explicit sequence 3', solve([['push', [0]], ['not'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 4', solve([['push', [0, 1]], ['push', [1, 2]], ['and'], ['draw']], 8), [[1]])\n    check('explicit sequence 5', solve([['push', [0, 1]], ['push', [1, 2]], ['or'], ['draw']], 8), [[0, 1, 2]])\n    check('explicit sequence 6', solve([['push', [0, 1]], ['push', [1, 2]], ['xor'], ['draw']], 8), [[0, 2]])\n    check('explicit sequence 7', solve([['push', [0, 1]], ['push', [1, 2]], ['subtract'], ['draw']], 8), [[0]])\n    check('explicit sequence 8', solve([['push', [0]], ['push', [1]], ['implies'], ['draw']], 8), [[1, 2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 9', solve([['push', [0]], ['push', [1]], ['equal'], ['draw']], 8), [[2, 3, 4, 5, 6, 7]])\n    check('explicit sequence 10', solve([['push', [0, 1]], ['push', [1, 2]], ['equal'], ['draw']], 8), [[1, 3, 4, 5, 6, 7]])\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"Finite one-dimensional integer sample sets model coverage state only; no geometric intersection, memory layout, GPU or graphics-standard conformance is claimed. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"s3-raster-clipping-clip-region-expression-implication-complement","generated_at":"2026-09-29T14:45:13.301734+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Raster clip state can leak coverage across draws even when every individual region is valid.","repair":"Apply the documented state transition at implication complement. A postfix region program evaluates finite sample sets. Binary operands preserve left/right order. Complement uses the target universe. Named masks are copied on push; duplicate copies the top value. Subtraction, intersection, union and XOR consume both operands. Draw peeks without consuming. Empty-stack operations are outside this bounded contract.","root_cause":"A conditional clip combines the consequent complement instead of the antecedent complement.","sha256":"3925f94824ae413dcf037b40f8ee8d3a5b9db606e900997474eb180cff940037","title":"Clip region expression: implication complement · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":45.462,"exit_code":1,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 1","expected":[[0,1]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[1,2,3]],"check":"explicit sequence 3","expected":[[1,2,3]],"passed":true},{"actual":[[1]],"check":"explicit sequence 4","expected":[[1]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 5","expected":[[0,1,2]],"passed":true},{"actual":[[0,2]],"check":"explicit sequence 6","expected":[[0,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 7","expected":[[0]],"passed":true},{"actual":[[1]],"check":"explicit sequence 8","expected":[[1,2,3]],"passed":false},{"actual":[[2,3]],"check":"explicit sequence 9","expected":[[2,3]],"passed":true},{"actual":[[1,3]],"check":"explicit sequence 10","expected":[[1,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0, 2]], \"expected\": [[0, 2]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[1]], \"expected\": [[1, 2, 3]], \"passed\": false}, {\"check\": \"explicit sequence 9\", \"actual\": [[2, 3]], \"expected\": [[2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[1, 3]], \"expected\": [[1, 3]], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.934,"exit_code":1,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 1","expected":[[0,1]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[1,2,3]],"check":"explicit sequence 3","expected":[[1,2,3]],"passed":true},{"actual":[[1]],"check":"explicit sequence 4","expected":[[1]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 5","expected":[[0,1,2]],"passed":true},{"actual":[[0,2]],"check":"explicit sequence 6","expected":[[0,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 7","expected":[[0]],"passed":true},{"actual":[[0,2,3]],"check":"explicit sequence 8","expected":[[1,2,3]],"passed":false},{"actual":[[2,3]],"check":"explicit sequence 9","expected":[[2,3]],"passed":true},{"actual":[[1,3]],"check":"explicit sequence 10","expected":[[1,3]],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0, 2]], \"expected\": [[0, 2]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[0, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": false}, {\"check\": \"explicit sequence 9\", \"actual\": [[2, 3]], \"expected\": [[2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[1, 3]], \"expected\": [[1, 3]], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.1,"exit_code":0,"observations":[{"actual":[[0]],"check":"explicit sequence 0","expected":[[0]],"passed":true},{"actual":[[0,1]],"check":"explicit sequence 1","expected":[[0,1]],"passed":true},{"actual":[[2]],"check":"explicit sequence 2","expected":[[2]],"passed":true},{"actual":[[1,2,3]],"check":"explicit sequence 3","expected":[[1,2,3]],"passed":true},{"actual":[[1]],"check":"explicit sequence 4","expected":[[1]],"passed":true},{"actual":[[0,1,2]],"check":"explicit sequence 5","expected":[[0,1,2]],"passed":true},{"actual":[[0,2]],"check":"explicit sequence 6","expected":[[0,2]],"passed":true},{"actual":[[0]],"check":"explicit sequence 7","expected":[[0]],"passed":true},{"actual":[[1,2,3]],"check":"explicit sequence 8","expected":[[1,2,3]],"passed":true},{"actual":[[2,3]],"check":"explicit sequence 9","expected":[[2,3]],"passed":true},{"actual":[[1,3]],"check":"explicit sequence 10","expected":[[1,3]],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"explicit sequence 0\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 1\", \"actual\": [[0, 1]], \"expected\": [[0, 1]], \"passed\": true}, {\"check\": \"explicit sequence 2\", \"actual\": [[2]], \"expected\": [[2]], \"passed\": true}, {\"check\": \"explicit sequence 3\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 4\", \"actual\": [[1]], \"expected\": [[1]], \"passed\": true}, {\"check\": \"explicit sequence 5\", \"actual\": [[0, 1, 2]], \"expected\": [[0, 1, 2]], \"passed\": true}, {\"check\": \"explicit sequence 6\", \"actual\": [[0, 2]], \"expected\": [[0, 2]], \"passed\": true}, {\"check\": \"explicit sequence 7\", \"actual\": [[0]], \"expected\": [[0]], \"passed\": true}, {\"check\": \"explicit sequence 8\", \"actual\": [[1, 2, 3]], \"expected\": [[1, 2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 9\", \"actual\": [[2, 3]], \"expected\": [[2, 3]], \"passed\": true}, {\"check\": \"explicit sequence 10\", \"actual\": [[1, 3]], \"expected\": [[1, 3]], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}