README.md
5.8 kB · markdown
Code Factorisation
- Regenerates the composite and monoid material of magic: which tiles are Kronecker products, how a tile can factor in two shape-distinct ways, what the irreducibles are, and when two letters render one tile at one side.
- A tile is a 0/1 square array. A plane code at base
baseis the tile at sidebasewhose bitiis the cell(i / base, i mod base), so base 2 gives the 15 non-empty codes of core and base 3 the 511 non-empty codes. - The monoid is all non-empty tiles under the Kronecker product, graded by side, with the one filled cell as its unit. A word is a factorisation; a composite is a product.
- The whole study is exact integer comparison. Nothing here is a rearrangement singular value, a fit or a sample: the nearest-Kronecker-product literature solves an approximation problem, which is the wrong problem and the wrong arithmetic for a decision.
- The block test is the engine:
Cof sideNcuts atd | Nwhen every non-zerod-block ofCis one tileB, and thenC = A (x) BwithAthe 0/1 indicator of the non-zero blocks. It decides factorability at a named shape inO(N^2)and names both factors. - Census universes are stated before they are counted and de-duplicated once: side 6 is the two shape images
15 x 511and511 x 15, side 8 the two images15 x 65535and65535 x 15, side 9 the511 x 511base-3 pairs, side 12 the three ordered plane-code shapes. - Counting at prime-power side runs the irreducible series
I = T/(1+T)over the grading innum-bigint, and the same machinery is cross-validated in one dimension against exhaustive brute force atN = 4, 8, 16, 9. - One dimension is not decoration: the diagonal embedding
D -> {(x,x)}carries cut sets and irreducibility, so a line sweep is a tile sweep, and the exhaustive line sweep runs every non-empty subset of{0..N-1}atN = 1..20. - Both readings of the one-cell statistic are printed, because a one-cell letter anywhere and a one-cell outer factor are different counts that happen to give 48 on the same 50 tiles; the study checks the three 48-sets are equal rather than assuming it.
- Every geometric figure is cross-checked against
mrlymath::bang::factory::createandmrlycore::Tensor::kroncell for cell, on all 526 letters and all 7665 shape-(2,3) products, so two independently written renderers stand behind every count. - Structural laws are asserted, not the headline counts: the study exits non-zero if the block test and the product census disagree, if
121is not the rectangle set, if3375is not the triple-product set, if the criterion mismatches, if gcd closure fails, or if a witness stops being a witness.
RUN
CARGO_BUILD_JOBS=4 cargo run --release -p code-factorisation- About four seconds; prints only, writes nothing, and holds two 983025-key sets at a time.
WITNESSES
- magic.md the block test: 225 ordered base-2 pairs give 225 distinct side-4 tiles with largest preimage 1, and the block test over all 65535 non-empty masks returns the same set.
- magic.md the side-4 line: reducible 225, irreducible 65310, reducible share
0.343328%. - magic.md the side-6 census: images 7665 and 7665 with zero internal collisions, cross-shape 171, reducible
7665 + 7665 - 171 = 15159of 68719476735, irreducible 68719461576, share0.0000221%. - magic.md the anatomy of the 171: axis-separable 121 against 50, commutations 11 against 160 rewritings, not separable and not commuting 48, not separable and commuting 2.
- magic.md the fill tables:
1:36 2:64 3:32 4:16 6:14 12:8 36:1over the 171 and2:16 3:32 6:2over the 50, outer-fill signature(1,1):24 (1,2):8 (1,3):16 (2,3):2. - magic.md the one-cell readings:
0:23 1:8 2:140and0:2 2:48for a letter anywhere,0:23 1:60 2:88and0:2 1:24 2:24for an outer factor, with the three 48-sets equal. - magic.md the two-radix lines: the 11 subsets
{0} {1} {0,1} {2} {0,2} {3} {4} {5} {3,5} {4,5} {0..5}and121 = 11 x 11by set equality. - magic.md the commuting pairs:
(1,1) (2,4) (3,7) (4,64) (5,73) (6,84) (8,256) (9,273) (10,292) (12,448) (15,511), with base-2 codes 7, 11, 13, 14 unpartnered. - magic.md the commutation criterion:
gcd(m-1,n-1)+1singleton pairs andgcd(m-1,n-1)+2commuting pairs in one dimension at nine side pairs, exceeded at(3,9)at 7 against 4, and the side-15 witness[3]{(1,1)} (x) [5]{(2,2)} = [15]{(7,7)} = [5]{(2,2)} (x) [3]{(1,1)}. - magic.md the side-8 line: 983025 and 983025 with intersection 3375, equal as a set to the triple products, reducible 1962675.
- magic.md the side-9 line: 261121 ordered base-3 pairs, 261121 distinct, zero collisions.
- magic.md the prime-power counts: 225, 1962675, 261121, 553402322215537199175 and
(2^25 - 1)^2 = 1125899839733761, with the one-dimensional cross-check 9, 63, 1431, 49. - magic.md the two witnesses:
[6]{(0,0),(2,2)}factoring asc1 (x) c257.q3andc17.q3 (x) c1, and[12]{(0,0),(3,3)}factoring at profiles(2 x 2 x 3)and(3 x 4)with the side-4 letter irreducible and cut set{1,2,3,4,12}. - magic.md the word census at side 12: 114975 words and 114975 composites per shape, pairwise 2565, 2565, 483, triple 483, union 339795, with
2565 = 15 x 171and the side-12 witness in one image only. - magic.md the cut-set sweeps: zero gcd-closure failures over every line to
N = 20and over the 339795 side-12 composites, 132 and 2376 lcm-closure failures, first atN = 12with cut set{1,2,3,4,12}, and zero mismatches of the incomparable-divisor criterion. - magic.md the render collisions:
2:480 3:15 4:1 5:1 6:1 7:1 8:1 9:1 12:1 18:1, the carpet's unique side-3 partnerc495of fill 8, and the side-9 fills 65, 72, 64 on three pairwise distinct tiles. mrlymath::bang::factory::createandmrlycore::Tensor::kron, the crate paths both renderers are checked against.