Problem packetResearch packetR229
Complete seven-point branch certificate
Link to a section
Executable material is recorded. Successful replay is a separate check.
Recorded status: available
Recorded scope: every seven-element subset of the 9 by 9 point grid {0,...,8}^2
Complete recorded scope and conditions
{
"kind": "bounded",
"statement": "every seven-element subset of the 9 by 9 point grid {0,...,8}^2",
"bounds": {
"coordinate_minimum": {
"min": 0,
"max": 0
},
"coordinate_maximum": {
"min": 8,
"max": 8
},
"candidate_points": {
"min": 81,
"max": 81
},
"set_size": {
"min": 7,
"max": 7
}
},
"exhaustive": true
}Originating problem: Distinct nonzero triangle areas in the 9 by 9 grid
Recorded relationships: The exact maximum is A_9=6
Authored record and scope
- Authored title
- Complete seven-point branch certificate
- Record type
- artifact
- Stored status
- available
- Evidence grade
- executable
- Recorded scope data
- { "kind": "bounded", "statement": "every seven-element subset of the 9 by 9 point grid {0,...,8}^2", "bounds": { "coordinate_minimum": { "min": 0, "max": 0 }, "coordinate_maximum": { "min": 8, "max": 8 }, "candidate_points": { "min": 81, "max": 81 }, "set_size": { "min": 7, "max": 7 } }, "exhaustive": true }
- Linked research record IDs
- R231
2Authored explanation
Points are ordered first by \(x\), then by \(y\), and every subset has one increasing representation in this order. A 128-bit mask stores the positive doubled areas already used. At depth \(d\), adding a point creates \(\binom d2\) new triangles. A zero determinant causes a collinearity rejection. A repeated bit within the new values or against the stored mask causes an area-collision rejection. The loop's shortage cutoff merely leaves enough later points to reach seven.
The exhaustive run visits 4,699,843 admissible nodes. It rejects 2,963,134 extensions for a zero area and 44,877,104 for a repeated positive area, out of 52,540,080 candidate extensions. Visit counts by selected-set size are \[ [1,75,2850,70770,983307,3255572,387268,0]. \] The terminal zero proves nonexistence at size seven. A running FNV-1a trace of the depth, next index, and both halves of the area mask ends at `ade14ba0a60dc0f4`.
Before the search, the same executable checks all 20 triangles of the displayed six-point witness. Its stable six-line output has SHA-256 digest `ab06239e5dd989c76cf8fcf77971fe67eb844118219c1d6ab47102319d75a916`.
Files and source
Files embedded in this record. Matching a file hash confirms its identity.
- R229.txt4,988 bytes · No SHA-256 recorded
Preview R229.txt
#include <array> #include <cstdint> #include <cstdlib> #include <iostream> #include <vector> using Mask = unsigned __int128; struct Point { int x; int y; }; constexpr int side = 9; constexpr int point_count = side * side; constexpr int target = 7; std::array<Point, point_count> points{}; std::vector<int> chosen; std::array<std::uint64_t, target + 1> visits{}; std::array<std::uint64_t, target + 1> zero_rejects{}; std::array<std::uint64_t, target + 1> collision_rejects{}; std::uint64_t trace = 14695981039346656037ULL; void mix(std::uint64_t value) { for (int shift = 0; shift < 64; shift += 8) { trace ^= (value >> shift) & 255U; trace *= 1099511628211ULL; } } int area(Point a, Point b, Point c) { return std::abs( (b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x) ); } bool search(int next, Mask used) { const int depth = static_cast<int>(chosen.size()); ++visits[depth]; mix(depth); mix(next); mix(static_cast<std::uint64_t>(used)); mix(static_cast<std::uint64_t>(used >> 64)); if (depth == target) { return true; } const int need = target - depth; for (int candidate = next; candidate <= point_count - need; ++candidate) { Mask added = 0; bool ok = true; bool zero = false; for (int i = 0; i < depth && ok; ++i) { for (int j = i + 1; j < depth; ++j) { const int value = area( points[chosen[i]], points[chosen[j]], points[candidate] ); if (value > 64) { std::abort(); } if (value == 0) { ok = false; zero = true; break; } const Mask bit = Mask(1) << value; if ((used | added) & bit) { ok = false; break; } added |= bit; } } if (!ok) { if (zero) { ++zero_rejects[depth]; } else { ++collision_rejects[depth]; } continue; } chosen.push_back(candidate); if (search(candidate + 1, used | added)) { return true; } chosen.pop_back(); } return false; } int main() { int index = 0; for (int x = 0; x < side; ++x) { for (int y = 0; y < side; ++y) { points[index++] = {x,y}; } } const std::array<Point, 6> witness{{ {8,7},{2,7},{3,6},{0,2},{7,1},{1,0} }}; Mask witness_areas = 0; int witness_count = 0; int witness_maximum = 0; for (int i = 0; i < 6; ++i) { for (int j = i + 1; j < 6; ++j) { for (int k = j + 1; k < 6; ++k) { const int value = area(witness[i],witness[j],witness[k]); const Mask bit = Mask(1) << value; if (value == 0 || (witness_areas & bit)) { return 2; } witness_areas |= bit; ++witness_count; if (value > witness_maximum) { witness_maximum = value; } } } } if (witness_count != 20 || witness_maximum != 43) { return 2; } const bool found = search(0, 0); const std::array<std::uint64_t, target + 1> expected_visits{ 1,75,2850,70770,983307,3255572,387268,0 }; const std::array<std::uint64_t, target + 1> expected_zero{ 0,0,2380,99030,1123039,1667461,71224,0 }; const std::array<std::uint64_t, target + 1> expected_collision{ 0,0,0,285233,10086511,31936257,2569103,0 }; if (found || visits != expected_visits || zero_rejects != expected_zero || collision_rejects != expected_collision || trace != 0xade14ba0a60dc0f4ULL) { return 3; } std::uint64_t node_total = 0; std::uint64_t zero_total = 0; std::uint64_t collision_total = 0; for (auto value : visits) node_total += value; for (auto value : zero_rejects) zero_total += value; for (auto value : collision_rejects) collision_total += value; std::cout << "witness 6 triangles " << witness_count << " maximum_area " << witness_maximum << "\n"; std::cout << "target 7 found 0 nodes " << node_total << " zero_rejects " << zero_total << " collision_rejects " << collision_total << "\n"; std::cout << "visits"; for (auto value : visits) std::cout << " " << value; std::cout << "\nzero"; for (int d = 0; d < target; ++d) { std::cout << " " << zero_rejects[d]; } std::cout << "\ncollision"; for (int d = 0; d < target; ++d) { std::cout << " " << collision_rejects[d]; } std::cout << "\ntrace_fnv1a64 " << std::hex << trace << std::dec << "\n"; }File identity
- Recorded filename
- R229.txt
- Download SHA-256
- 12d98ec860bb76f4ce6d0bbd2eeb42914df8552700c362f4f5428d33277f4642
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: oeis.org ↗, Inline C++20 source compiled and executed by TheoremDB entry research on 2026-07-24
Missing for a complete replay: command, expected output.
Recorded artifact fields
5What it produced
Execution
6How it connects
Evidence for
- 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": "R229",
"content_hash": null,
"slug": "dta9-artifact-complete-seven-search",
"type": "artifact",
"title": "Complete seven-point branch certificate",
"summary": "The direct search visits 4,699,843 admissible partial sets and finds no valid seven-point leaf.",
"relevance": "This supplies a computation, dataset, or executable check used to assess the target problem.",
"relevance_source": "derived",
"body": "Points are ordered first by \\(x\\), then by \\(y\\), and every subset has one increasing representation in this order. A 128-bit mask stores the positive doubled areas already used. At depth \\(d\\), adding a point creates \\(\\binom d2\\) new triangles. A zero determinant causes a collinearity rejection. A repeated bit within the new values or against the stored mask causes an area-collision rejection. The loop's shortage cutoff merely leaves enough later points to reach seven.\n\nThe exhaustive run visits 4,699,843 admissible nodes. It rejects 2,963,134 extensions for a zero area and 44,877,104 for a repeated positive area, out of 52,540,080 candidate extensions. Visit counts by selected-set size are\n\\[\n[1,75,2850,70770,983307,3255572,387268,0].\n\\]\nThe terminal zero proves nonexistence at size seven. A running FNV-1a trace of the depth, next index, and both halves of the area mask ends at `ade14ba0a60dc0f4`.\n\nBefore the search, the same executable checks all 20 triangles of the displayed six-point witness. Its stable six-line output has SHA-256 digest `ab06239e5dd989c76cf8fcf77971fe67eb844118219c1d6ab47102319d75a916`.",
"status": "available",
"evidence_grade": "executable",
"scope": {
"kind": "bounded",
"statement": "every seven-element subset of the 9 by 9 point grid {0,...,8}^2",
"bounds": {
"coordinate_minimum": {
"min": 0,
"max": 0
},
"coordinate_maximum": {
"min": 8,
"max": 8
},
"candidate_points": {
"min": 81,
"max": 81
},
"set_size": {
"min": 7,
"max": 7
}
},
"exhaustive": true
},
"reproduction": {
"schema": "theoremdb-reproduction-v1",
"readiness": "partial",
"kind": "inline_cpp20_computation",
"entrypoint": "join source_lines with newline, compile with the stated command, and run",
"runtime": "C++20 standard library with the GCC or Clang unsigned __int128 extension",
"citation": {
"url": "https://oeis.org/A322740",
"locator": "Inline C++20 source compiled and executed by TheoremDB entry research on 2026-07-24"
},
"inline_source": [
"#include <array>",
"#include <cstdint>",
"#include <cstdlib>",
"#include <iostream>",
"#include <vector>",
"",
"using Mask = unsigned __int128;",
"struct Point { int x; int y; };",
"constexpr int side = 9;",
"constexpr int point_count = side * side;",
"constexpr int target = 7;",
"std::array<Point, point_count> points{};",
"std::vector<int> chosen;",
"std::array<std::uint64_t, target + 1> visits{};",
"std::array<std::uint64_t, target + 1> zero_rejects{};",
"std::array<std::uint64_t, target + 1> collision_rejects{};",
"std::uint64_t trace = 14695981039346656037ULL;",
"",
"void mix(std::uint64_t value) {",
" for (int shift = 0; shift < 64; shift += 8) {",
" trace ^= (value >> shift) & 255U;",
" trace *= 1099511628211ULL;",
" }",
"}",
"",
"int area(Point a, Point b, Point c) {",
" return std::abs(",
" (b.x-a.x)*(c.y-a.y)-(b.y-a.y)*(c.x-a.x)",
" );",
"}",
"",
"bool search(int next, Mask used) {",
" const int depth = static_cast<int>(chosen.size());",
" ++visits[depth];",
" mix(depth);",
" mix(next);",
" mix(static_cast<std::uint64_t>(used));",
" mix(static_cast<std::uint64_t>(used >> 64));",
" if (depth == target) {",
" return true;",
" }",
" const int need = target - depth;",
" for (int candidate = next;",
" candidate <= point_count - need;",
" ++candidate) {",
" Mask added = 0;",
" bool ok = true;",
" bool zero = false;",
" for (int i = 0; i < depth && ok; ++i) {",
" for (int j = i + 1; j < depth; ++j) {",
" const int value = area(",
" points[chosen[i]],",
" points[chosen[j]],",
" points[candidate]",
" );",
" if (value > 64) {",
" std::abort();",
" }",
" if (value == 0) {",
" ok = false;",
" zero = true;",
" break;",
" }",
" const Mask bit = Mask(1) << value;",
" if ((used | added) & bit) {",
" ok = false;",
" break;",
" }",
" added |= bit;",
" }",
" }",
" if (!ok) {",
" if (zero) {",
" ++zero_rejects[depth];",
" } else {",
" ++collision_rejects[depth];",
" }",
" continue;",
" }",
" chosen.push_back(candidate);",
" if (search(candidate + 1, used | added)) {",
" return true;",
" }",
" chosen.pop_back();",
" }",
" return false;",
"}",
"",
"int main() {",
" int index = 0;",
" for (int x = 0; x < side; ++x) {",
" for (int y = 0; y < side; ++y) {",
" points[index++] = {x,y};",
" }",
" }",
" const std::array<Point, 6> witness{{",
" {8,7},{2,7},{3,6},{0,2},{7,1},{1,0}",
" }};",
" Mask witness_areas = 0;",
" int witness_count = 0;",
" int witness_maximum = 0;",
" for (int i = 0; i < 6; ++i) {",
" for (int j = i + 1; j < 6; ++j) {",
" for (int k = j + 1; k < 6; ++k) {",
" const int value = area(witness[i],witness[j],witness[k]);",
" const Mask bit = Mask(1) << value;",
" if (value == 0 || (witness_areas & bit)) {",
" return 2;",
" }",
" witness_areas |= bit;",
" ++witness_count;",
" if (value > witness_maximum) {",
" witness_maximum = value;",
" }",
" }",
" }",
" }",
" if (witness_count != 20 || witness_maximum != 43) {",
" return 2;",
" }",
"",
" const bool found = search(0, 0);",
" const std::array<std::uint64_t, target + 1> expected_visits{",
" 1,75,2850,70770,983307,3255572,387268,0",
" };",
" const std::array<std::uint64_t, target + 1> expected_zero{",
" 0,0,2380,99030,1123039,1667461,71224,0",
" };",
" const std::array<std::uint64_t, target + 1> expected_collision{",
" 0,0,0,285233,10086511,31936257,2569103,0",
" };",
" if (found || visits != expected_visits",
" || zero_rejects != expected_zero",
" || collision_rejects != expected_collision",
" || trace != 0xade14ba0a60dc0f4ULL) {",
" return 3;",
" }",
"",
" std::uint64_t node_total = 0;",
" std::uint64_t zero_total = 0;",
" std::uint64_t collision_total = 0;",
" for (auto value : visits) node_total += value;",
" for (auto value : zero_rejects) zero_total += value;",
" for (auto value : collision_rejects) collision_total += value;",
" std::cout << \"witness 6 triangles \" << witness_count",
" << \" maximum_area \" << witness_maximum << \"\\n\";",
" std::cout << \"target 7 found 0 nodes \" << node_total",
" << \" zero_rejects \" << zero_total",
" << \" collision_rejects \" << collision_total << \"\\n\";",
" std::cout << \"visits\";",
" for (auto value : visits) std::cout << \" \" << value;",
" std::cout << \"\\nzero\";",
" for (int d = 0; d < target; ++d) {",
" std::cout << \" \" << zero_rejects[d];",
" }",
" std::cout << \"\\ncollision\";",
" for (int d = 0; d < target; ++d) {",
" std::cout << \" \" << collision_rejects[d];",
" }",
" std::cout << \"\\ntrace_fnv1a64 \" << std::hex << trace",
" << std::dec << \"\\n\";",
"}"
],
"missing": [
"command",
"expected_output"
]
},
"formal_statement": null,
"source": {
"url": "https://oeis.org/A322740",
"locator": "Inline C++20 source compiled and executed by TheoremDB entry research on 2026-07-24"
},
"models": [],
"continuation": null,
"relations": [
{
"slug": "R231",
"title": "The exact maximum is A_9=6",
"object_type": "claim",
"relation": "evidences",
"direction": "outgoing"
},
{
"slug": "distinct-triangle-areas-grid-9",
"title": "distinct triangle areas grid 9",
"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.