/reports/k42/atlas_stage2.md · raw

Stage 2 (2026-10-14): the 5^k acceleration, and the verdict

In plain words

We ported mxdys's 5^k-Inc acceleration (RIncs from Sk1like_TC_v2.v) to Python and made it exact for all 16 variants: anything the shared core table does not cover is handed to the real machine.

It is exact and it finds his cycles. - From each line's first F entry it lands on stage 1's final configuration digit for digit, 2.4-4.6 million Incs later, on all 40 lines, with all 327 F entries in between. - On his two proved variants it finds his translated cycles with his exact periods: 669,180 Incs (Sk1like_TC_v1) and 518 Incs after 1.73e10 Incs (Sk1like_TC_v2).

Every line ran to 10^139-10^153 Incs in 40 s, then on to 10^169-10^194 Incs. mxdys's note on line 496 stops at a tape of about 10^64 cells. Nothing settled: - no line halted; - no line entered a translated cycle; - 261-443 escapes (F entries) per line, 13,228 in all.

The tape is a base-5 odometer, and that makes simulation hopeless. - The number of digits is log5(Incs), within 2. - The front holds huge numbers. The only exponents small enough to run down to 0 sit at the far end of the tape (the oldest digits) and in a few recurring "front gadgets" (classes B and G). - Halting needs an exponent of exactly 0 at an escape, so only those places matter. - The far end changes once per factor of 5 in Incs, and a digit dies there far more rarely still. Across the 40 continuations, which cover about 1,100 orders of magnitude of Incs in all, it happened once.

Verdict: (ii), a cryptid family. Whether a line halts depends on the outcome of an endless series of rare events at the tape's end. Each outcome is set by the residues of numbers inherited from the front, which have no pattern we can find.

Per the cryptid protocol: the exact rules are written below, the family is flagged, and the work stops here. There are no kills and no predicted halts. No family-proof route was found: the translated-cycle route is ruled out far beyond any reach that has produced a proof, and the digit language is not a regular invariant even for the proved variants.

What was built (stage 2; Python, stdlib only)

File What it does
accel.py The accelerated machine: mxdys's RIncs/Incs/Incss scheduler; the F-free part of his core table (core_rinc); and a TM oracle that runs one real Inc on a run-length tape built straight from the digits, so exponents of 10^190 cost nothing. validate and run modes.
calib.py Runs mxdys's proved variants from his start x0 and reports the front repeats (runs2/calib.json).
rules2.py Checks on the real machine that the context 00101 00101 w^m acts exactly like w w 01 w^m (runs2/rules2.json).
closure2.py Tests whether mxdys's digit language is closed under one Inc (runs2/closure2.json).
cont.py, endtrace.py, enddeaths.py, endglue.py Continue a run and trace the last 4 digits; count the deaths at the tape's end; run a glued death at the end on every variant (runs2/C*.json, runs2/E*.json, runs2/enddeaths.json, runs2/endglue.json).
analyze2.py, digitmap.py The per-line summary (runs2/summary.json, runs2/table.md) and the digit map at the escapes (runs2/digitmap.json).
runs2/A<line>.json Each 40 s run: checkpoints, every F event (Inc, depth, context, exponent m, next digit), the exact final configuration.

Validation and calibration

Exact reproduction (accel.py validate, all 40 lines). - Start: the configuration at the line's first F entry (stage 1, Inc 127-140). - Run: exactly as many Incs as stage 1 ran, in 1,048-1,844 accelerated macro steps. - Result: the same tape as stage 1's last configuration on all 40 lines, and the same F entries (327 in all). - Line 121 matches only once stage 1's Inc count is corrected (erratum below).

Core table against the machine. On the first 3,000 Incs after each line's first F entry, every Inc the F-free core table covers agrees with the machine: 119,885 of 119,885.

The second F context reduces to the first. One Inc from w^a 00101 00101 w^m r and from w^(a+2) 01 w^m r gives the same tape: - on all 16 variants; - at the front and behind a 00111 digit; - for random tails, m = 1-4 and a = 1-5; - 6,400 of 6,400 cases.

The third context, 0011101 w^m, is literally the tape 00111 01 w^m.

Calibration on mxdys's proved variants (calib.py, 30 s each, from his x0 = (1, 0011^27 00001^8 001)):

