{"abstract":"Distinct prime divisors discard their multiplicities.","category":"Number theory","checks":4,"contract":"Integer inputs; n is positive unless a zero or negative fixture explicitly extends that operation. A modulus is greater than one; p is prime; exponent k may be signed when an inverse exists. Prime factor multiplicity. Exact operational definition: out=[]\nd=2\nwhile d*d<=n:\n    while n%d==0:\n        out.append(d)\n        n//=d\n    d+=1\nif n>1: out.append(n)\nreturn out","evaluation_group":"model-bb4109e3972c567f","failed_approach":"Listing proper divisors admits composites and loses prime inputs.","family":"xn-prime-factor-multiplicity","id":"FA-5521","implementations":{"attempt":{"sha256":"61243118e349e47abb25cbf0a6da330e6f9b61924a392eca8bbd86b6b5bbcab7","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(n):\n    return [d for d in range(2,n) if n%d==0]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: (1,)', solve(*(1,)), [])\ncheck('fixture 2: (12,)', solve(*(12,)), [2, 2, 3])\ncheck('fixture 3: (13,)', solve(*(13,)), [13])\ncheck('fixture 4: (8,)', solve(*(8,)), [2, 2, 2])\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":"cf1218a8207cd162fbbf67bbaebee26736f20f704dbf1efb7eda6a68365fbd5a","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(n):\n    return [d for d in range(2,n+1) if n%d==0 and all(d%k for k in range(2,math.isqrt(d)+1))]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: (1,)', solve(*(1,)), [])\ncheck('fixture 2: (12,)', solve(*(12,)), [2, 2, 3])\ncheck('fixture 3: (13,)', solve(*(13,)), [13])\ncheck('fixture 4: (8,)', solve(*(8,)), [2, 2, 2])\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":"5922a0b844d3d9a93f848a68b0dfc0d54a6b410711fa3c1c0cda9620889e7897","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nimport calendar\nimport statistics\nimport itertools\nfrom fractions import Fraction\nfrom datetime import date, datetime, timedelta, timezone\nfrom decimal import Decimal, ROUND_HALF_UP, ROUND_DOWN, ROUND_CEILING, ROUND_FLOOR\n\nN = 1\nobservations = []\ndef solve(n):\n    out=[]\n    d=2\n    while d*d<=n:\n        while n%d==0:\n            out.append(d)\n            n//=d\n        d+=1\n    if n>1: out.append(n)\n    return out\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\ncheck('fixture 1: (1,)', solve(*(1,)), [])\ncheck('fixture 2: (12,)', solve(*(12,)), [2, 2, 3])\ncheck('fixture 3: (13,)', solve(*(13,)), [13])\ncheck('fixture 4: (8,)', solve(*(8,)), [2, 2, 2])\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":" 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":"xn-prime-factor-multiplicity","generated_at":"2026-09-29T14:37:50.371497+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Small exact fixtures expose this error without platform timing, external services, or probabilistic observations. Number theory results depend on the stated convention.","repair":"Apply the specified mathematical contract directly, preserving all terms and boundary cases: out=[]\nd=2\nwhile d*d<=n:\n    while n%d==0:\n        out.append(d)\n        n//=d\n    d+=1\nif n>1: out.append(n)\nreturn out","root_cause":"Distinct prime divisors discard their multiplicities.","sha256":"bbe080d80423db264bac9b5f5e258ece8bd62839728e7fa50aaed7764c856e20","title":"Prime factor multiplicity · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.931,"exit_code":1,"observations":[{"actual":[],"check":"fixture 1: (1,)","expected":[],"passed":true},{"actual":[2,3,4,6],"check":"fixture 2: (12,)","expected":[2,2,3],"passed":false},{"actual":[],"check":"fixture 3: (13,)","expected":[13],"passed":false},{"actual":[2,4],"check":"fixture 4: (8,)","expected":[2,2,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: (1,)\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"fixture 2: (12,)\", \"actual\": [2, 3, 4, 6], \"expected\": [2, 2, 3], \"passed\": false}, {\"check\": \"fixture 3: (13,)\", \"actual\": [], \"expected\": [13], \"passed\": false}, {\"check\": \"fixture 4: (8,)\", \"actual\": [2, 4], \"expected\": [2, 2, 2], \"passed\": false}], \"passed\": false}\n"},"broken":{"elapsed_ms":43.515,"exit_code":1,"observations":[{"actual":[],"check":"fixture 1: (1,)","expected":[],"passed":true},{"actual":[2,3],"check":"fixture 2: (12,)","expected":[2,2,3],"passed":false},{"actual":[13],"check":"fixture 3: (13,)","expected":[13],"passed":true},{"actual":[2],"check":"fixture 4: (8,)","expected":[2,2,2],"passed":false}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: (1,)\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"fixture 2: (12,)\", \"actual\": [2, 3], \"expected\": [2, 2, 3], \"passed\": false}, {\"check\": \"fixture 3: (13,)\", \"actual\": [13], \"expected\": [13], \"passed\": true}, {\"check\": \"fixture 4: (8,)\", \"actual\": [2], \"expected\": [2, 2, 2], \"passed\": false}], \"passed\": false}\n"},"fixed":{"elapsed_ms":109.909,"exit_code":0,"observations":[{"actual":[],"check":"fixture 1: (1,)","expected":[],"passed":true},{"actual":[2,2,3],"check":"fixture 2: (12,)","expected":[2,2,3],"passed":true},{"actual":[13],"check":"fixture 3: (13,)","expected":[13],"passed":true},{"actual":[2,2,2],"check":"fixture 4: (8,)","expected":[2,2,2],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"fixture 1: (1,)\", \"actual\": [], \"expected\": [], \"passed\": true}, {\"check\": \"fixture 2: (12,)\", \"actual\": [2, 2, 3], \"expected\": [2, 2, 3], \"passed\": true}, {\"check\": \"fixture 3: (13,)\", \"actual\": [13], \"expected\": [13], \"passed\": true}, {\"check\": \"fixture 4: (8,)\", \"actual\": [2, 2, 2], \"expected\": [2, 2, 2], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}