BB(6, 2) > 10↑↑15
May has been quite a month for the Busy Beaver competition! After 12 years of no progress on the \(BB(6, 2)\) domain, my discovery on 13 May has kicked off quite the flurry of activity:
Name  Date  Discoverer  \(BB(6, 2)\) bound  

e78k 
13 May 2022  Shawn Ligocki  \(> 10^{78,913}\)  Announcement Analysis 
e197k 
15 May 2022  Pavel Kropitz  \(> 10^{197,282}\)  Announcement 
e1B 
22 May 2022  Pavel Kropitz  \(> 10^{1,292,913,985}\)  Announcement 
t5 
27 May 2022  Shawn Ligocki  \(> 10↑↑5\)  Announcement 
t15 
30 May 2022  Pavel Kropitz  \(> 10↑↑15\)  Announcement 
A few notes:
 I am using the notation \(BB(n, m)\) to mean the max steps among halting \(n\)state, \(m\)symbol TMs (historically known as \(S(n, m)\)).
 Name is simply a shorthand name I will use to refer to these machines in this article. As you can probably infer, they are just a shorthand for the \(BB(6, 2)\) bound listed.
 I am using Knuth’s uparrow notation for the last two records. So, for example, \(10↑↑5 = 10^{10^{10^{10^{10}}}}\)
I must (slightly begrudgingly) tip my hat to Pavel, who has, so far, refused to allow me to hold the champion title for over 3 days! But I take pride in knowing that my t5
machine brought us past a notable threshold: These numbers can no longer be stored directly in binary in computer memory. In fact, I cannot even tell you how many digits these numbers have or even the number of digits that [the number of digits] has without using a special notation.
In order to simulate these machines, we need symbolic notations for representing numbers and this turns out to make many problems (that were easy with binary representation) significantly more challenging! Let me show you via an analysis of Pavel’s current champion, t15
.
Analysis of Pavel’s t15
The Machine
This is Pavel’s current champion (t15
):
1RB0LD_1RC0RF_1LC1LA_0LE1RZ_1LF0RB_0RC0RE
0  1  

A  1RB  0LD 
B  1RC  0RF 
C  1LC  1LA 
D  0LE  1RZ 
E  1LF  0RB 
F  0RC  0RE 
Pavel announced this machine on 30 May 2022 and listed the halting configuration as
1 H> 0 1^((81*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^((27*(3^(1))  17)/8))  3)/8))  17)/8))  1)/8))  17)/8))  3)/8))  17)/8))  1)/8))  17)/8))  1)/8))  17)/8))  3)/8))  17)/8))  1)/8))  19)/8))  13)/2)
I provided a preliminary analysis on 31 May. Pascal Michel corrected a mistake in my analysis and provided some numeric improvements to the algorithm. On 16 Jun, Pascal posted a more detailed analysis including step counts. In this post I will synthesize this discussion into a narrative analysis.
The Collatz Rules
Let C(n) = 0^{∞} 1 0^{n} 11 0^{5} C> 0^{∞}
The following rules can be proven:
 Rule R0: \(C(4k) \to Halt((3^{k+3}  11) / 2)\)
 Rule R1: \(C(4k+1) \to C((3^{k+3}  11) / 2)\)
 Rule R2: \(C(4k+2) \to C((3^{k+3}  11) / 2)\)
 Rule R3: \(C(4k+3) \to C((3^{k+3} + 1) / 2)\)
I leave the proof as an exercise to the reader. The process of proving these is similar to that in my previous analyses of the BBB(3, 3) champion and e78k.^{1}
Naive evaluation
Starting from a blank tape:
 At step 45, the TM is in configuration \(C(5) = C(4 \cdot 1 + 1)\)
 Applying R1:
 Applying R3:
 Applying R2:
 Applying R3:
\(A_3 ≈ 1.1 \times 10^{10566}\) is too large of a number to write out here fully, but modern computers can calculate it and easily store it in memory directly in binary. However, \(A_4 > 10^{10^{10564}}\) is far too big to store directly in binary notation in any computer that will ever exist (it would require more bits than there are atoms in the observable universe!). So this is the end of the road when it comes to direct computation. We’ll need some new techniques in order to determine \(r_4\) (and future \(r_k\)).
Exponent Mod
How can we efficiently compute the remainder \(r\) of \((3^{k+3} + 1) / 2\) modulo 4? Well doing a little arithmetic, we get:
\[(3^{k+3} + 1) / 2 = 4 k + r\] \[3^{k+3} + 1 = 8 k + 2r\] \[3^{k+3} = 8k + 2r  1\]So this problem reduces to the problem of efficiently computing \(3^{n} \pmod{8}\). Let’s look at some small examples:
\(n\)  \(3^{n}\)  \(3^{n} \pmod{8}\) 

