Abstract

The 3𝑥+1 problem can be viewed, starting with the binary form for any 𝑛∈𝐍, as a string of “runs” of 1s and 0s, using methodology introduced by Błażewicz and Pettorossi in 1983. A simple system of two unary operators rewrites the length of each run, so that each new string represents the next odd integer on the 3𝑥+1 path. This approach enables the conjecture to be recast as two assertions. (I) Every odd 𝑛∈𝐍 lies on a distinct 3𝑥+1 trajectory between two Mersenne numbers (2𝑘−1) or their equivalents, in the sense that every integer of the form (4𝑚+1) with 𝑚 being odd is equivalent to 𝑚 because both yield the same successor. (II) If 𝑇𝑟(2𝑘−1)→(2𝑙−1) for any 𝑟,𝑘,𝑙>0, 𝑙<𝑘; that is, the 3𝑥+1 function expressed as a map of 𝑘's is monotonically decreasing, thereby ensuring that the function terminates for every integer.

1. Introduction

The 3𝑥+1 problem is also known under various other names including Collatz’s problem, Ulam’s problem, and the Syracuse problem. It considers the following transformation of integers: 𝑓(𝑥)=(3𝑥+1)if𝑥isodd,𝑥2if𝑥iseven.(1.1)
The conjecture states that, starting with any integer 𝑛 (which for our purposes we will take as positive, although there is a negative version), 𝑓(𝑥) will eventually reach 1 under iteration of the function. Thereafter it will enter the short cycle 4, 2, 1. The conjecture specifies that there are no other cycles and also that the function is not divergent. Another commonly used notation is 𝑇𝑘(𝑛) for the value after 𝑘 iterations.

The conjecture has been verified up to 26 × 255 as of April 2010 in independent computations by Oliveira e Silva [1] and Roosendaal [2].

In this paper we will use another version of the problem𝑓𝑥𝑖=3𝑥𝑖−1+12𝑚𝑖−1,𝑥0=𝑛,(1.2)
such that 2𝑚𝑖−1∣3𝑥𝑖−1+1 but 2𝑚𝑖−1+1 does not divide it.

This version iterates directly from one odd integer to another, and the conjecture states that 𝑥𝑖=1 for some finite value of 𝑖. However, this form is less often used by researchers because of the difficulty of determining a priori the values of 𝑚𝑖−1.

For a comprehensive review of the research to date, see Lagarias’ annotated bibliography and generalizations of the problem [3–5] and Chamberland’s 2003 update [6]. Wirsching’s lecture notes [7] consider the dynamical system generated by the function. Shallit [8] treats the function from the viewpoint of finite automata.

Our approach builds on Błażewicz and Pettorossi’s 1983 paper [9] in which they introduce the notion of viewing the binary representation as an alternating series of “runs” of 1s and 0s. These can be rewritten using two unary operators and include appending a carry 1 as necessary to the output string to achieve the iterations correctly according to the 3𝑥+1 algorithm.

Clearly the binary notation can be expressed as lengths of runs. For example, we express 𝑛=27 as 𝟏2𝟎1𝟏2. We point out that this particular starting point is especially interesting because—as noted by several writers—it generates one of two of the longest trajectories for values of 𝑛<103. As Table 1 shows, 41 steps are required to reach 1 in terms of odd integers. The other long trajectory in that range is for 𝑛=703.

We will dispense with explicitly showing 1s and 0s unless otherwise indicated because, as we will show, the same rewriting rules apply to both. Hence 𝑛=27 becomes {212}, and all positive odd integers are represented in this way, the only constraint being that the string is of odd length. Even values of 𝑛 appear as trailing 0s and are simply deleted in the rewriting process.

2. The String Rewriting System (SRS) for the 3𝑥+1 Problem

We will now list the String Rewriting System (SRS) process specific to the 3𝑥+1 problem and then prove that it replicates the algorithm for odd integers. Since the rewriting will involve deletions as well as additions, for convenience, we will invert the normal sequence, so that deletions occur on the left (least significant digits) and additions of carry 1s at right (most significant digits).(i)At the start of each iteration, we delete any leading 1s in pairs. This action corresponds to the removal of (4𝑘+1) factors whenever 𝑘 is odd, which has no impact on the calculation.(ii)Reset the output string to a null string.(iii)Apply the following rewriting rules, one integer at a time, and concatenate to the output string, using the unary operators 𝑓 and 𝑔. Every iteration starts with 𝑓:(i)for𝑘=1𝑓1→+1𝑔or(𝑔1→+1𝑓,ii)for𝑘=2𝑔2→2𝑔or(𝑓2→11𝑔,iii)for𝑘≥3𝑔𝑘→1(𝑘−2)1𝑔or(𝑓𝑘→(𝑘−1)1𝑔,iv)for𝑘=𝜑(endofinputstring),𝑔𝜑⟶1𝑓.(2.1)
Note that, while in general we concatenate to the output string, the + sign (first rule) requires that we add 1 to the last integer on the output string. If there is no previous integer (output string is empty), then the 1 is simply discarded.