Variant His proof What our run finds
(1RF, 1RB), Sk1like_TC_v1 Inc_Sn 669179 = 669,180 Incs per cycle the first 4 digits and n repeat from Inc 7,423 to Inc 676,603: period 669,180
(0RF, 0RE), Sk1like_TC_v2 msteps' with T = 17,340,200,000, then T = 518 repeat from Inc 17,340,195,891 to Inc 17,340,196,409: period 518, onset 1.73e10
(0RF, 0RB), hlin-proved hlin certificate an escape about every 100 Incs; the tape stays at 3 digits (117,311 escapes in 1.2e7 Incs)

So the detector finds both of mxdys's cycles, with his exact periods.

Errata for stage 1. - Inc numbers. Stage 1 skipped Inc boundaries whose tape did not parse into mxdys's digits, so its Inc numbers are low: - by 2 or 11 on 26 lines, all of them before the first F entry, so differences and twin offsets are unaffected; - by 52 on line 121, 50 of them after its first F entry. - mxdys's cycle length. His Inc_Sn 669179 runs 669,180 Incs, so the cycle is 669,180 Incs, not 669,179. Stage 1's own measurement, 1,338,360 Incs = 2 × 669,180, was right.

The rules (cryptid protocol: written out)

1. Configuration (at the start of an Inc, core naming):

0^inf  D>  w^n  d1 w^m1  d2 w^m2  ...  dk w^mk  001 0^inf        (w = 0001, n >= 1)

Here d1..dk are mxdys's 25 digits (digits.MX). Rarely a digit falls outside them, such as class D's 000001 or a rewritten end of tape (below). Such cases are run on the machine itself.

2. Core (shared by all 16 variants; F is never entered). This is mxdys's RInc/Inc table of Sk1like_TC_v1.v and Sk1like_TC_v2.v with the rules that run through F removed (our port: mxinc.py; the F-free cut: accel.core_rinc). The digit cycle is

0011 -> 0011001 -> 001101 -> 00111 -> (carry into the next digit) -> 00101 -> 0011

Each digit's exponent loses 2 per cycle and gains what the next digit hands back. Exponent-0 merges follow his table.

3. Acceleration (all variants). Suppose d1..dk are all cycle digits (00101 0011 0011001 001101 00111) with m_j >= 2·5^(k-j). Then 5^k Incs take

n -> n + 5^(k-1) + 5^k
m_j -> m_j - 2·5^(k-j) + 5^(k-j-1)     (j < k)
m_k -> m_k - 2 + dn

Meanwhile the rest of the tape receives exactly one carry, which must return Tp0 with dn. This is RIncs_spec in Sk1like_TC_v2.v. Its proof only uses passes over the five cycle digits, which never reach state E or F, so it holds for every (E1, F0).

4. Escape: the only rule that depends on the variant. F is entered exactly when the carry meets a 01. Each class has one rule: what one Inc does to w^n 01 w^m r for m >= 1 (m >= 2 in classes I and J). The ten rules are in "The ten escape rules" above. The other two F contexts reduce to this one: - 00101^0 00101^m acts as 01^m with 2 more w in front (checked above); - 0011101^m is 00111^0 01^m.

5. Halting. F reads a 1 only after a glued escape: m = 0, or m = 1 in classes I and J. Which next digits make it halt, at once or one carry later, is listed per class in (b). So a line can halt only if some escape is ever glued.

Results per line (40 s each)

"Smallest m" is the smallest exponent after the 01 at any F entry. The last column is the far end of the tape at the end of the run (the terminal 001^0 last).