0  1  1 
1  3  3 
2  9  1 
3  27  3 
4  81  1 
So, there seems to be a pattern here that \(3^{2k} \equiv 1 \pmod{8}\) and \(3^{2k+1} \equiv 3 \pmod{8}\) and (in fact) that’s pretty easy to show since:
\[3^{2k+r} = 3^{2k} \cdot 3^{r} = 9^k \cdot 3^r \equiv 1^k \cdot 3^r = 3^r \pmod{8}\]Continuing evaluation
Going back to our analysis. In order to compute \(r_4\) we need to calculate \(k_3 + 3 \pmod{2}\). And we know the binary expansion of \(k_3\), specifically \(k_3\) is odd, so \(k_3 + 3\) is even and thus
\[2 r_4  1 \equiv 3^{k_3+3} \equiv 1 \pmod{8}\] \[2 r_4 \equiv 2 \pmod{8}\] \[r_4 = 1\]So,
\[A_4 = 4 k_4 + 1\]Applying R1:
\[C(4 k_4 + 1) \to C((3^{k_4+3}  11) / 2) = C(A_5) = C(4 k_5 + r_5)\]Hm, so we already know that in order to find \(r_5\) we need to know \(k_4 + 3 \pmod{2}\). Let \(k_4 = 2k + r\) then \(A_4 = 8k + 2r  1\). So now we need to find out what is \(A_4 \pmod{8}\) (Note: We previously calculated \(A_4 \pmod{4}\)).
Generalizing Exponent Mod
In a previous section we figured out how to evaluate \(3^n \pmod{8}\), but now we want to calculate \(3^n \pmod{16}\). Can we (perhaps) find a generalized method for calculating \(3^n \pmod{2^m}\) for arbitrary \(m\)? For the \(3^n \pmod{8}\) we solved this problem by discovering that \(3^2 \equiv 1 \pmod{8}\). So, in order to solve our general problem of computing \(3^n \pmod{2^m}\) we need to find a value \(n\) such that \(3^n \equiv 1 \pmod{2^m}\). In fact, this is a wellstudied question from Group Theory. Specifically, it is the question:
 What is the period of \(3\) in the multiplicative group of integers modulo \(2^m\), \((\mathbb{Z}/2^m\mathbb{Z})^\times\)?
Computing Periods
The Period of a number \(a \pmod{b}\) is defined as the smallest (positive) \(n\) such that \(a^n \equiv 1 \pmod{b}\). Finding the period of \(a \pmod{b}\) (for fixed values of \(a, b\)) can be computed naively by directly computing powers of \(a^n \pmod{b}\) until you find one that is \(\equiv 1 \pmod{b}\). For small \(b\) this reasonable, but if \(b\) is large, this can become very slow. Luckily for us, we have hundreds of years of Mathematical innovation to help us out here. In 1763, Leonhard Euler proved:
Euler’s totient theorem: For all \(a, n\) coprime, \(a^{\phi(n)} \equiv 1 \pmod{n}\) (where \(\phi(n)\) is Euler’s totient function).
So, for example, in our case we now definitively say that for all \(m\):
\[3^{\phi(2^m)} = 3^{2^{m1}} \equiv 1 \pmod{2^m}\]We could use this right away to evaluate our rules above. But could we do better? Note that this is not proof that the period of \(3 \pmod{2^m}\) is \(2^{m1}\). The period is defined as the smallest exponent that satisfies this equation, so the period of 3 could be smaller. In fact, in 1910, Robert Carmichael made an improvement on this formula:
The Carmichael function: For all \(n\), \(\lambda(n)\) is the smallest positive integer such that, for all \(a\) coprime to \(n\), \(a^{\lambda(n)} \equiv 1 \pmod{n}\).
In our case, \(\lambda(2^m) = 2^{m2}\) for all \(m \ge 3\), so:
\[\forall m \ge 3, 3^{\lambda(2^m)} = 3^{2^{m2}} \equiv 1 \pmod{2^m}\]is an improvement (smaller exponent). But could we still do better?
(Note that: although \(\lambda(n)\) is known to be the smallest exponent such that for all \(a\) coprime to \(n\), \(a^{\lambda(n)} \equiv 1 \pmod{n}\), this does not mean that \(\lambda(n)\) is the period for all \(a\). In fact, we know that some values of \(a\) have smaller periods, for example, \(a = 1 \equiv b1 \pmod{b}\) will always have period 2 since \((1)^2 = 1\).)
However, in our case, it is known that the period of \(3 \pmod{2^m}\) is exactly \(\lambda(2^m) = 2^{m2}\) (for all \(m \ge 3\)). (See my followup article for a proof of this).
Finalizing Exponent Mod
Returning to our example, if we want to calculate the remainder \(3^n \pmod{2^m}\) (for \(m \ge 3\)) we can do it by first calculating the remainder \(n \equiv r \pmod{2^{m2}}\) and then \(3^n \equiv 3^r \pmod{2^m}\).
In other words, if \(k \equiv r \pmod{2^m}\) (and \(m \ge 1\)), then
\[3^{k+3} + b \equiv 3^{r+3} + b \pmod{2^{m+2}}\] \[(3^{k+3} + b) / 2 \equiv (3^{r+3} + b) / 2 \pmod{2^{m+1}}\]Finishing Evaluation
Oh my, that was quite the aside … what was our goal for all of this again? Oh right, we are trying to evaluate the repeated application of the “Collatzlike” rules:
 Rule R0: \(C(4k) \to Halt((3^{k+3}  11) / 2)\)
 Rule R1: \(C(4k+1) \to C((3^{k+3}  11) / 2)\)
 Rule R2: \(C(4k+2) \to C((3^{k+3}  11) / 2)\)
 Rule R3: \(C(4k+3) \to C((3^{k+3} + 1) / 2)\)