Proof. For this proof only, we will revert to the usual binary representation (least significant digits at right) and perform the 3𝑛+1 calculation by adding a 1 to the right of 𝑛 and add 𝑛. We summarize some findings of Błażewicz and Pettorossi as follows.(i)A run 𝜌 of 1s is translated by the function into 0𝜌0, and a run of 0s changes to 1𝜌1, so long as the length of 𝜌 satisfies |𝜌|≥2. For example, runs of |𝜌|=5 are shown pictorially as follows; the operation 𝑓 5 is on the left and 𝑔 5 is on the right:
(2.2)(ii)An alternating series of 1 and 0 results in a string of 0s
(2.3)
this corresponds to a succession of (4𝑘+1) factors which can be removed if they occur at right.(iii)Single 0s or 1s disappear into the structures of their neighbors
(2.4)(iv)It is easily seen that the rewriting rules (ii) and (iii) maintain the parity of the string for operator 𝑔 and change it to even for 𝑓. Rule 1 has no effect on the parity. Hence, if the output string (which always starts with 𝑓) ends with 𝑔, we must add a 1 (the carry bit) to it to preserve the requirement that its length be odd.Rule (ii) can similarly be proved. Using the above, one can confirm that the rewriting rules (2.1) satisfy all the requirements of the 3𝑥+1 algorithm.

The above SRS has some useful properties.

A Mersenne number (2𝑘−1) which in binary is a row of 𝑘 1s is represented in our notation simply as {𝑘}.

It is easy to see that every integer of the form (4𝑚+1) with 𝑚 being odd is equivalent to 𝑚 because both yield the same successor. In binary, the string for an odd integer 𝑚 is followed by a 0 and a 1 to produce (4𝑚+1). In our notation this translates even more simply as a pair of leading 1s. Given any odd integer one can write or immediately recognize an infinite number of equivalents simply by adding (or removing) pairs of 1s. Only adding 1s in pairs will maintain the correct parity of the string.

3. The 3𝑥+1 Problem and Mersenne Numbers

It is rather surprising that the Mersenne numbers should play a helpful role in the 3𝑥+1 problem because—as several writers have noted, for example, Kuttler [10]—it is easy to show that 𝑇𝑘(2𝑘−1)=(3𝑘−1); that is, the values appear to grow quickly (we caution here that Kuttler uses a variant of our definition (1.1) which results in a different set of iterations). However, if we complete the numerical evidence for small values of 𝑘 (≤20), an interesting structure emerges. Figure 1 shows each vertex containing the 𝑘th Mersenne number and each edge representing the 3𝑥+1 trajectory from that 𝑘th Mersenne number to the next. For example, the trajectory for 𝑛=27 is largely represented by the single edge between 𝑘=5 and 𝑘=4, that is, 𝑛=31 and 𝑛=61, where the latter is the equivalent of 𝑛=15 which cannot have a predecessor since it is 0 (mod3). Note that all the values of 𝑘 in Figure 1 are monotonically decreasing in the direction of the arrows.

Figure 1: The 3𝑥+1 map expressed as values of 𝑘≤20 for endpoints (2𝑘−1).

Define as usual the stopping time of 𝑛, denoted by 𝜎(𝑛), as being the least 𝑘 such that 𝑇𝑘(𝑛)<𝑛. It is easy to verify, as in Garner [11], the following stopping times; the 𝜎(𝑛) have been adjusted to count odd integers only: 𝜎(𝑛)=1if𝑛≡1(mod4),𝜎(𝑛)=2if𝑛≡3(mod16),𝜎(𝑛)=3if𝑛≡11or23(mod32),𝜎(𝑛)=4if𝑛≡7,15or59(mod128),𝜎(𝑛)=5if𝑛≡39,79,95,123,175,199,or219(mod256).(3.1)

Equivalently (see [12]), 𝜎(𝑛)≤5 unless 𝑛 is congruent mod 256 one of the following:2731476371103111127155159167191207223231239251255.(3.2)
Clearly we can always find an 𝑛 with arbitrarily long stopping time 𝜎(𝑛)=𝑘. In our run notation, this means simply choosing an integer of the form {𝑘⋯}. So stopping times alone will not suffice to resolve the problem. Looking at Figure 1 suggests that we consider the 3𝑥+1 problem as a combination of two propositions: one for predecessors and another for successors.(i)First we must show that every odd 𝑛∈𝐍 lies on the map described by Figure 1, either on the path between two Mersenne numbers (2𝑘−1) or as the Mersenne numbers themselves. While we cannot predict where a particular 𝑛 will fall on the map, we can say that this corresponds to the hypothesis that every 𝑛 or an equivalent must have a Mersenne number as a predecessor. This condition is met if we can always find a valid predecessor of 𝑛 smaller than 𝑛; that is, 𝑇−𝑘(𝑛)<𝑛, identical to the stopping time condition except in the reverse direction. Note that, if 𝑛 is 0 (mod3), we can convert it to an equivalent (in fact an infinite number of them) which has a valid predecessor. (ii)The second proposition is that if 𝑇𝑟(2𝑘−1)→(2𝑙−1) for any 𝑟,𝑘,𝑙>0, 𝑙<𝑘; that is, the 3𝑥+1 function expressed as a map of 𝑘’s is monotonically decreasing, thereby ensuring that the function terminates for every integer. Note that we need only to concern ourselves here with Mersenne numbers, not all the points in between.

Hence a counterexample must satisfy 𝑇𝑘(𝑛)>𝑛 for all 𝑘’s (positive and negative); that is, 𝑛 must be a minimum with respect to its successor trajectory as well as its infinite number of predecessor paths.

It remains to be seen whether the String Rewriting System (SRS) approach can lead to further advances in the 3𝑥+1 problem.