class line (E1, F0) / start reached (Incs) digits F entries smallest m (at Inc) smallest m after Inc 1e12 last digits of the final tape
A 44 0RF, 0RA / D 1e150 213 349 6 (1e48) 6 (1e48), next 001 00111^268758318 00111^97127563 0011001^3036092 00101^46204 00111^3 001^0
A 208 0RF, 0RA / A 1e148 213 340 74673 (1e8) 7.0e8 (1e13), next 00111 00101^17156022 0011^2928793 00101^1243332 00111^46755 001101^171062 001^0
A 260 0RF, 1RB / B 1e151 218 324 38097 (1e46) 38097 (1e46), next 00111 00111^230010 001101^3114265 0011001^13756 00101^54215 0011^2020 001^0
A 404 0RF, 0RA / B 1e152 218 325 38097 (1e46) 38097 (1e46), next 00111 00001^223510 00001^3112965 00001^13497 00001^54162 00001^2020 001^0
A 494 1RF, 0LD / D 1e149 212 348 6 (1e48) 6 (1e48), next 001 00111^268762620 00111^97128423 00111^3036265 00111^46238 00111^3 001^0
A 703 1RF, 0LD / A 1e148 212 340 74673 (1e8) 7.0e8 (1e13), next 00111 00111^17155753 00111^2928740 00111^1243321 00111^46753 00111^171062 001^0
B 67 0RF, 1RC / A 1e149 214 415 934 (1e18) 934 (1e18), next 0011 00111^25663868 00111^15259110 00111^3940508 00111^609769 00111^6 001^0
B 263 0RF, 0LA / A 1e149 213 413 934 (1e18) 934 (1e18), next 0011 00111^25666118 00111^15259560 00111^3940598 00111^609787 00111^6 001^0
B 266 0RF, 0LA / B 1e148 210 442 1632 (1e36) 1632 (1e36), next 001101 00111^26612 00111^164960 00111^266095 00111^233303 00111^377 001^0
B 321 0RF, 1RC / D 1e149 213 443 1632 (1e36) 1632 (1e36), next 001101 0011^19896 0011^163617 0011^265826 00111^233249 00111^385 001^0
B 664 0RF, 1RC / B 1e146 209 440 1632 (1e36) 1632 (1e36), next 001101 00111^33362 00111^166310 00111^266365 00111^233357 00111^377 001^0
B 688 1RF, 1LB / D 1e147 212 442 1632 (1e36) 1632 (1e36), next 001101 00111^27635 0011^165165 0011^266136 0011001^233311 00001^386 001^0
C 100 1RF, 1RC / F 1e148 211 283 257383 (1e7) 2.5e9 (1e15), next 0011001 00111^2697630 00111^2562544 00111^732712 00111^214980 00111^154 001^0
C 335 1RF, 0LA / B 1e151 216 279 128451 (1e7) 1.7e10 (1e14), next 00101 00111^6678727 00111^45872955 00111^368448 00111^144546 00111^150 001^0
C 491 1RF, 1RC / B 1e150 215 280 1597 (1e7) 1.7e10 (1e14), next 00101 00111^6687185 00101^45874647 00101^368787 0011001^144613 0011001^150 001^0
C 496 1RF, 1RC / D 1e149 214 280 1597 (1e7) 1.7e10 (1e14), next 00101 001101^6689477 0011001^45875104 00101^368879 0011^144632 0011001^158 001^0
D 306 1RF, 1RE / B 1e149 212 310 18 (1e7) 1.2e7 (1e15), next 00111 00111^3353838080 00111^8079062 00111^1386309 00111^170255 00111^5361 001^0
D 361 1RF, 1RE / D 1e150 211 280 18 (1e7) 1.2e7 (1e15), next 00111 00111^7563812 00111^1283259 00111^149645 00111^168 00111^7 001^0
D 413 1RF, 1RE / A 1e150 215 305 6029 (1e8) 11247 (1e14), next 00111 00111^1268974557 00111^136118707 00111^9568954 00111^178998 00111^63 001^0
D 420 1RF, 0RC / A 1e151 217 305 6029 (1e8) 11247 (1e14), next 00111 00001^1268972307 00001^136118257 00001^9568864 00001^178980 00001^64 001^0
D 587 1RF, 0RC / D 1e148 211 277 18 (1e7) 1.2e7 (1e15), next 00111 00111^7575062 00111^1285509 00111^150095 00111^258 00111^7 001^0
D 673 1RF, 0RC / B 1e149 213 312 18 (1e7) 1.2e7 (1e15), next 00111 0011001^3353836779 0011001^8078801 00111^1386257 001101^170245 00001^5362 001^0
E 407 1RF, 0RE / D 1e152 217 262 1733 (1e7) 2.6e10 (1e12), next 001101 0011001^5738546 0011001^45684918 00111^330841 0011001^137027 0011001^9 001^0
E 571 1RF, 0RE / B 1e151 216 261 1733 (1e7) 2.6e10 (1e12), next 001101 0011^5745437 00111^45686297 001101^331116 00111^137083 0011^2 001^0
E 578 1RF, 0RE / A 1e147 210 282 257383 (1e7) 2.5e9 (1e15), next 0011001 00111^2702130 00111^2563444 00111^732892 00111^215016 00111^154 001^0
F 92 0RF, 0LC / A 1e146 209 298 129189 (1e7) 2.8e7 (1e61), next 00111 00101^6173994 00101^4713978 0011^5303719 00111^116326 0011^8 001^0
F 129 0RF, 0LC / B 1e149 212 296 2638 (1e32) 2638 (1e32), next 0011001 00111^2990197631 00111^144048403 00111^110642802 00111^306759 00111^4535 001^0
F 411 0RF, 0LC / D 1e149 213 297 2638 (1e32) 2638 (1e32), next 0011001 00101^2990196904 00111^144048257 00101^110642774 0011^306753 001101^4543 001^0
G 435 0RF, 0LB / A 1e148 212 382 175023 (1e7) 2.4e10 (1e12), next 00111 0011^3653000 00101^3088717 00101^1142325 0011^106303 0011^447606 001^0
G 709 0RF, 0LB / B 1e147 210 394 47884 (1e19) 47884 (1e19), next 0011001 0011001^22992857 00101^5686108 0011^18147 0011001^55823 00111^1 001^0
G 718 0RF, 0LB / D 1e147 209 395 47884 (1e19) 47884 (1e19), next 0011001 00111^22991608 00111^5685857 00111^18097 00111^55814 00111^9 001^0
H 64 0RF, 1LB / B 1e139 197 344 136549 (1e8) 4.9e7 (1e125), next 00111 00111^3076368 0011^107855 00101^39660 00111^5183 00111^1 001^0
H 124 0RF, 1LB / D 1e139 200 343 136549 (1e8) 4.9e7 (1e125), next 00111 00111^3081993 0011^108980 00101^39885 00111^5228 00111^9 001^0
H 305 0RF, 1LB / A 1e145 207 374 2171 (1e12) 2171 (1e12), next 00111 00111^140959207 00111^7072852 00111^7309697 00111^421358 00111^521 001^0
I 86 0RF, 0RD / A 1e153 220 325 19059 (1e7) 107980 (1e35), next 001101 00111^506049189 00101^78540941 0011001^7455927 001101^103565 001101^15512 001^0
I 121 0RF, 0RD / B 1e153 219 305 130187 (1e7) 3.0e10 (1e13), next 00111 001101^377777455 0011^140058078 001101^143890 0011^881411 001101^11295 001^0
I 405 0RF, 0RD / D 1e150 216 317 77368 (1e7) 107980 (1e32), next 001101 00001^40478389 00001^6194614 00001^84247 00001^10554 00001^7 001^0
J 285 0RF, 1RD / B 1e146 209 266 350288 (1e13) 350288 (1e13), next 00111 00111^101153008 00111^1205320 00111^117751 00111^1191 00111^0 001^0
J 421 0RF, 1RD / D 1e146 209 268 350288 (1e13) 350288 (1e13), next 00111 00111^101149633 00111^1204645 00111^117616 00111^1164 00111^8 001^0
J 713 0RF, 1RD / A 1e147 209 287 68 (1e9) 4.4e10 (1e27), next 00101 00111^1267135 00111^2199057 00111^99301 00111^215 00111^71 001^0

