research/lab/py/sibling-census
0 directories and 2 files in research/lab/py/sibling-census.
Sibling Census
- Reads a MrlyMath automaton as a triple
(dim, mask, kind): the mask is a base-2 design at an odd side and level, centred with its centre popped, kind GENERAL is any Boolean rule of the centre and the mask cells, kind LIFE is outer-totalisticB/Sover the mask count. - Dictionary: the 64 outer-totalistic elementary rules on the mask
[101], with rule 110 shown outside them;bang dim 1, code 1at side 3 as[101]andbang dim 2, code 7at side 3 popped as the 8-cell Moore mask. - Tower: the designs "at most one odd coordinate" (codes
3, 7, 23, 279) and "not every coordinate odd" (codes1, 7, 127, 32767) at side 3,dim 1..4, their tile fills, their popped masks, and where the two masks split. - Decoupling: for every base-2 design at
dim 1, 2, sides3, 5, 7, 9, levels1..3, the index of the lattice generated by the mask offsets, computed by an integer Hermite reduction; masks deduplicated; the interleaving identity run cell for cell on random rings for every decoupling mask atdim 1, random GENERAL rules up to 12 cells and random LIFE rules always. - Composites: all 65536 rows-then-columns composites of two elementary rules as 512-entry truth tables, their distinct count, outer-totalistic members with their
B/Snames and factor pairs, transpose and dihedral symmetry counts, and the search forB3/S23. - Cantor-Life: kind LIFE on the level-3 Cantor mask
+-5, +-7, +-11, +-13; six named rules on rings of 1024 from soups at three densities, 2000 generations, with fates, final populations and count histograms; the Frobenius check that the nine-cell XOR kernel has 256th power 1 on that ring; every seed of width at most 14 underB3/S23on a constant-0 line to 256 generations, classified as death, still life, oscillator or mover by return up to translation. - Menger-Life: kind LIFE on the 20-cell Menger level-1 mask; the plane block under
B3/S23checked against rule 90 along the normal; the 100 rules withB, Ssubsets of{3,4,5,6}of size 1 or 2 plusB3/S23, on a32^3torus from densities 0.15 and 0.3, 200 generations; 200 random5^3seeds per rule on a re-centred24^3field, exact as a constant-0 field while the pattern extent stays at most 22, 128 generations, with translation detection. - Products:
110.gfor sixgon a256^2torus, 512 generations, density trace, churn and periodicity; every3x3seed under110.110on a128^2field, 96 generations, with the bounding box law asserted. - Structural laws are asserted and the study exits nonzero if one fails; headline lines are printed with the seed; nothing is written.
RUN
uv run python research/lab/py/sibling-census/sibling.py- About a minute on one core; the largest array is the
33 MBcomposite table; prints only.
WITNESSES
- Exactly 64 elementary rules are outer-totalistic on
[101]; 110, 30, 184 are not, since001 -> 1and100 -> 0under 110. (Proved by the two neighbourhoods; Verified.) - "Not every coordinate odd" at side 3 is the
3^dim - 1Moore neighbourhood atdim 1..4; "at most one odd coordinate" fills2^(dim-1)(dim+2); as popped masks they agree atdim 1, 2and split atdim 3(20 against 26) anddim 4(48 against 80). (Verified atdim 1..4; proof on automata.md.) - The Cantor level-3 mask is
+-5, +-7, +-11, +-13; the Menger level-1 mask is the 20 offsets in{-1,0,1}^3with at most one zero. (Verified.) - Over 195 distinct masks the lattice index is:
dim 1: 16 of index 1, 11 of index 2, 1 empty;dim 2: 79 of index 1, 59 of index 2, 18 of index 4, 11 of rank below 2. (Verified.) - Cantor tower indices
1, 2, 1at levels1..3; parity tile index 2 at sides 5, 9 and 1 at sides 3, 7; the diagonal 4-maskbang dim 2, code 9has index 2 and the von Neumann maskbang dim 2, code 6index 1. (Verified to side 9 and level 3; the gcd rule for every side and level is Proved on automata.md.) - Every decoupling mask at
dim 1equalsindexinterleaved copies of its rescaled mask under the same rule, 16 (mask, kind) pairs, 40 steps, cell for cell. (Verified; the decoupling lemma is Proved on automata.md.) - The 65536 composites give 32260 distinct 9-input rules;
B3/S23occurs 0 times; 1036 pairs are outer-totalistic and realise exactly 10 life-like rules; 1080 pairs are transpose-symmetric, 1048 dihedral; rows-first equals columns-first for 2160 pairs. (Verified, exhaustive.) - The 10 life-like composites are the two constants, the centre and its negation,
AND9 = B/S8,NOR9 = B0/S,OR9 = B12345678/S012345678,NAND9 = B012345678/S01234567, the nine-cell XORB1357/S02468from150.150and105.105, and its negationB02468/S1357. (Verified.) f.204,f.170,f.240arefon the middle, lower and upper row, andf.51,f.85,f.15their negations, for all 256f. (Verified; proof on automata.md.)- Cantor-Life
B3/S23from 8192 seeds of width at most 14: 6113 die, 2003 reach a still life, 76 an oscillator with periods in{2, 3, 4, 6}, none moves, none is undecided at 256 generations; smallest still life{0, 5, 7, 12}, smallest oscillator{0, 1, 2, 3, 7, 8}of period 2. (Verified; the absence of a mover is a negative over width 14, not a proof.) - Cantor-Life soups of 1024 cells under
B3/S23die or freeze below 4 percent density, one run of period 6;B1357/S02468has a period that divides 256 on the ring 1024, since the kernelK = 1 + sum x^ohasK^256 = 1by Frobenius, and equals 256 on generic soups becauseK^128, of support{0, 128, 384, 640, 896}, is not the identity; every soup run returns at exactly 256. (Verified; proof on automata.md.) - Menger-Life
B3/S23from a plane2x2block is a rule 90 stack of blocks along the normal, population4 * 2^popcount(t), checked tot = 8. (Verified tot = 8; proof on automata.md.) - Of 101 Menger rules times 4 soups, 310 runs are still active at 200 generations with density between 0.186 and 0.305, 77 die, 14 fix, 3 are periodic, none exceeds 0.4; the 76 rules active in all four runs span 0.193 to 0.305; 22 rules are quiet in all four runs;
B3/S23holds density 0.20. (Verified.) - No mover appears for any of the 101 rules from 200 seeds in a
5^3box; the 20200 seed fates are 7957 deaths, 12131 growing, 69 still lifes, 38 oscillators, 5 undecided;B3/S23grows from all 200. (Verified negative.) 110.gsoups climb from density 0.30 to about 0.57 forgin{204, 170, 110}and to 0.41, 0.45, 0.46 for54, 30, 90, churn between 0.42 and 0.58, none periodic by 512 generations. (Verified.)- Under
110.110the bounding box of every one of the 5113x3seeds grows without bound: the upper-left corner moves by(-1, -1)each generation and the lower-right corner is fixed, checked tot = 96, with the proof for every finite pattern on automata.md; population growth is Verified only, running from 2704 to 5794 att = 96. (Verified.)
- README.md6.8 kB
- sibling.py29.0 kB