README.md
3.2 kB · markdown
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 rootr, each with a digit set containing0; the study findsr, the exponentse_iandM = lcm(e_i), and collapses the family to one design in baseB = r^M. - Cells:
Gbases4, 8on{0,1}and{0,1,2,3};Hbases4, 16on{0,1}and{0,1,4,5};Nbases9, 27on{0,1,2}and{0,...,8};Tbases4, 8, 16on{0,1},{0,1,2,3}and{0,...,7};Ibases4, 16on{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
blocksbuilds the block digit setAtwice and asserts the two agree: once by sieving allr^Mbase-rwords against the per-group constraint, once by testing every integer belowr^Mfor membership in each original design. It also runs the sharpness cellb_1 = 2on{1}withb_2 = 4on the full set, where0is missing from a digit set and the collapse over-counts. Runtime under0.05s.dimprints the exact dimensionlog_r(card A) / M, the partslog_r(card A_i) / e_i, the raw sumsum_i dim A_i - (m - 1), the naive budgetmax(0, raw sum)and the gap. The dimension prints as a rational whencard Ais a power ofrand as the exponentlog_r(card A) / Mwith its float otherwise; a cell with a part that is not a power ofr, such asI, gets the dimension and no budget. Runtime under0.05s.checkruns three checks per cell to10^13: every element ofF(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 ofF(B, A), which with the first check gives set equality; and the joint count belowB^levelequals(card A)^levelat every level withB^level <= 10^13. Runtime16s, one core, peak resident252MB run alone and253MB on the three-verb run.- The enumerated sides are
2^22 - 1elements at cellsG,HandTand3^14 - 1at cellN; 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:88dependence is an equivalence relation and one class is the integer powers of its least memberbases.md:92the collapse theorem, its block digit set and its exact dimension formulabases.md:101-107the four proof steps, frome_i | Mto the count law and the open set conditionbases.md:105the sharpness cellA = {0, 1, 3}and the elements4and5in the collapse and not in the joint setbases.md:107cellI:card A = 9atr = 2andM = 4, dimensionlog_2(9) / 4 = log_2(3) / 2, irrationalbases.md:115-120the table rows:A = {0, 1, 16, 17}and1/3against1/6;A = {0, 1, 4, 5}and1/2against0; nine blocks and1/3against1/6; sixteen blocks and1/3against a raw sum of-1/12read at0bases.md:124the three checks to10^13and the counts16384,1048576,6561,4096at level 7, 10, 4, 3