What the table shows: - No halts, and no translated cycle. Exact repeats of n and the first 4 digits did occur on lines 64, 124 (1 each), 709, 718 (10 each) and the 6 class-B lines 67, 263, 266, 321, 664, 688 (50 each). Each is a short "front gadget" re-forming after the front resets: for example n=1 | 0011^3 00001^91 0011^1630 001101^0 … on line 67, at Incs 3.9e8, 6.2e9 and 2.1e24. The intervals grow, so this is not a cycle. The digits behind the gadget differ each time. - Escapes are mostly at the front (70%), with m growing with the scale. - The small m values come from two places: - recurring front gadgets in class B: m = 934 (lines 67, 263) and 1632 (266, 321, 664, 688). These come back with the same value again and again; line 67 has m = 1632 at Incs 1e8.6, 1e9.8, 1e24.3, 1e38.5, 1e68.4 and 1e92.0. Class G's smallest value, 47,884 (lines 709, 718), is a single escape deeper in the tape at Inc 1e19; - the tape's far end: m = 6 on lines 44 and 494 at Inc 1e48, an escape 01^6 001 against the terminal.

Where a halt could still come from: the far end of the tape

New digits are made at the front, so the oldest digits sit at the far end. Each far-end digit changes about once each time a carry runs the whole tape, and a whole-tape carry comes once per factor of 5 in Incs. Here is line 285 (class J) traced from Inc 1e6 to 1e188 (endtrace.py, cont.py; the last 4 digits, terminal last):

