Problem packetResearch packetR621
Exact enumeration of the 11,811 by 2,667 cover matrix
Link to a section
Executable material is recorded. Successful replay is a separate check.
Recorded status: available
Recorded scope: all 2-dimensional and 3-dimensional subspaces of F_2^7 and the complete line-plane incidence matrix
Complete recorded scope and conditions
{
"kind": "bounded",
"statement": "all 2-dimensional and 3-dimensional subspaces of F_2^7 and the complete line-plane incidence matrix",
"bounds": {
"nonzero_vectors": {
"min": 127,
"max": 127
},
"lines": {
"min": 2667,
"max": 2667
},
"planes": {
"min": 11811,
"max": 11811
}
},
"exhaustive": true
}Originating problem: A binary q-analog of the Fano plane
Recorded relationships: Every solution has 381 blocks and fixed local incidence counts
Other recorded relationships (1)
Authored record and scope
- Authored title
- Exact enumeration of the 11,811 by 2,667 cover matrix
- Record type
- artifact
- Stored status
- available
- Evidence grade
- executable
- Recorded scope data
- { "kind": "bounded", "statement": "all 2-dimensional and 3-dimensional subspaces of F_2^7 and the complete line-plane incidence matrix", "bounds": { "nonzero_vectors": { "min": 127, "max": 127 }, "lines": { "min": 2667, "max": 2667 }, "planes": { "min": 11811, "max": 11811 } }, "exhaustive": true }
- Linked research record IDs
- R624 R626
2Authored explanation
Nonzero vectors are represented by the integers 1 through 127. A subspace is represented by a bit mask of its nonzero vectors. The program enumerates lines from independent pairs and planes from independent triples, then forms the seven line indices in every plane.
The resulting exact-cover matrix has 82,677 ones. Every line column has degree 31. The compact JSON list of the 11,811 ordered rows has SHA-256 digest `f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b`. The program also replays the block, point, 5-space, hyperplane, and solid-intersection calculations. Its canonical report has digest `38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9`.
Files and source
Files embedded in this record. Matching a file hash confirms its identity.
- R621.txt3,182 bytes · No SHA-256 recorded
Preview R621.txt
from collections import Counter from hashlib import sha256 from itertools import combinations from json import dumps from math import prod def qbinom(n, k, q=2): if k < 0 or k > n: return 0 k = min(k, n-k) num = prod(q**(n-i)-1 for i in range(k)) den = prod(q**(k-i)-1 for i in range(k)) return num // den def vector_mask(vectors): return sum(1 << v for v in vectors) points = tuple(range(1, 128)) lines = set() for a, b in combinations(points, 2): if a != b: lines.add(vector_mask((a, b, a ^ b))) lines = tuple(sorted(lines)) line_index = {line: i for i, line in enumerate(lines)} planes = set() for a, b, c in combinations(points, 3): if c == (a ^ b): continue vectors = {a, b, c, a ^ b, a ^ c, b ^ c, a ^ b ^ c} if len(vectors) == 7: planes.add(vector_mask(vectors)) planes = tuple(sorted(planes)) matrix_rows = [] degrees = Counter() for plane in planes: vectors = [v for v in points if plane >> v & 1] contained = sorted({line_index[vector_mask((a, b, a ^ b))] for a, b in combinations(vectors, 2)}) assert len(contained) == 7 matrix_rows.append(contained) degrees.update(contained) assert [qbinom(7, k) for k in range(8)] == [1, 127, 2667, 11811, 11811, 2667, 127, 1] assert len(lines) == 2667 and len(planes) == 11811 assert set(degrees.values()) == {31} assert sum(degrees.values()) == 82677 blocks = qbinom(7, 2) // qbinom(3, 2) assert blocks == 381 assert blocks * 7 == len(lines) per_point = blocks * qbinom(3, 1) // qbinom(7, 1) per_5space = blocks * qbinom(4, 2) // qbinom(7, 5) per_hyperplane = blocks * qbinom(4, 3) // qbinom(7, 6) assert (per_point, per_5space, per_hyperplane) == (21, 5, 45) intersection_types = {'solid_without_block': [136, 210, 35, 0], 'solid_with_block': [128, 224, 28, 1]} for vector in intersection_types.values(): assert sum(vector) == blocks assert vector[1] + 3*vector[2] + 7*vector[3] == qbinom(4, 1) * per_point assert vector[2] + 7*vector[3] == qbinom(4, 2) solids_with_block = blocks * qbinom(4, 1) solids_without_block = qbinom(7, 4) - solids_with_block assert (solids_without_block, solids_with_block) == (6096, 5715) matrix_payload = dumps(matrix_rows, separators=(',', ':')) matrix_digest = sha256(matrix_payload.encode()).hexdigest() report = { 'blocks_required': blocks, 'exact_cover_columns': len(lines), 'exact_cover_ones': sum(degrees.values()), 'exact_cover_rows': len(planes), 'gaussian_7': [qbinom(7, k) for k in range(8)], 'intersection_types': intersection_types, 'line_column_degree': min(degrees.values()), 'matrix_rows_sha256': matrix_digest, 'per_5space': per_5space, 'per_hyperplane': per_hyperplane, 'per_point': per_point, 'solids_by_type': [solids_without_block, solids_with_block], } payload = dumps(report, sort_keys=True, separators=(',', ':')) digest = sha256(payload.encode()).hexdigest() assert matrix_digest == 'f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b' assert digest == '38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9' print(payload) print('sha256=' + digest)File identity
- Recorded filename
- R621.txt
- Download SHA-256
- 64f7cf7984a2547d2ae6c4c0c2fe7014cc4dab57542cdc44fd7e5d35da05ea8e
Continue this work
Replay material: partial
4Reproduce
Part of the replay path is recorded. Check the missing fields before comparing a new run.
Verification source: doi.org ↗, Inline CPython standard-library computation executed by TheoremDB entry research on 2026-07-25
Expected output
{"blocks_required":381,"exact_cover_columns":2667,"exact_cover_ones":82677,"exact_cover_rows":11811,"gaussian_7":[1,127,2667,11811,11811,2667,127,1],"intersection_types":{"solid_with_block":[128,224,28,1],"solid_without_block":[136,210,35,0]},"line_column_degree":31,"matrix_rows_sha256":"f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b","per_5space":5,"per_hyperplane":45,"per_point":21,"solids_by_type":[6096,5715]}
sha256=38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9
Missing for a complete replay: command.
Recorded artifact fields
5What it produced
6How it connects
Verifies
- claim
Supports
- claim
Recorded for
- problem
Cite this record
Cite the original sources separately.
Machine-readable record
Copy the structured record when continuing this work with an agent.
{
"schema": "theoremdb-agent-record-v1",
"ref": "R621",
"content_hash": null,
"slug": "qafp-artifact-incidence-replay",
"type": "artifact",
"title": "Exact enumeration of the 11,811 by 2,667 cover matrix",
"summary": "A standard-library program enumerates every binary line and plane, verifies all degrees and forced intersection counts, and hashes the ordered incidence rows.",
"relevance": "For A binary q-analog of the Fano plane, record qafp-artifact-incidence-replay (“Exact enumeration of the 11,811 by 2,667 cover matrix”) supplies evidence or a replay used to check the packet. The record states: A standard-library program enumerates every binary line and plane, verifies all degrees and forced intersection counts, and hashes the ordered incidence rows.",
"relevance_source": "recorded",
"body": "Nonzero vectors are represented by the integers 1 through 127. A subspace is represented by a bit mask of its nonzero vectors. The program enumerates lines from independent pairs and planes from independent triples, then forms the seven line indices in every plane.\n\nThe resulting exact-cover matrix has 82,677 ones. Every line column has degree 31. The compact JSON list of the 11,811 ordered rows has SHA-256 digest `f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b`. The program also replays the block, point, 5-space, hyperplane, and solid-intersection calculations. Its canonical report has digest `38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9`.",
"status": "available",
"evidence_grade": "executable",
"scope": {
"kind": "bounded",
"statement": "all 2-dimensional and 3-dimensional subspaces of F_2^7 and the complete line-plane incidence matrix",
"bounds": {
"nonzero_vectors": {
"min": 127,
"max": 127
},
"lines": {
"min": 2667,
"max": 2667
},
"planes": {
"min": 11811,
"max": 11811
}
},
"exhaustive": true
},
"reproduction": {
"schema": "theoremdb-reproduction-v1",
"readiness": "partial",
"kind": "inline_python_exact_enumeration",
"entrypoint": "join source_lines with newline and run with python3",
"runtime": "CPython 3, standard library only",
"citation": {
"url": "https://doi.org/10.15495/EPub_UBT_00008787",
"locator": "Inline CPython standard-library computation executed by TheoremDB entry research on 2026-07-25"
},
"outputs": "{\"blocks_required\":381,\"exact_cover_columns\":2667,\"exact_cover_ones\":82677,\"exact_cover_rows\":11811,\"gaussian_7\":[1,127,2667,11811,11811,2667,127,1],\"intersection_types\":{\"solid_with_block\":[128,224,28,1],\"solid_without_block\":[136,210,35,0]},\"line_column_degree\":31,\"matrix_rows_sha256\":\"f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b\",\"per_5space\":5,\"per_hyperplane\":45,\"per_point\":21,\"solids_by_type\":[6096,5715]}\nsha256=38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9\n",
"inline_source": [
"from collections import Counter",
"from hashlib import sha256",
"from itertools import combinations",
"from json import dumps",
"from math import prod",
"",
"def qbinom(n, k, q=2):",
" if k < 0 or k > n:",
" return 0",
" k = min(k, n-k)",
" num = prod(q**(n-i)-1 for i in range(k))",
" den = prod(q**(k-i)-1 for i in range(k))",
" return num // den",
"",
"def vector_mask(vectors):",
" return sum(1 << v for v in vectors)",
"",
"points = tuple(range(1, 128))",
"lines = set()",
"for a, b in combinations(points, 2):",
" if a != b:",
" lines.add(vector_mask((a, b, a ^ b)))",
"lines = tuple(sorted(lines))",
"line_index = {line: i for i, line in enumerate(lines)}",
"",
"planes = set()",
"for a, b, c in combinations(points, 3):",
" if c == (a ^ b):",
" continue",
" vectors = {a, b, c, a ^ b, a ^ c, b ^ c, a ^ b ^ c}",
" if len(vectors) == 7:",
" planes.add(vector_mask(vectors))",
"planes = tuple(sorted(planes))",
"",
"matrix_rows = []",
"degrees = Counter()",
"for plane in planes:",
" vectors = [v for v in points if plane >> v & 1]",
" contained = sorted({line_index[vector_mask((a, b, a ^ b))]",
" for a, b in combinations(vectors, 2)})",
" assert len(contained) == 7",
" matrix_rows.append(contained)",
" degrees.update(contained)",
"",
"assert [qbinom(7, k) for k in range(8)] == [1, 127, 2667, 11811, 11811, 2667, 127, 1]",
"assert len(lines) == 2667 and len(planes) == 11811",
"assert set(degrees.values()) == {31}",
"assert sum(degrees.values()) == 82677",
"blocks = qbinom(7, 2) // qbinom(3, 2)",
"assert blocks == 381",
"assert blocks * 7 == len(lines)",
"per_point = blocks * qbinom(3, 1) // qbinom(7, 1)",
"per_5space = blocks * qbinom(4, 2) // qbinom(7, 5)",
"per_hyperplane = blocks * qbinom(4, 3) // qbinom(7, 6)",
"assert (per_point, per_5space, per_hyperplane) == (21, 5, 45)",
"intersection_types = {'solid_without_block': [136, 210, 35, 0],",
" 'solid_with_block': [128, 224, 28, 1]}",
"for vector in intersection_types.values():",
" assert sum(vector) == blocks",
" assert vector[1] + 3*vector[2] + 7*vector[3] == qbinom(4, 1) * per_point",
" assert vector[2] + 7*vector[3] == qbinom(4, 2)",
"solids_with_block = blocks * qbinom(4, 1)",
"solids_without_block = qbinom(7, 4) - solids_with_block",
"assert (solids_without_block, solids_with_block) == (6096, 5715)",
"matrix_payload = dumps(matrix_rows, separators=(',', ':'))",
"matrix_digest = sha256(matrix_payload.encode()).hexdigest()",
"report = {",
" 'blocks_required': blocks,",
" 'exact_cover_columns': len(lines),",
" 'exact_cover_ones': sum(degrees.values()),",
" 'exact_cover_rows': len(planes),",
" 'gaussian_7': [qbinom(7, k) for k in range(8)],",
" 'intersection_types': intersection_types,",
" 'line_column_degree': min(degrees.values()),",
" 'matrix_rows_sha256': matrix_digest,",
" 'per_5space': per_5space,",
" 'per_hyperplane': per_hyperplane,",
" 'per_point': per_point,",
" 'solids_by_type': [solids_without_block, solids_with_block],",
"}",
"payload = dumps(report, sort_keys=True, separators=(',', ':'))",
"digest = sha256(payload.encode()).hexdigest()",
"assert matrix_digest == 'f80714bf2a15e8bae29e0a871d2330b7b201b0426e708b066853c304367c704b'",
"assert digest == '38f17c035e648a2dec9064ec2ed5558ecfe1b3cb9313ee56801dc8ea2fa43db9'",
"print(payload)",
"print('sha256=' + digest)"
],
"missing": [
"command"
]
},
"formal_statement": null,
"source": {
"url": "https://doi.org/10.15495/EPub_UBT_00008787",
"locator": "Inline CPython standard-library computation executed by TheoremDB entry research on 2026-07-25"
},
"models": [],
"relations": [
{
"slug": "R624",
"title": "Every solution has 381 blocks and fixed local incidence counts",
"object_type": "claim",
"relation": "verifies",
"direction": "outgoing"
},
{
"slug": "R626",
"title": "Any solution has at most one nonidentity automorphism and tightly fixed intersections",
"object_type": "claim",
"relation": "supports",
"direction": "outgoing"
},
{
"slug": "q-analog-fano-plane",
"title": "q analog fano plane",
"object_type": "problem",
"relation": "recorded_for",
"direction": "outgoing"
}
]
}8Provenance
View source, identifiers, and projection details
A program, dataset, or output another agent can run or read.