TL;DR
This paper explores the binary structure of the Collatz graph, revealing how message passing behaviors relate to the complexity of the Collatz process, and introduces an efficient regular expression construction for ancestor sets.
Contribution
It presents a new exponential construction of regular expressions for ancestor sets in the Collatz graph, improving upon previous methods and generalizing prior work to all natural numbers.
Findings
Constructs regular expressions for ancestor sets in the Collatz graph.
Provides an exponential algorithm for defining ancestor sets.
Generalizes previous results from the case x=1 to all natural numbers.
Abstract
The Collatz graph is a directed graph with natural number nodes and where there is an edge from node to node if is even, or to node if is odd. Studying the Collatz graph in binary reveals complex message passing behaviors based on carry propagation which seem to capture the essential dynamics and complexity of the Collatz process. We study the set that contains the binary expression of any ancestor that reaches with a limited budget of applications of . The set is known to be regular, Shallit and Wilson [EATCS 1992]. In this paper, we find that the geometry of the Collatz graph naturally leads to the construction of a regular expression, , which defines . Our construction, is exponential in whichā¦
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Hamilton Institute and Department of Computer Science, Maynooth University, [email protected]\CopyrightJohn Q. Public and Joan R. Public\ccsdesc[500]Theory of computationĀ Regular languages \ccsdesc[500]Mathematics of computingĀ Discrete mathematics\supplementProject source code: https://github.com/tcosmo/coreli/\fundingResearch supported by European Research Council (ERC) under the European Unionās Horizon 2020 research and innovation programme (grant agreement No 772766, Active-DNA project), and Science Foundation Ireland (SFI) under Grant number 18/ERCS/5746.
Acknowledgements.
Many thanks to Jose Capco, Damien Woods, Pierre-Ćtienne Meunier and Turlough Neary for their kind help, interest and feedback on this project. We also thank Jeffrey C. Lagarias for his surveys on the Collatz problem ([16] and [17]). We thank the OEIS111http://oeis.org/, always of great help. Finally, sincere thanks to anonymous reviewers. Their comments were very helpful, for instance making us realise the exponential gain of our construction compared to previous literature.\hideLIPIcs\EventEditorsJohn Q. Open and Joan R. Access \EventNoEds2 \EventLongTitle42nd Conference on Very Important Topics (CVIT 2016) \EventShortTitle2020 \EventAcronymCVIT \EventYear2016 \EventDateDecember 24ā27, 2016 \EventLocationLittle Whinging, United Kingdom \EventLogo \SeriesVolume42 \ArticleNo23
\NewEnvironrestatethis[1]
Theorem 0.1**.**
\BODY
Binary expression of ancestors in the Collatz graph
Tristan StƩrin
Abstract
The Collatz graph is a directed graph with natural number nodes and where there is an edge from node to node if is even, or to node if is odd. Studying the Collatz graph in binary reveals complex message passing behaviors based on carry propagation which seem to capture the essential dynamics and complexity of the Collatz process. We study the set that contains the binary expression of any ancestor that reaches with a limited budget of applications of . The set is known to be regular, Shallit and Wilson [EATCS 1992]. In this paper, we find that the structure of the Collatz graph naturally leads to the construction of a regular expression, , which defines . Our construction, is exponential in which improves upon the doubly exponentially construction of Shallit and Wilson. Furthermore, our result generalises Colussiās work on the case [TCS 2011] to any natural number , and gives mathematical and algorithmic222Code available here: https://github.com/tcosmo/coreli tools for further exploration of the Collatz graph in binary.
keywords:
Regular Languages; Regular Expressions; Collatz Conjecture
category:
1 Introduction
Let . The Collatz map, , is defined by if is even or if is odd. The Collatz graph is the directed graph generated by , nodes are all and arcs are . This map, and its graph, have been widely studied (see surveys [16] and [17]) and research has been driven by a problem, open at least since the 60s: the Collatz conjecture. The conjecture states that, in the Collatz graph, any strictly positive natural number is a predecessor of . In other words, any reaches after a finite number of -iterations. As of 2020, the Collatz conjecture has been tested for all natural numbers below without any counterexample foundĀ [1].
There has been a fruitful trend of studying the Collatz process in binary [2, 3, 20, 6, 12, 18, 4]. That is because, the maps and have natural binary interpretations. The action of corresponds to shifting the inputās binary representation to the right ā deleting a trailing 0. While writing reveals an interesting mechanism. In binary, the operation corresponds to adding to its left-shifted version where the least significant bit has been set to , FigureĀ 1(a). Equivalently corresponds to each bit of being added to its right neighbour and the potential carry being placed on that neighbour. The part of the operation can be represented as a carry appearing ex nihilo after the rightmost , FigureĀ 1(b). The described mechanism results in the propagation of a carry within the binary representation of : two consecutive s create a carry while two consecutive [math]s absorb an incoming carry. Representing trajectories in the Collatz graph with the carry-annotated base 2 representation of FigureĀ 1(b) leads to complex, āQuasi Cellular Automatonā evolution diagrams which seem to encompass the overall complexity of the Collatz process [5]. These cary-annoted evolution diagrams are studied in depth in [21].
Here, we ask the following question: for a given bit string , what is the shape of the bit strings which ādegradeā into under the action of the Collatz process? Said otherwise, for an arbitrary , can we characterize the binary expansion of all which reach in the Collatz process? To answer that question, we find that it is natural to put a budget on the number of times the map is used (see RemarkĀ 4.1) and we study the set of binary expressions of all which reach by using the map exactly times and the map an arbitrary number of times. There is a high-level argument which shows that for each and the set is regular [20]: the binary interpretation of the operation as shown in FigureĀ 1(b) can be performed by a 4-state, reversible, Finite State Transducer (which states correspond to symbols ). In [20], the authors make the point that having a budget of on the map corresponds to iterating that transducer times. Since finite iterations of FSTs lead to regular languages, is regular. However, while it gives regular structure to the set , from the point of view of regular expressions, their argument does not lead to a tractable representation of : they construct exponentially large FSTs in , leading to doubly exponentially large regular expressions when using general purpose regular expression generation algorithm [11].
In this paper, we find that the knowledge about the binary structure of ancestors of is embedded in the geometry of finite paths that reach in the Collatz graph. By geometry of a path, we mean the parity vector [15, 23, 19, 22] associated to that path, which corresponds to looking at the pathās elements modulo (FigureĀ 2). We find that there is a tight link between the shape of the parity vector and the binary expression of the first element on the path, which is an ancestor of . Hence, we focus on characterizing the shapes of parity vectors of paths ending in and then translate those shapes into binary expressions of ancestors. The budget of applications of the map will translate to the constraint of having s in the parity vectors we consider. Our main result exploits the mapping between constrained parity vectors and binary representation of ancestors at ā-distanceā , in order to construct a regular expression which defines . As the number of possible shapes of constrained parity vectors grows exponentially with , these regular expressions are big333AppendixĀ D shows which gives an idea of how large the regular expressions get. but only exponential in (against doubly exponential in in previous constructions [20]):
Theorem 1.1**.**
For all , for all there exists a regular expression regk(x) that defines . The regular expression regk(x) is structured as a tree with branches, alphabetic width and star height equal to .
Our result generalises [6] which focused on the case . We claim that the framework we introduce is more general than [6, 12] and that, in potential future work, it could easily be applied to generalisations of the Collatz map such as the maps444Defined, for odd, by if is even or if is odd. These maps are as mysterious as the Collatz map. [9]. Our result improves [20] by an exponential factor which makes our construction more fit for pratical use. We have implemented the construction of TheoremĀ 1.1 (see AppendixĀ C) and claim that it gives a new exploratory tool for studying the Collatz process in binary. Indeed, for any and , we can sample in order to analyse the different mechanisms by which the Collatz process transforms an input string into the binary representation of in odd steps. Also, from our result, one can also easily sample from the smallest ancestor of at -distance which suggests a new approach for future work in trying to understand how the Collatz process optimally encodes the structure of in ancestors at -distance .
In future work, we plan to use our algorithm as a tool to further understand the dynamics of the Collatz process in binary. In particular, we are very much concerned by the question: āCan the Collatz process compute?ā. Indeed, direct generalisations of the Collatz process are known to have full Turing power [7, 13, 14]. While the Collatz conjecture, by characterizing the long term behavior of any trajectory, seems to imply that there are some limitations on the computational power of the Collatz process, nothing is known. We believe that further studying carry propagation diagrams in the binary Collatz process can lead to answers on the computational power of the Collatz process and that, the tools built in this article can support that research.
2 Parity vectors and occurrences of parity vectors
Let . We recall that the Collatz map , is defined by if is even or if is odd. The concept of parity vector was introduced in [22] (under the name encoding vector) and used, for instance, in [15, 23, 19]. While we work with the same concept, we introduce a slightly different representation555This is done both because, in this format, parity vectors can be represented nicely in the plane (see FigureĀ 2), and because binary strings will be omnipresent in SectionĀ 3 and we donāt want to confuse the reader with too many of them. of parity vectors by using arrows and instead of bits 0 and 1. In this Section, we introduce notation to manipulate occurrences of parity vectors in the Collatz graph and reformulate a crucial result of [23] in our framework (TheoremĀ 2.7).
Definition 2.1** (Parity Vector).**
A parity vector is a word in , i.e. a finite word, possibly empty, over the alphabet . We call the set of all parity vectors. The emptyĀ parityĀ vectorĀ isĀ . We defineĀ Ā to be the concatenation operation on parity vectors: is the parity vector consisting of the arrows of followed by the arrows of . We use exponentiation in its usual meaning: , times.
Definition 2.2** (Norm and span).**
As in [23], we define two useful metrics on parity vectors: (a) the norm of , written , is the total number of arrows in and (b) the span666Called length in [23]. We change terminology to avoid confusion with the notion of length of a word over an alphabet. However, we keep the same mathematical notation . of , written , is the number of arrows of type in .
Definition 2.3** (Occurrence of a parity vector).**
Let be a parity vector with and . An occurrence of in the Collatz graph, or, for short, an occurrence of , is a -tuple, such that, for , if or if .
Definition 2.4** (Set of occurrences of a parity vector: ).**
Let . We call the set of all the occurrences of the parity vector . We order this set by the first number of each occurrence. Then, denotes the occurrence of within that order and , with , denotes the term of the occurrence. In order to facilitate reading, we will write instead of to refer to the last element of the occurrence . If the context clearly states the parity vector we will abuse notation and write instead of .
Example 2.5**.**
FigureĀ 2(a) shows two parity vectors in : and . We have: , and , . In FigureĀ 2(b), it can be proved that we have and .
Definition 2.6** (Feasibility).**
A parity vector is said to be feasible if it has at least one occurrence, i.e. if is defined.
The question āAre all parity vectors feasible?ā is answered positively in [23] (Lemma 3.1). This result is key to our work and we reformulate it in terms of occurrences of parity vectors:
Theorem 2.7** (All parity vectors are feasible).**
Let . Then:
** 2. 2.
* and * 3. 3.
Finally we can completely characterize and with: and
Proof 2.8**.**
This Theorem is essentially a reformulation of Lemma 3.1 in [23]. We postpone the proof to AppendixĀ B because the concepts which the proof needs (introduced in [23]) will not be used in the rest of this paper.
Example 2.9**.**
FigureĀ 3 illustrates the knowledge that TheoremĀ 2.7 gives on the structure of , the set of occurrences777The result of [19] implies that one can prove the Collatz conjecture by only proving it for for all , for any , for any . of the parity vector .
3 First occurrence of parity vectors
In this Section, we show that there is a direct link between the arrows of a parity vector and the bits of the binary representation ā including potential leading [math]s ā of (TheoremĀ 3.11). Then, we show that first occurrences of parity vectors can be arranged in a remarkably symmetric binary tree: the -treeĀ (TheoremĀ 3.17). As we work in binary, letās introduce some notation:
Definition 3.1** (The set ).**
Let be the set of finite (possibly empty) words written on the alphabet . The empty word, is denoted by . We define , the concatenation operator on these words and we use exponentiation in its usual meaning. Finally, for , refers to the length (number of symbols) in the binary word .
Definition 3.2** (The interpretations888We do not use the notation and its inverse of [6, 12] in order to avoid confusion. Indeed, in [6, 12], the use of this notation is meant to preserve leading while we crucially need to control them in order to define the encoding function . and ).**
Each word can, in a standard way, be interpreted as the binary representation of a number in . The function gives this interpretation. By convention, . Reciprocally, the partial function , where is the set of with , gives the binary representation of on bits. The value of is defined only when . We set . Finally, by we refer to the binary representation of without any leading 0. Formally, if and .
Example 3.3**.**
, and .
3.1 Constructing
Letās notice that we have the following bijection (similarly introduced in [22]):
Lemma 3.4**.**
Define . Then the function defined by is a bijection.
Proof 3.5**.**
By cardinality, because , we just have to prove the injectivity of . Let such that . We write and with . Since and that the Collatz process is deterministic we deduce:
[TABLE]
Thus, by DefinitionĀ 2.3 we deduce that for . Thus which ends the proof.
We can now define the Collatz encoding of a parity vector :
Definition 3.6** (Collatz encoding of a parity vector ).**
We define the Collatz encoding function of parity vectors to be: . The function is well defined since, by TheoremĀ 2.7, . By LemmaĀ 3.4, is bijective hence is naturally defined.
Example 3.7**.**
* is the binary representation of on bits. We have: or (see FigureĀ 4).*
Definition 3.8** (Admissibility of an arrow).**
Let . The arrow is said to be admissible for the number if and only if: ( and is even) or ( and is odd).
Lemma 3.9**.**
Let and . Consider . Then two cases:
- ā¢
If is admissible for then is the first occurrence of , i.e. we have: .
- ā¢
If is not admissible for then is the second occurrence of , i.e. we have: .
Proof 3.10**.**
- ā¢
If is admissible for then is forward feasible for and is an occurrence of . It has to be the first occurrence of otherwise, the existence of a lower occurrence of would contradict the fact that is the first occurrence of .
- ā¢
If is not admissible for , consider the first occurrence of . Then is an occurrence of . It cannot be the first one since the first occurrence of is followed by an arrow admissible for . However, by TheoremĀ 2.7 we know that . Thus we conclude that is the second occurrence of , i.e. since for all by TheoremĀ 2.7.
Theorem 3.11** (Recursive structure of ).**
Let . We have . Then, for and we have if is admissible for and otherwise.
Proof 3.12**.**
By DefinitionĀ 3.6, we have and by DefinitionĀ 3.2. Hence, . Now, let , . Two cases:
- ā¢
If is admissible for , by LemmaĀ 3.9 we have . Thus we get that since prepending a 0 to a binary string doesnāt change the number it represents. Hence, .
- ā¢
If is not admissible for , by LemmaĀ 3.9 and TheoremĀ 2.7 we get which corresponds to prepending a bit 1 to the binary representation of on bits. We conclude that . Hence, .
Example 3.13**.**
FigureĀ 4 illustrates TheoremĀ 3.11 on parity vectors of .
3.2 Constructing
TheoremĀ 3.11 relies on knowing at each step in order to deduce the admissibility of the arrow which is being added. In this Section, we show that can also be recursively constructed. That construction will lead to a binary tree, the -treeā in which each node corresponds to the first occurrence of a parity vector. The symmetries of this tree will be crucial to our main result, TheoremĀ 1.1. The construction of relies on some elementary knowledge about groups of the form and their multiplicative subgroup . We recall the definition and main properties of these objects in AppendixĀ A. In particular, we use the notation to refer to the modular inverse of in . Importantly, is a primitive root of . Those groups play an important role in our context because of the following result:
Lemma 3.14**.**
Let . Then . If , .
Proof 3.15**.**
We prove both directions: : we suppose . We know (TheoremĀ 2.7). We have to prove that is not a multiple of three. The predecessor set of , a multiple of , in the Collatz graph is reduced to . Indeed, we know that all are predecessors of by the operator . Furthermore, the operator never yields to an integer if inputed a multiple of three and all are. Hence no parity vector with can have an occurrence ending in a multiple of three and we have the result. : if then so we have the result. If then has the form . By TheoremĀ 3.11, we deduce . Hence .
We can recursively construct with the analogous of and in :
Definition 3.16** ( and ).**
The functions and are defined by: .
Theorem 3.17** (Recursive structure of ).**
Let . We have . Then, for some and we have and .
Proof 3.18**.**
*Since any is an occurrence of the parity vector , we have (tuple with one element). Hence . Now, let for some and . Then notice that EquationsĀ (LABEL:eq:down) and (LABEL:eq:up) are well defined because of TheoremĀ 2.7. Indeed, we know that thus and and we can use the operators and on it.
Letās consider with . Two cases:*
- ā¢
The arrow is admissible for : in that case, by LemmaĀ 3.9, we know that is the first occurrence of . Hence, and we have . With if or if . Then two cases:
If then is even and by AppendixĀ A, LemmaĀ A.3. 2. 2.
If then is odd and by AppendixĀ A, LemmaĀ A.5.
- ā¢
The arrow is not admissible for : in that case, by LemmaĀ 3.9, we know that is the second occurrence of . Hence, by TheoremĀ 2.7, . Now, . Then two cases:
If then is odd and by AppendixĀ A, LemmaĀ A.3. 2. 2.
If then is even and by AppendixĀ A, LemmaĀ A.5.
In all the cases we get the result.
Example 3.19**.**
On FigureĀ 4, we are reading . On the other hand, TheoremĀ 3.17 claims that . Letās verify that: as expected.
3.3 The -tree
TheoremĀ 3.17 implies that the operators and naturally give birth to a binary tree ruling the construction of . We call this tree the -tree:
Definition 3.20** (The -tree).**
We call the -treeĀ the binary tree with nodes in constructed as follow, starting from node :
The right child of is 2. 2.
The left child of is given by
Lemma 3.21**.**
Nodes of the -treeĀ are: .
Proof 3.22**.**
Each node of -treeĀ corresponds to a first occurrence, immediate from DefinitionĀ 3.20 and TheoremĀ 3.17.
Symmetries of the -tree
FigureĀ 5 illustrates the first four levels of the -tree. By construction of the -tree, if two nodes and share the same and they will be the root of very similar sub-trees. This phenomenon is highlighted with the nodes and , FigureĀ 5 doesnāt show the sub-tree under as it can be entirely deduced from the sub-tree under . The same would apply for the sub-trees under and . These symmetries are closely related to the fact that keeping adding to a parity vector of span will periodically enumerate (LemmaĀ 4.13).
4 Regular expressions defining ancestors sets
Pursuing our primary goal, we wish to characterize the binary expression of ancestors of an arbitrary in the Collatz graph. We decompose the set of all ancestors of as the union on of sets . The set contains all the ancestors of which use the map exactly times in order to reach ā the map can be used an arbitrary number of times.
Remark 4.1**.**
The set appears naturally in a fast-forwarded version of the Collatz process where even steps are ignored and only odd steps are considered (see [6]). In the graph of that process, corresponds to the set of ancestors of at distance .
Letās start by noticing the following:
Lemma 4.2**.**
Let . If is a multiple of 3 then: .
Proof 4.3**.**
More generally, if is a multiple of three, the set of ancestors of in the Collatz graph is reduced to . Indeed, cannot be an integer if and .
Remark 4.4**.**
In fact, sets are infinite for all as soon as is not a multiple of .
Thanks to SectionĀ 3, we know that we can describe the binary expression of elements of by focusing on parity vectors: the function will translate parity vectors to the binary expressions of ancestors. Letās make that link formal:
Definition 4.5** ().**
Let and . We define the set to be: . With if or otherwise, and . By , we mean āthe rest in the Euclidean division of by ā.
The set constains binary representations of elements of ā with potential leading [math]s ā in a one-to-one correspondence:
Lemma 4.6**.**
Let and . The sets and are in bijection by the function defined by .
Proof 4.7**.**
The function is well defined. Indeed, for any
[TABLE]
With . 2. 2.
The function is injective. Let with and with if else . We have by hypothesis. Suppose . We get . Hence, . By TheoremĀ 2.7 we get . If , for instance we have . Indeed, by determinism of the Collatz process, must be a prefix of as they both are forward feasible for . Furthermore, we canāt add any more arrows of type because . But, thus which contradicts . Hence we have and thus because, by determinism of the Collatz process, there is only one path of a given norm between and and thus one corresponding parity vector. Hence, . 3. 3.
The function is surjective. Let . There exists with and with . Similarly to the proof of PointĀ 1, the reader can verify that is a valid antecedent of in the case and that is a valid antecedent of otherwise.
Hence, in order to describe we are concerned by characterizing parity vectors such that and . Such correspond to the symmetries that we highlighted in the -tree, they form an equivalence class of ā-span equivalenceā:
Definition 4.8** (-span equivalence).**
Two parity vectors are said to be -span equivalent if and . We write . Note that is an equivalence relation.
The following set of binary strings will play a central role in how we can describe -span equivalence classes:
Definition 4.9** (Parity sequence of ).**
For , we define , the parity sequence of as follows: with and, if is even and if is odd. By convention, we fix .
Example 4.10**.**
*For , we have . The sequence of powers of in is: . The associated parity sequence (0 when even and 1 when odd) is: 101101111010010000. Finally, is the mirror image of this: . We have: , , and
.*
Remark 4.11**.**
The strings , or āseedsā in [6], have been studied in great depth in [18]. The author find that their structure is extremely complex, that they have numerous properties and that they can be defined in a lot of different ways. For instance, [12] uses the fact that strings correspond to the repetend of in binary.
Definition 4.12** (Rotation operator ).**
Let with . Then, for , denotes the rotation (or circular shift) to the right of . For instance, we have .
From any parity vector , we can create an infinite family of distinct parity vectors which are -span equivalent to :
Lemma 4.13**.**
Let and . Define , i.e. the parity vector followed by arrows of type , where . Then, for all we have . Furthermore we can characterize through with:
[TABLE]
With such that in .
Proof 4.14**.**
We have . By LemmaĀ 3.14, we know that . Furthermore, by TheoremĀ 3.17, since is the order of the group . Hence we have . Furthermore, by TheoremĀ 3.11 we know that with with such that:
[TABLE]
With such that in . By definition, the string is exactly and we have the result.
Remark 4.15**.**
The result of LemmaĀ 4.13 is illustrated in FigureĀ 6. The parity vector (in blue) distributes in a āspiral" around the elements of . When arrows of type have been added to , a full āturn" has been done and we get a path -span equivalent to . As a consequence, following only right children in the -treeĀ exhibits periods of length which enumerate elements of .
We now have all the element in order to characterize using regular expressions: See 1.1
Proof 4.16**.**
*We are going to explicitly construct , a regular expression999The regular expressions we work with are defined by the following BNF:
For instance, the expression matches any word of the form or . We might omit some parenthesis when they are redundant. which defines . With the following preliminary argument we show that it is enough to construct when is not a multiple of 3 and . In other words, when .*
Preliminary Argument. Let . Suppose is a multiple of 3. If , by LemmaĀ 4.2, is empty and thus we can take in that case. If , with if or otherwise (DefinitionĀ 4.5 and TheoremĀ 3.11). Hence we take and for .
Suppose is not a multiple of 3 and . Suppose that exists, i.e. that the set is regular with . Then by DefinitionĀ 4.5 we can take in order to define . Indeed, by TheoremĀ 2.7, with .
Hence we just have to prove that exists for all , non multiple of three such that , i.e. . We prove by induction on the following result:
[TABLE]
**Induction.
Base step . Trivially true because . Note that the following induction step will rely on knowing . We have shown above that .**
Inductive step.* Let such that holds. We show that holds. Let and such that . By DefinitionĀ 4.5, in this case, we have . Hence, characterizing boils down to characterizing the -span equivalence class: (LemmaĀ 3.21).*
Hence, we take such that is in the -treeĀ and we analyse its structure. To do so, we consider the surrounding of in the -tree. This will lead us to EquationĀ (1) which relates to the induction hypothesis. We are going to deploy Points 1, 2, 3, in order to show that the node can always be expressed in the context of FigureĀ 7:
In order to prove the generality of this situation, three points:
Since we can decompose with and such that . We can write with and . We call the number the repeating value. By LemmaĀ 4.13, we know that . Hence, with , we have and . It remains to characterize with . 2. 2.
Letās consider now . By TheoremĀ 3.17, we have . Furthermore, by the same TheoremĀ 3.17, we have . Hence and thus with . By TheoremĀ 3.11, we deduce that: . With , , and with .
We refer to such by because101010The name join refers to the fact that this parity sequence arises from ājoiningā, in the -tree, to with arrows of type . Notice that we can have in the case where . * it is uniquely determined by such that . Indeed, LemmaĀ A.5 shows that is injective on hence . Different values of will yield to different and thus different , and .* 3. 3.
Letās consider . If , by LemmaĀ 3.14, we know that and we can write with . Note that if , by the same Lemma, we have by convention. Thus in all case we can write with . By TheoremĀ 3.11, we deduce that where if is admissble for and otherwise. In other words: .
Over all, from Points 1, 2, 3, we deduce that:
[TABLE]
We have . If , we will be able to reduce to the induction hypothesis since . If we have and we use previously constructed.
As a synthesis, notice that any value of , any node and any repeating value will lead to the construction of a with a different for each choice of , and . Hence, we have completely characterized the structure of nodes of the form . From the above analysis, we can deduce the recursive expression of , we have:
[TABLE]
Note the amusing fact that for the word is the binary complement of . The fact that is structured as a tree is made obvious by EquationĀ (2), at each level the branching factor is . The number of branches is given by . The number of symbols on each branch is bounded by , hence, the alphabetic width of which is the total number of symbols is . Finally, the star heightt111111The star height metric height is defined by for , and .[11] is as directly derived from (2).
Remark 4.17**.**
We remark that the number of branches of corresponds to the size of āLevel ā that was computed in [10]. The author of [10] also remarks that this number corresponds to the number of different antisymmetric binary relations on a set of labeled points [8].
Remark 4.18**.**
The Collatz conjecture is equivalent to: for all , there is such that . Which means: for all , there is and such that matches . Because the number of leading [math]s in is equal to (see [18]), we can bound the number of leading [math]s that is accepted by and so we can bound which is the number [math]s to prepend to . For instance is a bound that works.
Example 4.19**.**
*We implemented the construction of in a Python library named coreli (see AppendixĀ C). Letās consider which defines the binary expression of any that reaches in odd steps. Below are enumerated the 12 branches of . They all start with the term (corresponds to in the proof of TheoremĀ 1.1) which is omitted for readibility:
Any number of which binary expression matches one of the 12 branch will iterate, in odd steps, to , the binary representation of . One can notice that both columns are enumerating, in the same order, all rotations of the word in the left-most Kleene star. First column corresponds to rotation of the second Kleene star and second column corresponds to rotation . Also, in each column, the bold substring between the first and the second Kleene star is growing a pattern, starting on branch on the first column and starting on branch on the second column.
Letās look at the Collatz iterations (until they reach ) of which is a member of branch 2 and which is a member of branch 10:
[TABLE]
Because they are both in both strings and reach by using three odd steps (three applications of the map ). We display even steps without breaking a line, the Collatz process is ignoring all ending [math]s until it finds a . Ending are generated by the ending pattern . Inner patterns within and seem to synchronize in order to generate ending patterns in future iterations and finally produce . We believe that each branch of features a different āmechanismā that the Collatz process has in order to synchronize inner patterns so that they produce after odd steps. We leave as future work to understand those mechanisms which we believe are tightly connected to how carry propagates within , and their Collatz descendants. We believe that the construction developed in this paper will provide a robust exploratory tool in order to support that future research.
Appendix A Working with
In this Appendix, we recall the definition and main properties of groups and . Then, we proof two results on and (DefinitionĀ 3.16) which are used in the proof of TheoremĀ 3.17.
For , we identify to . Thus we implicitly have . By we refer to the multiplicative group of , i.e. . From elementary group theory results we can deduce that . The element is thus always invertible in . By we refer to the modular inverse of in , this means that in we have . Furthermore, it is known that is a primitive root of . This means that for all there exists such that . Finally, even though it will be useful, for the induction step of our main result (TheoremĀ 1.1), to take the convention .
We define and the analogous versions of and in .
See 3.16
Lemma A.1** (Expression of ).**
We have: .
Proof A.2**.**
Let . We have thus . We also have, . Hence meets all the requirements to be .
Lemma A.3** (Structure of ).**
Let . For we have:
[TABLE]
Proof A.4**.**
Let , we have . Two cases:
- ā¢
Case even. We have and . This shows that and thus for even.
- ā¢
Case odd. We have by LemmaĀ A.1. Because , we have . We also have thus, in , and .
Lemma A.5** (Structure of ).**
Let . The function is -periodic. Hence we simply have to characterize the behavior of on . For we have:
[TABLE]
Proof A.6**.**
For we have: . Thus the function is -periodic. Now, two cases:
- ā¢
Case odd. We have and . This shows that and thus for odd.
- ā¢
Case even. We have and . We have by LemmaĀ A.1. Furthermore, so we can conclude that when is even.
Appendix B Feasible Vectors
In this Section we present the formalism used in [23] in order to prove TheoremĀ 2.7.
These results are based on a compact representation of parity vectors called feasible vectors in [23]:
Definition B.1** (Feasible vectors).**
The set of feasible vectors is . For a feasible vector , the length of , written is . The norm of is .
Example B.2**.**
A feasible vector is a compact way to represent a parity vector. For instance, the parity vector . Will be represented by the feasible vector . We have and .
Definition B.3** (Backtracing Function).**
Let , the backtracing function of is defined by:
[TABLE]
If then we say that is backward feasible for .
Lemma B.4** (Lemma 2.17 in [23]).**
Let and such that is backward feasible for . Then we have: .
Example B.5**.**
For , we have the corresponding feasible vector .
Being a composition of affine functions, is affine. The author of [23] completely characterises the structure of :
Lemma B.6** (Lemma 2.13 in [23]).**
For define:
[TABLE]
Then for any we have: .
Finally the following lemma of [23] will essentially give the proof of TheoremĀ 2.7:
Lemma B.7** (Lemma 3.1 in [23]).**
Let . Then there is exactly one such that for any :
[TABLE]
Proof B.8**.**
We know that: . LemmaĀ B.6 gives: . Hence, with :
[TABLE]
Because is inversible in .
Finally we can prove TheoremĀ 2.7:
See 2.7
Proof B.9**.**
Let and his associated feasible vector. By LemmaĀ B.7, we deduce that PointĀ 1 holds with the existence of . From the same Lemma, we get . From LemmaĀ B.6 we get: . Finally, the bound can also be derived from LemmaĀ B.6: since and .
Appendix C Generating with coreli
We have implemented the construction of TheoremĀ 1.1 in a Python library named coreli121212Any similarity to Archangelo Corelli is purely coincidental, https://www.youtube.com/watch?v=5BPhkY6xIP8, the Collatz Research Library: https://github.com/tcosmo/coreli. The long term goal of this library is to provide tools for exploring the Collatz process and also to implement constructions of past, current and future research on the Collatz problem. The library is fully documented here: https://dna.hamilton.ie/tsterin/coreli/docs/.
The construction of is performed in the following script: https://github.com/tcosmo/coreli/blob/master/coreli/predecessors.py.
Youāll find a detailed example (following ExampleĀ 4.19) that will run you through the codeās features in this notebook: https://github.com/tcosmo/coreli/blob/master/examples/Binary%20expression%20of%20ancestors%20in%20the%20Collatz%20graph.ipynb.
Appendix D
The following is the regular expression which defines , i.e. it recognises the binary representation ā with potential leading 0s ā of any number that uses times the operator and any number of times the operator in order to reach in the Collatz process. Although we only have , the regular expression is big: it is a tree with branches.
[TABLE]
(000000110010100100010110000111111001101011011101001111)(((0)(0)((000010010 111101101)(((0)(0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10) ((()(1)((0)))))))))|((000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|( (1000)(1)((10)((()(1)((0)))))))))|((0000100101111)(0)((110001)(((110)(0)( (01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|((000010010)(1 )((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))) )))|((0000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10) ((()(1)((0)))))))))|((000010010111101)(1)((001110)((()(0)((01)(((0)(1)(( 0))))))|((00)(1)((10)((()(1)((0))))))))))))|((000000110010100100010)(1)(( 100001001011110110)(((10)(0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((00 0)(1)((10)((()(1)((0)))))))))|((1000)(0)((100011)(((10)(0)((01)(((0)(1)( (0))))))|((1000)(1)((10)((()(1)((0)))))))))|((10000100101111)(0)((110001) (((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|(( 1000010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((() (1)((0)))))))))|((10000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))) )|((0)(1)((10)((()(1)((0)))))))))|((1000010010111101)(1)((001110)((()(0)( (01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((000000110010 1)(0)((010000100101111011)(((010)(0)((000111)(((0)(0)((01)(((0)(1)((0))) )))|((000)(1)((10)((()(1)((0)))))))))|((01000)(0)((100011)(((10)(0)((01)* (((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((010000100101111)(0 )((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)) )))))))|((01000010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1 )((10)((()(1)((0)))))))))|((010000100)(1)((011100)(((01110)(0)((01)(((0) (1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((01000010010111101)(1)((001 110)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|( (000000110)(0)((101000010010111101)(((1010)(0)((000111)(((0)(0)((01)(((0) (1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((101000)(0)((100011)(((1 0)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((1010000 100101111)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)( (()(1)((0)))))))))|((101000010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0 ))))))|(()(1)((10)((()(1)((0)))))))))|((1010000100)(1)((011100)(((01110) (0)((01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|(()(1)((001110 )((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((00 00001100101001000101100001111110011010110)(1)((110100001001011110)(((11010) (0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))) )))))|((1101000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((1 0)((()(1)((0)))))))))|((11010000100101111)(0)((110001)(((110)(0)((01)((( 0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|((1101000010010)(1)((1 11000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))))))| ((11010000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10) ((()(1)((0)))))))))|((1)(1)((001110)((()(0)((01)(((0)(1)((0))))))|((00) (1)((10)((()(1)((0))))))))))))|((000000110010100100010110000111111)(0)((01 1010000100101111)(((011010)(0)((000111)(((0)(0)((01)(((0)(1)((0))))))|(( 000)(1)((10)((()(1)((0)))))))))|((01101000)(0)((100011)(((10)(0)((01)((( 0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|(()(0)((110001)(((110) (0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|((01101000 010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)( (0)))))))))|((011010000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))) )|((0)(1)((10)((()(1)((0)))))))))|((01)(1)((001110)((()(0)((01)(((0)(1)( (0))))))|((00)(1)((10)((()(1)((0))))))))))))|((00000011001010010001011000 01111110011)(0)((101101000010010111)(((1011010)(0)((000111)(((0)(0)((01)( ((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((101101000)(0)((10001 1)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|(( 1)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)(( 0)))))))))|((101101000010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0)))) ))|(()(1)((10)((()(1)((0)))))))))|((1011010000100)(1)((011100)(((01110)(0 )((01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((101)(1)((00111 0)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((0 00000110010100100010110000111111001101)(0)((110110100001001011)(((11011010) (0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))) )))))|((1101101000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1) ((10)((()(1)((0)))))))))|((11)(0)((110001)(((110)(0)((01)(((0)(1)((0))) )))|((11000)(1)((10)((()(1)((0)))))))))|((1101101000010010)(1)((111000)(( (1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))))))|((1101101 0000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10)((()( 1)((0)))))))))|((1101)(1)((001110)((()(0)((01)(((0)(1)((0))))))|((00)(1) ((10)((()(1)((0))))))))))))|((00000011001010010001011000011111100110101101 11010)(0)((111011010000100101)(((111011010)(0)((000111)(((0)(0)((01)(((0) (1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((11101101000)(0)((100011) (((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((11 1)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)(( 0)))))))))|((11101101000010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0)) ))))|(()(1)((10)((()(1)((0)))))))))|((111011010000100)(1)((011100)(((0111 0)(0)((01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((11101)(1)( (001110)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0)))))))))) ))|((000000110010100100010110000)(1)((111101101000010010)(((1111011010)(0)( (000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))) )|((111101101000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)(( 10)((()(1)((0)))))))))|((1111)(0)((110001)(((110)(0)((01)(((0)(1)((0))) )))|((11000)(1)((10)((()(1)((0)))))))))|(()(1)((111000)(((1110)(0)((01)( ((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))))))|((1111011010000100)(1)((0 11100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))) )|((111101)(1)((001110)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1 )((0))))))))))))|((0000001100101001000101100)(0)((011110110100001001)(((01 111011010)(0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10)((()( 1)((0)))))))))|((0111101101000)(0)((100011)(((10)(0)((01)(((0)(1)((0)))) ))|((1000)(1)((10)((()(1)((0)))))))))|((01111)(0)((110001)(((110)(0)((01) (((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|((0)(1)((111000)( ((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))))))|((011110 11010000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10)( (()(1)((0)))))))))|((0111101)(1)((001110)((()(0)((01)(((0)(1)((0))))))|( (00)(1)((10)((()(1)((0))))))))))))|((0000001100101001000101100001111110011 01011011101001)(1)((101111011010000100)(((101111011010)(0)((000111)(((0)(0 )((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((101111011010 00)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0 )))))))))|((101111)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000) (1)((10)((()(1)((0)))))))))|((10)(1)((111000)(((1110)(0)((01)(((0)(1)((0 ))))))|(()(1)((10)((()(1)((0)))))))))|(()(1)((011100)(((01110)(0)((01)( ((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((10111101)(1)((001110) ((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((0000 001100101001000)(1)((010111101101000010)(((0101111011010)(0)((000111)(((0) (0)((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((0101111011 01000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1) ((0)))))))))|((0101111)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11 000)(1)((10)((()(1)((0)))))))))|((010)(1)((111000)(((1110)(0)((01)(((0)( 1)((0))))))|(()(1)((10)((()(1)((0)))))))))|((0)(1)((011100)(((01110)(0)( (01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((010111101)(1)((0 01110)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0)))))))))))) |((000)(0)((001011110110100001)(((00101111011010)(0)((000111)(((0)(0)((01) (((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|((0010111101101000)( 0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0))) ))))))|((00101111)(0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1 )((10)((()(1)((0)))))))))|((0010)(1)((111000)(((1110)(0)((01)(((0)(1)((0 ))))))|(()(1)((10)((()(1)((0)))))))))|((00)(1)((011100)(((01110)(0)((01) (((0)(1)((0))))))|((0)(1)((10)((()(1)((0)))))))))|((0010111101)(1)((0011 10)((()(0)((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|(( 0000001100101001000101100001111)(1)((100101111011010000)(((100101111011010) (0)((000111)(((0)(0)((01)(((0)(1)((0))))))|((000)(1)((10)((()(1)((0)))) )))))|((10010111101101000)(0)((100011)(((10)(0)((01)(((0)(1)((0))))))|((1 000)(1)((10)((()(1)((0)))))))))|((100101111)(0)((110001)(((110)(0)((01)( ((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))))|((10010)(1)((111000) (((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)((()(1)((0)))))))))|((100) (1)((011100)(((01110)(0)((01)(((0)(1)((0))))))|((0)(1)((10)((()(1)((0)) )))))))|((10010111101)(1)((001110)((()(0)((01)(((0)(1)((0))))))|((00)(1)( (10)((()(1)((0))))))))))))|((000000110010100100010110000111111001101011011 )(1)((010010111101101000)(((0100101111011010)(0)((000111)(((0)(0)((01)((( 0)(1)((0))))))|((000)(1)((10)((()(1)((0)))))))))|(()(0)((100011)(((10)(0 )((01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((0100101111) (0)((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0) ))))))))|((010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)(( 10)((()(1)((0)))))))))|((0100)(1)((011100)(((01110)(0)((01)(((0)(1)((0)* )))))|((0)(1)((10)((()(1)((0)))))))))|((010010111101)(1)((001110)((()(0)( (01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((0000001)(1)( (001001011110110100)(((00100101111011010)(0)((000111)(((0)(0)((01)(((0)(1 )((0))))))|((000)(1)((10)((()(1)((0)))))))))|((0)(0)((100011)(((10)(0)(( 01)(((0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((00100101111)(0 )((110001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)) )))))))|((0010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((1 0)((()(1)((0)))))))))|((00100)(1)((011100)(((01110)(0)((01)(((0)(1)((0)* )))))|((0)(1)((10)((()(1)((0)))))))))|((0010010111101)(1)((001110)((()(0) ((01)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0))))))))))))|((00000011001 0100)(1)((000100101111011010)((()(0)((000111)(((0)(0)((01)(((0)(1)((0))) )))|((000)(1)((10)((()(1)((0)))))))))|((00)(0)((100011)(((10)(0)((01)((( 0)(1)((0))))))|((1000)(1)((10)((()(1)((0)))))))))|((000100101111)(0)((110 001)(((110)(0)((01)(((0)(1)((0))))))|((11000)(1)((10)((()(1)((0)))))))) )|((00010010)(1)((111000)(((1110)(0)((01)(((0)(1)((0))))))|(()(1)((10)(( ()(1)((0)))))))))|((000100)(1)((011100)(((01110)(0)((01)(((0)(1)((0))))) )|((0)(1)((10)((()(1)((0)))))))))|((00010010111101)(1)((001110)((()(0)((0 1)(((0)(1)((0))))))|((00)(1)((10)((()(1)((0)))))))))))))
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] David Barina. Convergence verification of the collatz problem. The Journal of Supercomputing , July 2020. https://doi.org/10.1007/s 11227-020-03368-x . Ā· doiĀ ā
- 2[2] Jacek Blazewicz and Alberto Pettorossi. Some properties of binary sequences useful for proving collatzās conjecture. Foundations of Control Engineering , 8, 01 1983.
- 3[3] M. Bruschi. Two cellular automata for the 3x+1 map, 2005. ar Xiv:ar Xiv:nlin/0502061 .
- 4[4] Jose Capco. Odd Collatz Sequence and Binary Representations. Preprint, https://hal.archives-ouvertes.fr/hal-02062503 , March 2019.
- 5[5] Thoma Cloney, Eric Goles, and Gerard Y Vichniac. The 3x+ 1 problem: a quasi cellular automaton. Complex Systems , 1(2), 1987.
- 6[6] Livio Colussi. The convergence classes of Collatz function. Theor. Comput. Sci. , 2011. URL: https://doi.org/10.1016/j.tcs.2011.05.056 , doi:10.1016/j.tcs.2011.05.056 . Ā· doiĀ ā
- 7[7] J.H Conway. Unpredictable iterations. Number Theory Conference , 1972.
- 8[8] OEIS Foundation. The Online Encyclopedia of Integer Sequences. A 083667 , 2020.