Inc digits far end of the tape
1e6.5 10 00101^154822 00101^8606 0011^1 001
1e40.6 58 001101^145786 00111^6798 00111^0 001
1e81.4 116 0011^134984 0011^4638 00001^1 001
1e122.6 176 00001^124096 00001^2460 00001^1 001
1e166.1 237 0011^111792 00101^0 0011001^0 001: the second-to-last digit has run out
1e166.1 236 0011^1175519 0011^111792 001^0 001: merged away (no escape); the next oldest digit moves up
1e188 269 00111^1174270 00111^111792 001

The pattern holds on every line we traced: - the last digit's exponent barely moves: it stays within 1-3 of a fixed value (0-1 on line 285, 3-4 on line 44 after its death at Inc 1e48, 447,605-447,606 on line 435); - the next digits lose a steady amount per digit added to the tape (about 37 and 187 on line 285), until one dies; - then an older digit, with a much larger exponent, moves up. Line 285: the 1,392 digit runs out at Inc 1e166 and the 111,792 digit moves up. Line 44: the 35 digit runs out at Inc 1e48 and the 50,750 digit moves up.

Each death is a single local event. Its outcome depends on the phases of the dying digit's neighbours at that moment, that is, on residues of numbers inherited from the front long ago.

Why simulation cannot settle it. The next digits at the far end lose only tens to hundreds per digit added to the tape, so a death there is separated from the next by tens to hundreds of orders of magnitude of Incs. Our runs saw 0 or 1 per line. A halt needs one specific outcome, out of an unbounded series of such events, whose inputs are residues of numbers with hundreds of digits.

The digit map at the escapes

At each escape the counter hands the escape rule two values: the exponent m and the next digit (digitmap.py). - Next digit. Over all 13,228 escapes, all five phases occur: 0011 2,114, 0011001 1,328, 001101 5,651, 00111 2,789, 00101 1,344, other 2. - No periodic tail. On no line is the second half of the next-digit sequence periodic, nor that of m mod 5. Line 44's first 90 escapes, coded a-e for the phases in the order above:

bbcddaedddccaadaacaacddbbdddeeecdaabaacccccdaacdacbbcdddddacddaacdedabbccbbccbbacecddaacee

Is the digit language a regular invariant? No

If one Inc mapped every tape of mxdys's language into the language without halting, the language itself would prove nonhalting. It does not, for any variant. We ran one Inc from 2,000 random tapes of the language per variant (exponents 0-3, closure2.py):

Variant(s) halt leave the language
10 holdout classes (A-H) 3-4 71-150
classes I and J 31 80-99
mxdys's proved (1RF, 1RB) and (0RF, 0RE) 3 73-133

The proved variants fail too, so the reachable tapes are a thin subset of the language. A regular invariant would have to track which phases can meet at the far end, which is the arithmetic above. No upstream decider closes any of the 16 holdout variants, and the critic's hlin run at the proving configuration was 0 of 8 (stage 1 (d)).

Verdict

Reproduce (stage 2)

From reports/k42/; each step is 2 processes, nice 10, ulimit -v 6e6:

python3 -B accel.py validate 44 64 ...        # exact reproduction of stage 1 (seconds per line)
python3 -B calib.py 30                         # mxdys's two cycles
python3 -B rules2.py 200 7; python3 -B closure2.py 2000 1; python3 -B endglue.py
runs2/run_all.sh 40                            # 40 s per line -> runs2/A<line>.json
runs2/cont_all.sh 30; python3 -B cont.py 285 60; python3 -B cont.py 713 60
python3 -B analyze2.py; python3 -B digitmap.py 44; python3 -B enddeaths.py; python3 -B build_atlas.py