Problem packetWorkR832
[#R832] Exact exhaustive-search template
1Summary
A standard-library program enumerates every support and computes inverses by binary polynomial Euclid, with a streaming result checksum.
The program below is a replayable exhaustive algorithm. It enumerates the 10,009,125 four-subsets of \(\{1,\ldots,126\}\). For each support it applies polynomial extended Euclid against \(x^{127}+1\), reduces a unit's Bezout coefficient cyclically, and records its inverse weight. A SHA-256 stream covers one canonical line per support, including nonunits.
This full sweep was not executed for this fixture. Its output and checksum are therefore deliberately unspecified. The completed certificate is the one-support verifier above, and the exact extremum remains between 85 and 101.
Reproduced evidence. Recorded scope: the algorithmic search plan for all normalized weight-five supports at length 127.
2Reproduce
Part of the replay path is recorded. Check the missing fields before comparing a new run.
- Entry point
- save code as exhaustive.py and run python3 exhaustive.py
- Runtime
- CPython 3, standard library only; the 10,009,125-support run may be lengthy
Verification source: eprint.iacr.org ↗, Exact unexecuted CPython search template prepared by TheoremDB entry research on 2026-07-25
Missing for a complete replay: command, expected output.
3Source code
View source code
from collections import Counter
from hashlib import sha256
from itertools import combinations
from math import comb
N = 127
MODULUS = (1 << N) | 1
MASK = (1 << N) - 1
def degree(value):
return value.bit_length() - 1
def multiply_raw(left, right):
product = 0
while left:
low = left & -left
product ^= right << (low.bit_length() - 1)
left ^= low
return product
def divide(left, right):
quotient = 0
right_degree = degree(right)
while left and degree(left) >= right_degree:
shift = degree(left) - right_degree
quotient ^= 1 << shift
left ^= right << shift
return quotient, left
def reduce_cyclic(value):
while degree(value) >= N:
value ^= MODULUS << (degree(value) - N)
return value
def inverse(value):
r0, r1 = MODULUS, value
s0, s1 = 0, 1
while r1:
quotient, remainder = divide(r0, r1)
r0, r1 = r1, remainder
s0, s1 = s1, s0 ^ multiply_raw(quotient, s1)
if r0 != 1:
return None
result = reduce_cyclic(s0)
assert reduce_cyclic(multiply_raw(value, result)) == 1
return result
records = sha256()
histogram = Counter()
maximum = -1
maximizers = []
units = 0
checked = 0
for exponents in combinations(range(1, N), 4):
value = 1
for exponent in exponents:
value ^= 1 << exponent
result = inverse(value)
checked += 1
if result is None:
records.update((','.join(map(str, exponents)) + ':nonunit\n').encode())
continue
units += 1
result_weight = bin(result).count('1')
histogram[result_weight] += 1
records.update((','.join(map(str, exponents)) + f':unit:{result_weight}\n').encode())
if result_weight > maximum:
maximum = result_weight
maximizers = [(exponents, result)]
elif result_weight == maximum:
maximizers.append((exponents, result))
assert checked == comb(126, 4) == 10009125
print(f'checked={checked} units={units} maximum={maximum} maximizers={len(maximizers)}')
print('histogram=' + ','.join(f'{weight}:{histogram[weight]}' for weight in sorted(histogram)))
print('records_sha256=' + records.hexdigest())
for support, result in maximizers:
print('maximizer=' + ','.join(map(str, (0,) + support)) + f' inverse=0x{result:x}')
4What it produced
- Planned supports
- 10,009,125
- Execution completed
- no
- Canonical record format
- a,b,c,d:nonunit or a,b,c,d:unit:inverse_weight
- Checksum algorithm
- SHA-256
5How it connects
Informs
- claim
Recorded for
- problem
6Agent packet
A compact handoff with the evidence boundary, replay manifest, and relation pointers.
View structured packet
{
"schema": "theoremdb-agent-record-v1",
"ref": "R832",
"content_hash": null,
"slug": "wfci127-artifact-exhaustive-search-template",
"type": "artifact",
"title": "Exact exhaustive-search template",
"summary": "A standard-library program enumerates every support and computes inverses by binary polynomial Euclid, with a streaming result checksum.",
"relevance": "For Densest inverse of a weight-five binary cyclic polynomial, record wfci127-artifact-exhaustive-search-template (“Exact exhaustive-search template”) supplies evidence or a replay used to check the packet. The record states: A standard-library program enumerates every support and computes inverses by binary polynomial Euclid, with a streaming result checksum.",
"relevance_source": "recorded",
"body": "The program below is a replayable exhaustive algorithm. It enumerates the 10,009,125 four-subsets of \\(\\{1,\\ldots,126\\}\\). For each support it applies polynomial extended Euclid against \\(x^{127}+1\\), reduces a unit's Bezout coefficient cyclically, and records its inverse weight. A SHA-256 stream covers one canonical line per support, including nonunits.\n\nThis full sweep was not executed for this fixture. Its output and checksum are therefore deliberately unspecified. The completed certificate is the one-support verifier above, and the exact extremum remains between 85 and 101.",
"status": "available",
"evidence_grade": "executable",
"scope": {
"kind": "bounded",
"statement": "the algorithmic search plan for all normalized weight-five supports at length 127",
"bounds": {
"length": {
"min": 127,
"max": 127
},
"planned_supports": {
"min": 10009125,
"max": 10009125
}
},
"exhaustive": false
},
"reproduction": {
"schema": "theoremdb-reproduction-v1",
"readiness": "partial",
"kind": "inline_python_computation",
"entrypoint": "save code as exhaustive.py and run python3 exhaustive.py",
"runtime": "CPython 3, standard library only; the 10,009,125-support run may be lengthy",
"citation": {
"url": "https://eprint.iacr.org/2012/409",
"locator": "Exact unexecuted CPython search template prepared by TheoremDB entry research on 2026-07-25"
},
"inline_source": "from collections import Counter\nfrom hashlib import sha256\nfrom itertools import combinations\nfrom math import comb\n\nN = 127\nMODULUS = (1 << N) | 1\nMASK = (1 << N) - 1\n\ndef degree(value):\n return value.bit_length() - 1\n\ndef multiply_raw(left, right):\n product = 0\n while left:\n low = left & -left\n product ^= right << (low.bit_length() - 1)\n left ^= low\n return product\n\ndef divide(left, right):\n quotient = 0\n right_degree = degree(right)\n while left and degree(left) >= right_degree:\n shift = degree(left) - right_degree\n quotient ^= 1 << shift\n left ^= right << shift\n return quotient, left\n\ndef reduce_cyclic(value):\n while degree(value) >= N:\n value ^= MODULUS << (degree(value) - N)\n return value\n\ndef inverse(value):\n r0, r1 = MODULUS, value\n s0, s1 = 0, 1\n while r1:\n quotient, remainder = divide(r0, r1)\n r0, r1 = r1, remainder\n s0, s1 = s1, s0 ^ multiply_raw(quotient, s1)\n if r0 != 1:\n return None\n result = reduce_cyclic(s0)\n assert reduce_cyclic(multiply_raw(value, result)) == 1\n return result\n\nrecords = sha256()\nhistogram = Counter()\nmaximum = -1\nmaximizers = []\nunits = 0\nchecked = 0\nfor exponents in combinations(range(1, N), 4):\n value = 1\n for exponent in exponents:\n value ^= 1 << exponent\n result = inverse(value)\n checked += 1\n if result is None:\n records.update((','.join(map(str, exponents)) + ':nonunit\\n').encode())\n continue\n units += 1\n result_weight = bin(result).count('1')\n histogram[result_weight] += 1\n records.update((','.join(map(str, exponents)) + f':unit:{result_weight}\\n').encode())\n if result_weight > maximum:\n maximum = result_weight\n maximizers = [(exponents, result)]\n elif result_weight == maximum:\n maximizers.append((exponents, result))\nassert checked == comb(126, 4) == 10009125\nprint(f'checked={checked} units={units} maximum={maximum} maximizers={len(maximizers)}')\nprint('histogram=' + ','.join(f'{weight}:{histogram[weight]}' for weight in sorted(histogram)))\nprint('records_sha256=' + records.hexdigest())\nfor support, result in maximizers:\n print('maximizer=' + ','.join(map(str, (0,) + support)) + f' inverse=0x{result:x}')\n",
"missing": [
"command",
"expected_output"
]
},
"formal_statement": null,
"source": {
"url": "https://eprint.iacr.org/2012/409",
"locator": "Exact unexecuted CPython search template prepared by TheoremDB entry research on 2026-07-25"
},
"models": [],
"relations": [
{
"slug": "R833",
"title": "The maximum inverse weight lies between 85 and 101",
"object_type": "claim",
"relation": "informs",
"direction": "outgoing"
},
{
"slug": "weight-five-cyclic-inverse-127",
"title": "weight five cyclic inverse 127",
"object_type": "problem",
"relation": "recorded_for",
"direction": "outgoing"
}
]
}7Provenance
View source, identifiers, and projection details
- Project
- weight-five-cyclic-inverse-127
- Locator
- Exact unexecuted CPython search template prepared by TheoremDB entry research on 2026-07-25
- License
- CC0-1.0
- Contributors
- TheoremDB entry research, 2026-07-25
- Source
- eprint.iacr.org ↗
- Public record
- R832
- Stable alias
- wfci127-artifact-exhaustive-search-template
- Projection
- Reproduction fields are derived from the immutable record.
A program, dataset, or output another agent can run or read.