research/lab/py/base-collapse

0 directories and 2 files in research/lab/py/base-collapse.

base-collapse

  • Computes the block digit set, the exact dimension and the brute-force check for a multiplicatively dependent family of bases, all in exact integer and rational arithmetic.
  • A cell is a list of bases b_i = r^(e_i) sharing one root r, each with a digit set containing 0; the study finds r, the exponents e_i and M = lcm(e_i), and collapses the family to one design in base B = r^M.
  • Cells: G bases 4, 8 on {0,1} and {0,1,2,3}; H bases 4, 16 on {0,1} and {0,1,4,5}; N bases 9, 27 on {0,1,2} and {0,...,8}; T bases 4, 8, 16 on {0,1}, {0,1,2,3} and {0,...,7}; I bases 4, 16 on {0,1,2} and the full digit set, the cell whose block count is not a power of the root.
  • Height for every brute-force check is 10^13.

VERBS

  • blocks builds the block digit set A twice and asserts the two agree: once by sieving all r^M base-r words against the per-group constraint, once by testing every integer below r^M for membership in each original design. It also runs the sharpness cell b_1 = 2 on {1} with b_2 = 4 on the full set, where 0 is missing from a digit set and the collapse over-counts. Runtime under 0.05 s.
  • dim prints the exact dimension log_r(card A) / M, the parts log_r(card A_i) / e_i, the raw sum sum_i dim A_i - (m - 1), the naive budget max(0, raw sum) and the gap. The dimension prints as a rational when card A is a power of r and as the exponent log_r(card A) / M with its float otherwise; a cell with a part that is not a power of r, such as I, gets the dimension and no budget. Runtime under 0.05 s.
  • check runs three checks per cell to 10^13: every element of F(B, A) below the height passes a digit test in each original base; the joint count from enumerating the lowest-dimension original design and filtering it by the others equals the count of F(B, A), which with the first check gives set equality; and the joint count below B^level equals (card A)^level at every level with B^level <= 10^13. Runtime 16 s, one core, peak resident 252 MB run alone and 253 MB on the three-verb run.
  • The enumerated sides are 2^22 - 1 elements at cells G, H and T and 3^14 - 1 at cell N; nothing is stored but the frontier.

RUN

uv run python research/lab/py/base-collapse/collapse.py
uv run python research/lab/py/base-collapse/collapse.py blocks dim

WITNESSES

  • bases.md:88 dependence is an equivalence relation and one class is the integer powers of its least member
  • bases.md:92 the collapse theorem, its block digit set and its exact dimension formula
  • bases.md:101-107 the four proof steps, from e_i | M to the count law and the open set condition
  • bases.md:105 the sharpness cell A = {0, 1, 3} and the elements 4 and 5 in the collapse and not in the joint set
  • bases.md:107 cell I: card A = 9 at r = 2 and M = 4, dimension log_2(9) / 4 = log_2(3) / 2, irrational
  • bases.md:115-120 the table rows: A = {0, 1, 16, 17} and 1/3 against 1/6; A = {0, 1, 4, 5} and 1/2 against 0; nine blocks and 1/3 against 1/6; sixteen blocks and 1/3 against a raw sum of -1/12 read at 0
  • bases.md:124 the three checks to 10^13 and the counts 16384, 1048576, 6561, 4096 at level 7, 10, 4, 3