We now have enough tools to complete this evaluation! First, let me lay out a bit of notation:
 Let \(A_0 = 5\) and let \(C(A_{n1}) \to C(A_n)\) define \(A_n\) (as as long as R13 apply).
 Let \(A_n = 4 k_n + r_n\) so that \(r_n\) is the remained when dividing \(A_n / 4\).
Our goal here is to be able to precisely evaluate all \(r_n\) so that we can figure out which rules apply at each iteration \(n\).
\(n\)  \(A_n\) formula  \(A_n \pmod{2^m}\)  \(k_n\)  \(r_n\) 

0  \(5\)  \(1\)  1  
1  \(A_{ 1} = (3^{k_{ 0}+3}  11) / 2 =\)  \(35\)  \(8\)  3 
2  \(A_{ 2} = (3^{k_{ 1}+3} + 1) / 2 =\)  \(88574\)  \(22143\)  2 
3  \(A_{ 3} = (3^{k_{ 2}+3}  11) / 2 =\)  \(255 \pmod{2^{14}}\)  \(63 \pmod{2^{12}}\)  3 
4  \(A_{ 4} = (3^{k_{ 3}+3} + 1) / 2 =\)  \(4741 \pmod{2^{13}}\)  \(1185 \pmod{2^{11}}\)  1 
5  \(A_{ 5} = (3^{k_{ 4}+3}  11) / 2 =\)  \(2147 \pmod{2^{12}}\)  \(536 \pmod{2^{10}}\)  3 
6  \(A_{ 6} = (3^{k_{ 5}+3} + 1) / 2 =\)  \(990 \pmod{2^{11}}\)  \(247 \pmod{2^{ 9}}\)  2 
7  \(A_{ 7} = (3^{k_{ 6}+3}  11) / 2 =\)  \(175 \pmod{2^{10}}\)  \(43 \pmod{2^{ 8}}\)  3 
8  \(A_{ 8} = (3^{k_{ 7}+3} + 1) / 2 =\)  \(253 \pmod{2^{ 9}}\)  \(63 \pmod{2^{ 7}}\)  1 
9  \(A_{ 9} = (3^{k_{ 8}+3}  11) / 2 =\)  \(127 \pmod{2^{ 8}}\)  \(31 \pmod{2^{ 6}}\)  3 
10  \(A_{10} = (3^{k_{ 9}+3} + 1) / 2 =\)  \(69 \pmod{2^{ 7}}\)  \(17 \pmod{2^{ 5}}\)  1 
11  \(A_{11} = (3^{k_{10}+3}  11) / 2 =\)  \(3 \pmod{2^{ 6}}\)  \(0 \pmod{2^{ 4}}\)  3 
12  \(A_{12} = (3^{k_{11}+3} + 1) / 2 =\)  \(14 \pmod{2^{ 5}}\)  \(3 \pmod{2^{ 3}}\)  2 
13  \(A_{13} = (3^{k_{12}+3}  11) / 2 =\)  \(7 \pmod{2^{ 4}}\)  \(1 \pmod{2^{ 2}}\)  3 
14  \(A_{14} = (3^{k_{13}+3} + 1) / 2 =\)  \(1 \pmod{2^{ 3}}\)  \(0 \pmod{2^{ 1}}\)  1 
15  \(A_{15} = (3^{k_{14}+3}  11) / 2 =\)  \(0 \pmod{2^{ 2}}\)  0 
Specifically, I computed \(A_n\) and \(k_n\) directly up to \(n = 3\). Then, I reduced \(A_3\) to the remainder using a “sufficiently large” \(2^m\). (How did I know which \(2^m\) to start with? Guess and check. I just tried some different values, if they were too small, I restarted with a bigger one. Then, in hindsight, I figured out the smallest \(2^m\) necessary.) In the last row, we only know \(A_{15} \equiv 0 \pmod{4}\), which is just barely enough to know that \(r_{15} = 0\). And so we can see that the 16th iteration will be applying Rule R0 which will lead us to halt with \(A_{16} = (3^{k_{15}+3}  11) / 2\) marks on the tape.
Busy Beaver Bound
Huzzah! We have proven that this TM halts! In fact, we can even specify precisely the number of marks it leaves on the tape:
\[A_{16} = \frac{11 + 3^{\frac{13 + 3^{\frac{23 + 3^{\frac{7 + 3^{\frac{21 + 3^{\frac{7 + 3^{\frac{23 + 3^{\frac{7 + 3^{\frac{23 + 3^{\frac{7 + 3^{\frac{21 + 3^{\frac{7 + 3^{\frac{23 + 3^{\frac{7 + 3^{\frac{21 + 3^{\frac{7 + 3^{4}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{8}}}{2}\](which, I believe, matches Pavel’s expression from the earlier section)
But that expression is a bit unwieldy, can we simplify the bound into a simpler notation? Well:
\[k_{n+1} \ge \frac{A_{n+1}  3}{4} \ge \frac{3^{k_n + 3}  17}{8} = \frac{9 \cdot 3^{k_n + 1}  17}{8} = 3^{k_n + 1} + \frac{3^{k_n + 1}  17}{8}\]So (as long as \(k_n >= 2\)):
\[k_{n+1} > 3^{k_n + 1} > 3^{k_n}\] \[A_{16} > 3^{k_{15}}\]Thus (starting from \(k_1 = 8 > 3\)):
\[k_n > 3↑↑n\] \[A_{16} > 3↑↑16\]And so, we have proven that \(BB(6, 2) > 3↑↑16\)
Standardizing Notation
This is a pleasingly compact notation, but what if we find another TM which writes \(4↑↑15\) marks. Which one is bigger? It is not immediately obvious how to compare two numbers written in this “uparrow” notation with different “bases”. So, just as we convert numbers to base 10 in scientific notation (\(3^{13} \approx 1.59 \times 10^{6}\)), we can convert these giant numbers to a base 10 tower.
Let \(T = \frac{1}{\log_{10}(3)} \approx 2.1\) and \(S = \log_{10}(T) \approx 0.32\), so that
\[3^k = 10^{k/T}\] \[3^k / T = 10^{k/T  S}\]Then,
\[k_{n+1} / T  S \ge 3^{k_n} / T + \frac{3^{k_n + 1}  17}{8 T}  S = 10^{k_n / T  S} + \frac{3^{k_n + 1}  17}{8 T}  S\]Well, assuming \(k_n \ge 2\), then:
\[3^{k_n + 1}  17 \ge 10\] \[\frac{3^{k_n + 1}  17}{8 T} > 0.5 > S\] \[k_{n+1} / T  S > 10^{k_n / T  S}\]Starting from \(k_1 = 8\) (and thus \(k_1 / T  S > 3.4 > 1\)) we can see:
\[k_n / T  S > 10↑↑(n1)\] \[A_{16} = \frac{3^{k_{15}+3}  11}{2} > 3^{k_{15}} = 10^{k_{15} / T} > 10^{10↑↑14} = 10↑↑15\]And so we have proven that \(BB(6, 2) > 10↑↑15\)
Upper Bound
We proved a lower bound on the number of marks (or steps) that this TM writes. How about an upper bound? Is our estimate tight?
Here we need to be a little careful not to confuse the number of marks the TM writes (\(\sigma(\mbox{t15}) = A_{16}\)) with the number of steps it runs for (\(s(\mbox{t15})\)). According to Pascal’s analysis, \(s(\mbox{t15}) \approx \frac{3}{8} \sigma(\mbox{t15})^2\) so I assume that we can safely say that \(s(\mbox{t15}) < \sigma(\mbox{t15})^2 = A_{16}^2\).
So,
\[s(\mbox{t15}) < A_{16}^2 = (\frac{3^{k_{15} + 3}  11}{2})^2 < (3^{k_{15} + 3})^2 = 3^{2 k_{15} + 6}\] \[2 k_{n+1} + 6 < \frac{A_{n+1}}{2} + 6 \le \frac{3^{k_n + 3} + 1}{4} + 6 = \frac{3^{k_n + 3} + 25}{4} < 3^{2 k_n + 6}\](For all \(k_n \ge 0\))
So, starting from \(2 k_1 + 6 = 22 < 27 = 3^3\):
\[k_n + 3 < 3↑↑(n+1)\] \[s(\mbox{t15}) < A_{16}^2 < 3↑↑17\]So, \(3↑↑16 < \sigma(\mbox{t15}) \le s(\mbox{t15}) < 3↑↑17\) is as tight of a bound as you can get with this notation!
Likewise, for base 10 tower notation:
\[s(\mbox{t15}) < A_{16}^2 < 3^{2 k_{15} + 6} < 10^{2 k_{15} + 6}\] \[2 k_{n+1} + 6 < 3^{2 k_n + 6} < 10^{2 k_n + 6}\]Starting from \(2 k_2 + 6 = 44292 < 10^{10}\):
\[3 k_n + 6 < 10↑↑n\] \[s(\mbox{t15}) < A_{16}^2 < 10^{10↑↑15} = 10↑↑16\]so, \(10↑↑15 < \sigma(\mbox{t15}) \le s(\mbox{t15}) < 10↑↑16\) is as tight of a bound as you can get with this base as well.
Note: For a more precise bound (using new notation), see Extending Uparrow Notation.
Acknowledgements
This article is my synthesis of many techniques I learned from others.
 I first learned about Euler’s Totient Theorem and it’s use in evaluating repeated exponential Collatzlike recurrence from a blog post from 2014 by “googology” user “Cloudy176”. This was in analysis of the longreigning \(BB(7, 2)\) champion machine discovered by “googology” user “Wythagoras”. As “Wythagoras” notes in his post, the key insight was originally described by Pascal Michel at the end of his analysis of Pavel’s \(10^{36534}\) machine in 2010.
 Pascal Michel explained to me that the period of a number \(a \pmod{b}\) can be smaller than \(\phi(b)\) (and in fact, that it is in this case). Originally, I had proved Pavel’s machine using only the fact that \(3^{\phi(2^m)} = 3^{2^{m1}} \equiv 1 \pmod{2^m}\). This proof was correct, but inefficient, requiring a starting modulus with roughly twice as many bits.
 Pavel Kropitz described to me (on the bbchallenge.org Discord server) how you can actually computed periods \(a \pmod{b}\) via brute force and how these computations can be done recursively on \(k_n\) (I have not used this fact here, but it will be relevant if we find machines with larger Collatz modulus).
 Pascal discovered a discrepancy with my original analysis which turned out to be an arithmetic mistake on my part and led to me originally reporting this as only \(s(\mbox{t15}) \ge \sigma(\mbox{t15}) > 3↑↑14\).
 I first explored properties of “Knuth’s uparrow notation” in 2009 in a “blog post” (on my Wikipedia User page!). It was in this early exploration that I discovered that the base of tetration (↑↑) is almost irrelevant: \(10 \uparrow \uparrow (n1) < 3 \uparrow \uparrow n < 10 \uparrow \uparrow n\) for all \(n \ge 3\).
 Neither I nor “Wythagoras” were the first to propose a TM which ran for so many steps that we cannot write their digits. As far as I know, that honor goes to Milton Green who described an infinite sequence of machines which grow as fast as the Ackermann function. Specifically, his 9state machine is still unbeaten, writing \(> 3↑↑29 > 10↑↑28\) marks and his 10state machine writes \(> 3↑↑↑3 = 3↑↑3^{3^3} = 3↑↑7,625,597,484,987\) marks. I first wrote about these machines and calculated these bounds in 2009.
Footnotes

As a hint: start by trying to prove that \(B(n+4, m) \to B(n, 3m+7)\) (where
B(n, m) = 0^{∞} 1 0^{n} 11 0^{3m+2} C> 0^{∞}
). ↩