{'fraction_non_alphanumeric': 0.043347584300363236, 'fraction_numerical': 0.010157832138609406, 'mean_word_length': 4.239053553384978, 'pattern_counts': {'":': 0, '<': 2, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 12, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Growth Functions, Rates and Classes of String-Based Multiway Systems

In context of the Wolfram Physics Project, a certain class of abstract rewrite systems known as"multiway systems"have played an important role in discrete models of spacetime and quantum mechanics. However, as abstract mathematical entities, these rewrite systems are interesting in their own right. This paper undertakes the effort to establish computational properties of multiway systems. Specifically, we investigate growth rates and growth classes of string-based multiway systems. After introducing the concepts of"growth functions","growth rates"and"growth classes"to quantify a system's state-space growth over"time"(successive steps of evolution) on different levels of precision, we use them to show that multiway systems can, in a specific sense, grow slower than all computable functions while never exceeding the growth rate of exponential functions. In addition, we start developing a classification scheme for multiway systems based on their growth class. Furthermore, we find that multiway growth functions are not trivially regular but instead"computationally diverse", meaning that they are capable of computing or approximating various commonly encountered mathematical functions. We discuss several implications of these properties as well as their physical relevance. Apart from that, we present and exemplify methods for explicitly constructing multiway systems to yield desired growth functions.


Introduction and Overview
In 2019, Stephen Wolfram et. al. launched the Wolfram Physics Project [11] as a new attempt to find a fundamental theory of physics (see [25] and [24] for a general overview and [21] for a technical introduction, as well as the glossary of [7] as a reference for terminology used in this paper). The Wolfram Models, discrete spacetime formalisms generalising models first introduced by Wolfram in [22], have been found to be significantly meaningful in a theoretical physics context, showing various connections to known theories of relativity, gravity and quantum mechanics [6][5] [7].
In the project, a type of abstract rewriting systems (see definition 1 in [5], as well as [3] and [4] for more complete references) equipped with causal relations between their elements has been called "multiway systems" (definition 10 in [5]) and shown to be connected to many physical properties of our universe. Additionally, various links between multiway systems and group theory [1], homotopic type theory [2], category theory [7], numerics of partial differential equations [13] and the theory of theorem proving ( [22] p. 775 ff.), as well as the study of complex systems, computational complexity and emergence ( [21] p. 204, 939) have been established, showing that these systems are relevant and interesting from a mathematics or computer science perspective as well. While in the physical framework of the actual Wolfram Model (see section 2 in [6] for a formal definition), hypergraph-based 1 multiway systems have been used, we consider string-based multiway systems instead since they are more fundamental because of their simpler structure. Most likely, our results generalise easily to hypergraph-based multiway systems. In any case, they yield significant new insights into the general principles underlying these systems.
Although our investigations are rather theoretical and aim at laying a mathematical foundation for understanding the structure of multiway systems in themselves, we comment on several potential applications in the Wolfram Physics Project in section 4 and demonstrate our general result by computational simulations of specific examples. Our visualisations have been made using Mathematica and all code for simulating multiway systems is available in the Wolfram Functions Repository [12]. Readers interested in running simulations and visualisations themselves may find the computational quick-start guide 2 and the documentation of the MultiwaySystem resource function [8] to be useful references.
The subsequent subsections start by formally defining what we mean by multiway system growth functions, rates and classes. Next, we investigate the boundaries of possible growth rates and find that multiway systems are, simply put, bounded in the speed but unbounded in the slowness of their growth rate (theorem 2.1). After that, we show that the growth classes of multiway systems we defined cover the entire set of multiway systems and apart from one trivially empty class, all of them contain infinitely many multiway systems (theorem 3.1). To do this, we define arithmetic-like operations equipping the set of multiway systems with a semiring structure. Combing the two theorems, we conclude various interesting properties of the "computational diversity" and "-complexity" of multiway systems, showing that their growth functions constitute an interesting domain of further research.

Multiway Growth Functions
Consider a string-based multiway system M (definition 10 in [5]), represented as a triplet (R, s init , Σ) where Σ is a finite alphabet, R = {r 1 → t 1 , . . . , r n → t n } is a set of string replacement rules over Σ and s init ∈ Σ * is the initial string 3 . We define the "state-set of generation n" as the set of all new (previously nonexistent) states added to the multiway system in its n-th generation. These states are precisely the nodes of the states graph (c. f. section 5.3 in [21]) to which the shortest path from the initial state has length n. In [21] they are called "merged states". Now, the "growth function 4 " g M (n) is simply the cardinality of the state-set of generation n. In general, it is very hard or even undecidable (see section 3.3) to prove that some multiway system has a certain growth function. It is also not obvious that the growth functions of multiway systems should be elementary functions or "simple" by any other definition. Examples of systems where the growth function is hard to describe were already given in "A New Kind of Science" ( [22] pp. 204 ff.). Therefore, we will approximate the growth functions of multiway systems by continuous, strictly monotonically increasing, unbounded (and hence bijective on R ≥0 ) functions which can be analysed more easily. This way, many similar growth functions will be considered members of the same equivalence class. We will say that the corresponding multiway systems have the same "growth rate".

Multiway Growth Rates
To formalize the notion of approximating functions, we use the asymptotic growth classes from complexity theory, defined in the following way: For a function f : A → B where A = B = R ≥0 or A = B = R, O(f ) is defined as the set of functions g : A → B for which lim sup x→∞ | g(x) f (x) | exists and is a real number 5  = Ω(f )∩O(f ). It is straightforward to show that f ∼ Θ g ⇐⇒ f ∈ Θ(g) is an equivalence relation. Thus, we may speak of functions that are "asymptotically equal".
As mentioned above, we want to approximate growth functions by bijective functions for the subsequent mathematical analysis. For some multiway growth function a, we will define the sequences a and a as its tightest upper and lower bounds which are monotonically increasing, even if a itself is not monotonic at all. From these sequences, we will then construct two equivalence classes of continuous functions which are all asymptotically equal to and hence "close approximations" of a or a respectively. Two representatives of these classes will be called "tight bounds" and, since we are generally concerned with unbounded growth functions 6 , both bijective on R ≥0 . Notice that we have only defined asymptotic growth classes for functions on R or R ≥0 . However, since the multiway growth function is always a function on N + , we consider its linear interpolation, a continuous function from R ≥0 to R ≥0 which is equal to the sequence for natural arguments and always bounded by consecutive values of the sequence (see definition 2.2), instead.
Definition 1.1. Let M be a multiway system and g M its growth function. We call M "finite" if ∃n ∈ N + : g M (n) = 0 (as this implies that at a certain point, no further states will be added). We call M "bounded" if ∃b ∈ N + : ∀n ∈ N + : g M (n) ≤ b and M is not finite. Systems which are neither finite nor bounded are called "unbounded". Notice that ∀n ∈ N + : g M2 (n) = 1, despite the fact that the rule can be applied in many different positions, because we are only considering merged states.
Note: Only f and g are continuous, the other lines are drawn for visual appearance.
One might ask why we introduce an upper and a lower bound instead of approximating the growth function with a single function. Doing so would however be a poor approximation as there are multiway systems for which even the tightest upper and lower bounds are never in the same asymptotic growth class (compare figure 4). We will call these multiway systems "strongly oscillating" and all others (i. e. systems where all tight bounds are asymptotically equal) "regular". Notice that for every regular multiway system, a pair of bijective tight bounds exists because its tight bounds will be in the asymptotic equivalence class of two unbounded strictly monotonically increasing functions and tight bounds are continuous on R + . Strongly oscillating systems on the other hand are much more difficult to analyse since one cannot easily come up with criteria for measuring the rate of oscillation and it is not clear at all whether there has to be any periodicity or regularity in the way in which they oscillate. Thus, for our basic investigations about the fundamental structure of multiway systems, we shall focus on regular systems. Figure 4: For this special system, one can prove (see section 3.3 for an explanation) the tight bounds f, g to be in different asymptotic growth classes: f ∈ Θ(x) and g ∈ Θ(x 2 ). Note again that only f and g are continuous while a n is drawn as a line for visual appearance. Definition 1.2 suggests a natural way to define classes of multiway systems with "similar" growth functions by considering growth functions with approximately equal tight bounds as equivalent. Let f, g : N + → N + be functions and (a 1 , b 1 ), (a 2 , b 2 ) be tight bounds of f and g respectively. We define . Since tight bounds always exist, ∼ R is an equivalence relation because ∼ Θ is one. For some multiway system M with growth function g M , we call the equivalence class of ∼ R that g M falls into the "growth rate" of g M (or sometimes the growth rate of just M ).
It is obvious that every multiway system has exactly one growth function and exactly one growth rate. The converse, i. e. that every function f : N + → N + is the growth function of some multiway system or, respectively, that every pair of bijective functions on R ≥0 is a pair of tight bounds of some multiway growth function, is clearly not true as emphasized in lemma 2.1. However, if we define much more general classes of growth functions which we will call "multiway growth classes", we will see (in theorem 3.1) that they indeed partition the set of all multiway systems into a finite set of infinite subsets.

Multiway Growth Classes
To further distinguish between types of multiway systems on a more abstract level and demonstrate which kinds of growth functions can be achieved, we want to define very broad classes of multiway systems whose growth functions show similar behavior on a large scale. We have already distinguished between finite, bounded and unbounded systems, as well as dividing the latter into regular and strongly oscillating systems. As outlined above, we will focus on regular systems. To group these into sets of systems of similar behavior, we use commonly known classes of functions such as polynomial or exponential functions 7 , intermediately (faster than polynomial and slower than exponential) growing functions and some others.
More precisely: Let G pol be defined as the set of all continuous bijections f : where f must be continuous and bijective. Additionally, denote by G int the set of all continuous bijections f : These eight sets give a partition of the set of all continuous bijections on R ≥0 because a function grows either slower than f : x → x in which case its inverse grows faster than f , or it grows faster (or equal to) f in which case it is contained in one of the first four classes. We call a multiway system a member of the growth class C i if its growth function has tight bounds f, g belonging 8 to G i . However, as definition 1.2 is not applicable for finite or bounded multiway systems, we handle them separately.
Let C fin and C bnd the sets of all finite and bounded multiway systems respectively. For all multiway systems in C fin ∪C bnd , the growth rate is defined to be (1, 1). While finite and bounded systems can have quite an intricate structure 9 , their growth functions are not very interesting for our purposes. They might be useful for applications not directly related to the Wolfram Physics Project, but in this paper, they will not be discussed in great detail.
As every continuous bijection on R + belongs to exactly one of the G i , every multiway system one can imagine is either strongly oscillating or in one of those classes (including C fin and C bnd ). We will furthermore show in theorem 3.1 that every of these classes (except C supexp which is empty by lemma 2.1) contains infinitely many multiway systems.
Summarizing the previous section, we introduced the three main concepts of multiway growth functions, multiway growth rates and multiway growth classes. We will now present the first important result of this paper, a theorem about the boundaries of possible growth rates, and spend the next section proving and illustrating it.

The Spectrum of Possible Growth Rates
Having defined multiway growth rates, we might ask ourselves, which growth rates are possible, i. e. how the equivalence classes of ∼ R are distributed in the set of all possible pairs of bijective functions on R ≥0 . First of all, it is quite easy to give an upper bound for growth rates that can be achieved. In fact, no multiway system can grow faster than exponentially.
Lemma 2.1. Let (f, g) be the growth rate of some multiway system. There exists some constant c ∈ R for which f, g ∈ o(e cx ).
Proof. Denote by s max (n) the maximum string length that states of generation n can have. For every multiway system M = (R, s init , Σ), the set of rules remains constant during the whole evolution, so s max can at most increase constantly, i. e. s max ∈ O(n). Since the number of words with length l is given by |Σ| l , the growth function g M (n) will never exceed |Σ| smax(n) = e ln(|Σ|)smax(n) ∈ Θ(e cn ) and the claim follows.
So what about a lower bound for multiway growth rates? Formally, a trivial multiway system with no rules and thus only one state has the lowest possible growth function by point-wise value comparison. In general, "terminating" or "constant" asymptotic growth functions of finite or bounded multiway systems (which have the growth rate (1, 1)) are the slowest by means of asymptotic comparison 10 , but examples like this are not very illuminating. Therefore, we might ask what the slowest growth rate faster than constant is, i. e. what the smallest (by asymptotic comparison) functions f, g ∈ ω(1) are, for which (f, g) is the growth rate of some multiway system. It turns out however, that no such smallest growth rate exists which means that multiway system can, in a certain sense, grow arbitrarily slowly.
To understand why this is the case and make the even stronger statement that multiway systems can grow slower than all computable functions (see corollary 2.1.2), we need to introduce a couple of constructions. First of all, we will show how multiway systems can emulate Turing 8 This definition applies only to regular multiway systems 9 In fact, what seems to be "complex behavior" in a "New Kind of Science"-fashion (compare [22]), occurred much more frequently in our empirical investigations of finite systems but this might just indicate a lack of understanding. 10 "Asymptotic comparison" refers to the total ordering ≤O defined by f ≤O g ⇐⇒ f ∈ O(g) machines, meaning there are systems such that the successive states of their evolution correspond to steps in the machine's evaluation. Phrased differently, it is possible to construct a multiway system which has exactly one new state for T (n) steps where T (n) is the number of operations that a certain Turing machine T carries out before halting when provided with the input n. Such a machine, with some additional constraints, will be called a "T -halter" and T its "halting function".
By adding some specific rules to the multiway system that emulates T , it will be possible to evaluate T indefinitely for increasing inputs n = 1, 2, . . . . Additionally, the multiway system will be constructed in a way such that every time, the underlying Turing machine is "started again" on the next input, the number of new states per time step is increased by one. This way, we will obtain a growth function informally described by the sequence "n occurs T (n) times" (see definition 2.1), for example the sequence "n occurs n times", which would be given by 1 . . We will then show that this growth function is approximated by the inverse of the linear interpolation (see definition 2.2) over the summatory function of T (see lemma 2.2). From this we conclude the following theorem: Theorem 2.1. Let T ∈ Ω(n) be the halting function of some Turing machine. There is a multiway system with growth rate (a, b) such that a, b ∈ O(T −1 * ) where T * (x) = L N + ( n k=1 T (k)) and L N + denotes the linear interpolation over N + (see definition 2.2). 1. The theorem asserts that there is a multiway system for which the growth rate (f, g) is asymptotically less than T −1 * (x).

Proof of Theorem 2.1
Now let us formalize the proof outlined above. For some function T : N → N, we define a "Thalter" to be a Turing machine T such that T executes precisely T (n) operations when given the input n, taking into account the input and output constraints depicted in figure 6a. These constraints will later allow us to "enchain" the multiway systems corresponding to T -halters. Of course, neither is there a T -halter for arbitrary T nor must there be a unique T -halter for a given T . However, and this is the part we care about, there is a T -halter such that T ∈ Ω(f ) for any computable function f because we can just take the Turing machine that computes f and add some logic to write n + 1 after the computation is finished.
Having defined T -halters, the next step is to show how multiway systems can emulate these (and all other Turing machines). Since we are talking about deterministic Turing machines, no branching shall occur in the corresponding multiway system, i. e. the system should have exactly one state in generation n which corresponds to the state of the Turing machine after n − 1 operations. Because at every state in the machine's evolution only a finite part of the tape contains non-blank symbols, we include only the symbols already "touched" by the machine (meaning the head was on that symbol at least once) in the states of the multiway system and abbreviate the infinite strings of zeros on both sides of the tape with an underscore. The position and state of the head are indicated by an H right of the symbol the head is currently on, followed by the current state number. Hence, there are four additional symbols (two underscores, an H and a number) used in the multiway system but not written on the machine's tape (see figure  6b).
(a) T is always started on an empty tape containing only n in unary representation. After halting, T is required to have written n + 1 in unary on the tape and placed its head onto or left of the first digit. The number n + 1 must be preceded and followed by at least one empty symbol.  Using this representation, plain read/write operations and state changes would be straightforward to implement as replacement rules, as we could just introduce a rule 11 "xHn" → "yHm" for every combination of currently read symbol x and head state n. However, since the head must move left or right after each such operation, those rules are not suitable. What is needed instead to encode the operation "when x 1 is read in state n, write y 1 , change state to m and move the head right", is a rule of the form "x 1 Hnx 2 " → "y 1 x 2 Hm" for every possible value of x 2 . Similarly, a left move of the head is encoded as "x 2 x 1 Hn" → "x 2 Hmy 1 ". If n is not a halting state (in which case we would not need any rules), exactly one of these two rule patterns will be applicable for every possible value of x 1 or, respectively, every state transition arrow starting at H in the state transition diagram.
For a Turing machine with N states working on an alphabet of S symbols, that already gives a worst-case (no halting states) of N · S 2 rules in the corresponding multiway system. However, N · S (worst-case) more rules have to be added to handle the literal "edge cases" in which the head is next to one of the underscores bounding the tape. The two rule patterns, of which, as before, exactly one will match for every state transition arrow, are " xHn" → " 0Hmy" for a left move and "xHn " → "y0Hm " for a right move (in both cases x is read and y written). Now, the resulting rule set captures all of the Turing machine's properties and is able to extend the tape to any required length by itself. As an initial state of the multiway system to emulate the machine, any string of characters from the machines alphabet together with an "Hs" where s is the starting state and the two bounding underscores can be used.
The arrow labels indicate "read, write, move".
(b) States graph of the multiway system constructed from T1 (see below). Now it is clear that a multiway system emulating some T -halter T has exactly one state for T (n) generations when started with the initial condition " 1H11 n−1 " (1 n−1 denotes n − 1 times the symbol 1, the first 1 is left of the head and the head starts in state 1). Now, we need a way to "enchain" this multiway system with itself. To achieve this, first add the rules "Hf " → "X" for every halting state f where X is one fixed symbol not contained in T 's alphabet. These additional rules will cause the multiway state in generation T (n) + 1 to look like " w 1 01X1 n 0w 2 " 12 where w 1 and w 2 are arbitrary words that might be created as byproducts in the working of T . This is due to the T -halter constraints depicted in figure 6a or, rather, the T -halter constraints were chosen precisely to cause such a configuration of the tape.
Adding the rules "X1" → "1X", "X0" → "Y 0", "1Y " → "Y 1" and "0Y 1" → "0 1H1" will cause exactly one state where the X has "moved" one position to the right for n generations (first rule), then add an underscore behind the n ones (second rule), "move back to the left" using the Y for n + 1 generations (third rule) and finally add an underscore at the left side, replacing Y by the starting state symbol "H1" of T (see figure 7b). Now, the whole process can start again because the new underscores ensure a "fresh" new tape for T which now contains, by the T -halter constraints, n + 1 as the next input for T to continue with while everything outside the bounding underscores will be ignored. The resulting multiway system of this continued re-evaluation of T will run indefinitely, subsequently running instances of T with larger and larger values of n. Despite that, it still has only one state in all generations. In order to make the number of states increase exactly when n increases, i. e. some instance of T finished working, we add the rules "0Y 1" → "Z" and "Z" → "ZZ". This way, the multiway states graph branches every time the system starts a new instance of T into a main branch where the evaluation of T continues and a diverging branch where the second rule just creates longer and longer strings of Z's forever, constantly adding one new state to every generation. Thus, the number of divergent branches is always equal to n − 1 and these branches grow constantly forever, causing the desired behavior as shown in figure 7b.
As it takes a "preparation time" of p(n) = 2(n + 1) + 1 steps (the head moves over n + 1 symbols 13 , including the new 1) before the n + 1-th iteration of T can start after the n-th iteration is done, there will be n states for T (n) + p(n) steps in the multiway system constructed above, before the number of states increases by one. Let us generally investigate the sequences obtained this way: Definition 2.2. Let f : N + → N + be a function and S ⊆ N + an infinite set. The "linear interpolation of f over S", denoted L S (f ), is defined as the polygonal chain starting at (0, 0) and passing through all points (n, f (n)), n ∈ S ordered by n.  Since definition 2.1 requires f to be always greater than zero, every natural number can be represented as some sum over consecutive values of f plus a remainder and, as figure 8a shows, this definition indeed matches the informal description of "n occurs f (n) times". Notice as well that the linear interpolation, despite being defined as a curve in R 2 , can be regarded as a continuous function from R ≥0 to R ≥0 because for all n ∈ S, the function to be interpolated assigns precisely one y-value and since S is an infinite subset of N, the linear interpolation function is defined everywhere on R ≥0 . Now, to express some sequence A f explicitly, define the set of increase-indices of A f as will always be strictly monotonically increasing and unbounded. Therefore, its inverse function L I(A f ) (A f ) −1 exists and we can formulate the following lemma: Proof. For readability, let T σ be the function n . By definition 2.2, the linear interpolation of a function equals that function on the interpolation set, so 13 If the head starts at the left of the first digit instead, the formula is p(n) = 2(n + 2).
For values x ∈ (n, n + 1), n ∈ N, the linear interpolation gives Letting y = ψ(x), we know that for some y 1 , y 2 ∈ I(A f ) where y 1 < y < y 2 and y 1 , y 2 are the values in I(A f ) closest to y. Since ψ is strictly monotonically increasing, y 1 and y 2 must be given by ψ(n) and ψ(n + 1) respectively. Thus, Putting it all together, we conclude from the previous Turing machine investigation that for every halting function T ∈ Ω(n), there is a multiway system which has the growth function g M (n) = A T +p (n) for some p ∈ Θ(n). Additionally, as p "delays" the growth function even more 14 , i. e. ∀n ∈ N + : A T +p (n) ≤ A T (n), it follows that by lemma 2.2, which proves theorem 2.1.

Applications of Theorem 2.1
Computing linear interpolations and their inverse functions seems hard to do analytically because in most cases, there are no elementary closed-form expressions describing them. Therefore, it might seem difficult to actually apply theorem 2.1. However, since we are only interested in growth rates, we can use approximations to make calculations much more easy.
Proof. Because g is continuous and takes the same values as f for natural arguments, we know that ∀n ∈ N + : ∀x ∈ (n, n + 1) : f (n) ≤ g(x) ≤ f (n + 1). Using the fact that the linear interpolation equals the function for natural arguments, this equation becomes for values y ∈ (y 1 , y 2 ) where y 1 = f (n) and y 2 = f (n + 1). Expanding out gives which means that the difference of g −1 (y) and L N + (f ) −1 (y) is always bounded by 1. Therefore, Whenever it is possible to express some halting function in a closed form (e. g. T : N + → N + , n → 2n 2 + 3n) which could also describe a bijective function on R ≥0 (like f (x) = 2x 2 + 3x), we can use the lemma above to simplify calculations: Since f is monotonically increasing and the linear interpolation equals the summatory function for natural arguments, we have Therefore, lemma 2.3 tells us that we can approximate the inverse of the summatory function used in theorem 2.1 just by computing the inverse of the integral of f . Especially in the case of logarithms or exponential functions, solving integrals is much easier than computing sums, so this lemma can be very useful.
To demonstrate this and assist the proof of theorem 3.1, let us imagine we wanted to construct a multiway system of logarithmic growth rate. We can approach this problem by designing a T -halter for some T exp ∈ Θ(2 n ) and implementing the construction described in section 2.1 to get a multiway system with the inverse growth rate. As an example, take the Turing machine T exp shown in figure 9. It is started in state 1 which simply moves the head to the right end of the word on the tape and changes to state 2. In this state, the head moves left again, replacing 2's by 1's until it encounters a 1, which it changes to a 2 and returns to state 1, repeating the process. It is easy to see that this is precisely the process of incrementing a binary number where 1 corresponds to a zero and 2 to a one. The process is repeated until the head moves to the left of the word, which, by then, consists only of 1's since the previous string was the symbol 2 repeated n times. When the head encounters the first blank symbol on the left, it writes one more 1 to satisfy the T -halter constraint of incrementing the unary number, and then halts. The process is shown in figure 9 for n = 3.
steps before the head is at the right of 1 n and in state 1. Since the machine takes n + 2 steps to move to the left again, write the new 1 and halt, as well as taking n steps to move the head to the right in the first place, the total number of states, including starting and halting state, simplifies to T exp (n) = 2n + 3 + 2 n+2 − 2n − 4 = 2 n+2 − 1.
From this, we know ( x 0 l(t) dt) −1 ∈ Θ(log 2 (x)) because the upper and lower bound asymptotically equal log 2 (x). By lemma 2.3 and equation 7, ( x 0 l(t) dt) −1 is also in Θ(L I(A Texp ) (A Texp )) and we can conclude that A Texp ∼ Θ log 2 (x). Simulating the multiway system and measuring the growth function empirically supports this as figure 10 shows. In future examples, most steps of the argumentation presented here can be shortened. However, this method of estimation does not work in all cases because the inverse bounds might not accurate enough to be asymptotically equal 15 . Figure 10: The growth function of the multiway system emulating T exp is bounded by log 2 (x) and 1 2 log 2 (x), demonstrating that it is in Θ(log 2 (x)).

Implications of Theorem 2.1
What we have seen in the above example is just a simple demonstration of the power of theorem 2.1. Besides from helping us later to prove theorem 3.1, it tells us a lot about the abstract structure of multiway growth function, their "growth spectrum". By providing the following two corollaries, theorem 2.1 gives us knowledge about what this spectrum of possible growth rates looks like, i. e. which kinds of growth rates are possible and which kinds are not. In addition to that, it establishes connections between multiway growth functions and other classes of functions, namely computable functions and primitive recursive functions. Proof. Since f is computable, there exists some Turing machine computing f (n) when given n. If we require the machine to read and write in-and output in unary coding, computing f (n) must take T (n) ≥ f (n) steps simply because writing the result takes that long. Now, let g : R ≥0 → R ≥0 be a bijective tight lower bound of T . As T ∈ ω(1), T is unbounded so g always exists. From g(x) ≤ T (x), it follows that g −1 (x) ≥ T −1 (x) and by theorem 2.1, there is a multiway system for which the growth function has tight bounds a, b ∈ O(g −1 ) ⇒ a, b ∈ O(f −1 ) for some asymptotic inverse of f . Corollary 2.1.2. For every computable function f : N → N, f ∈ ω(1), there is a multiway system with growth rate (a, b) such that a, b ∈ o(L N + (f )).
Proof. The function L N + (f ) (for the upper bounding sequence f from definition 1.2) is always greater than or equal to f , asymptotically equal to f and computable (because equal to f ) on the set of increase-indices I(f ). Therefore, f −1 is a computable function on N + and so is . Using corollary 2.1.1, this gives us a way to construct a multiway system with a growth rate in O(g −1 ) = O( L N + (f )) which is definitely in o(L N + (f )).
This quite remarkable fact also shows that for every multiway system growing faster than a bounded function, a more slowly growing multiway system exists because the growth function of every multiway system is obviously computable. We might therefore say that multiway systems can grow arbitrarily slowly, i. e. the set of regular multiway systems excluding constant and finite systems is "open" in some sense. Remember however that they cannot grow arbitrarily quickly as shown in lemma 2.1.

Computational Capabilities of Growth Functions
After marking out the boundaries of the space of possible growth rates, we shall investigate its underlying structure. First of all, we will see that it contains no "holes", i. e. all of the multiway growth classes defined in section 1.3 (except C supexp which we have already shown to be empty and just defined for completeness) are non-empty and, furthermore, contain infinitely many systems. In addition, we will have some insights into which functions are "multiwaygrowth-computable" and "multiway-growth-approximable". We say, a function f : N + → N + is multiway-growth-computable if there is a multiway system M such that ∀n ∈ N + : g M (n) = f (n) and we call a function f : R ≥0 → R ≥0 multiway-growth-approximable if there is a multiway system M such that f ∼ Θ L N (g).
First, we will define two operations, "multiway addition" and "multiway multiplication" which will enable us to combine systems into more complex ones of which the growth function is computable immediately from the growth functions of the parts. These two fairly simple operations will be sufficient for demonstrating that multiway growth functions are interesting from an algebraic point of view as well as regarding questions of their computational capabilities (see section 3.3). Still, some basic multiway systems have to be constructed without using these operations as the building blocks of further systems. Combining the multiway operations and specifically constructed systems will then yield the following theorem and several other interesting results: Theorem 3.1. The classes C pol , C int , C exp , C invpol , C invint , C invexp , C invsupexp , C fin and C bnd partition the set of regular multiway systems into infinite subsets.
To calculate the growth functions of systems obtained by these operations, we shall require the parts M 1 and M 2 to be "rule independent" meaning that their rules do not interfere with each other. Formally, rule independence can be defined as the property that the states graph of M 1 is isomorphic to the states graph of (R 1 ∪ R 2 , s 1 , Σ 1 ∪ Σ 2 ), that is M 1 with all rules of M 2 added, and vice versa 17 . This property can always be achieved by requiring the underlying alphabets to be disjoint as in this case it will be impossible that a given string matches rules from R 1 and R 2 at the same time.
If we recall the definition of growth function g M (n) as the number of nodes to which the shortest path from the initial state has length n, it is easy to see that the growth function of M 1 ⊕ M 2 is one in the first iteration as "X" is the only state. In further iterations, we can imagine a path of length n simply as a path of length 1 entering either the states graph of M 1 or M 2 , followed by a path of length n − 1 originating at some state in the second layer of the chosen subgraph, as if the other graph was not there. This works because in the entire evolution, the initial state is the only one containing an X so for all other states, the usual rules will apply and the rules replacing X will have no effect. This concludes that the growth function of the sum system is precisely  since otherwise more edges could be added due to rule matches overlapping between the M 1and M 2 -parts of the string or rules of one system getting applied to states of the other one.
To obtain the number of nodes reachable in this Cartesian product graph, we might without loss of generality first traverse a path of length k in the "pure M 1 -part" (i. e. the second half of the string is still s 2 ) and then take n − k steps through the "pure M 2 -part". For the first subpath, we have g M 1 (k) options by definition of the growth function. This gets multiplied by the g M 2 (n − k) choices for the second subpath. Since we can choose k freely, the resulting total count of nodes in the product graph is given by where we set g M 1 (0) = g M 2 (0) = 1 for convenience. For these two formulae, we have assumed the systems to be rule independent. For systems where this is not the case, they still give lower bounds of the combined systems growth rate since, generally speaking, in any system, the number of edges and nodes of the states graph can only remain constant or be increased when new rules are added. This might sound surprising as one could imagine "deletion rules" but rules that cause fewer rules being applied in the future do this only in newly added branches of the states graph (or not at all) not affecting the already existent graph. To make systems rule independent, we required the alphabets to be disjoint, however, this is not necessary as any multiway system can be emulated by a system over some binary alphabet so we can always make the alphabets of M 1 and M 2 equal. Proof. To show this we will perform a "translation" from M to M , i. e. replace every symbol in Σ by a word over {a, b} using some bijection f : Σ → T ⊂ {a, b} * . By altering not only s but also all rules, any word w ∈ Σ * matched by some rule in R will correspond to the translated word in w ∈ T being matched by a rule in R . Additionally, one must ensure that no two words in T can overlap since otherwise, the rules could match in more places than before. Since there exist non-overlapping codes of arbitrary length, we can use these as elements in T so there always exists some f with the required properties. Thus, the actions of the rules on the states will be equal and isomorphic states graphs will be created. Now, let us consider the algebraic properties of our multiway operations. We declare two multiway systems to be isomorphic (written M 1 ∼ = M 2 ), if and only if their states graphs are isomorphic. Isomorphic multiway systems always have equal growth functions. In the following analysis, we consider only the set of different equivalence classes of ∼ =, i. e. the set of all multiway systems up to isomorphism, and denote it by M.
Let M 1 , M 2 , M 3 ∈ M be multiway systems and, without loss of generality, rule-independent. It is easy to see that ⊕ is commutative and associative since set unions are. More interestingly, the system 0 M := ({}, X, {}) is a neutral element of ⊕ since which is isomorphic to (R 1 , s 1 , Σ 1 ) because the X symbol is used only once, acting precisely as s 1 would have and therefore keeping the states graph structure unchanged. The commutativity of is granted because we required M 1 and M 2 to be rule-independent, so the order in which their states are concatenated does not matter because no overlaps where rules could apply on the intersection of M 1 -and M 2 -states can be created. Similarly, is associative, simply because string concatenation is. One can also prove both properties with the commutativity and associativity of the Cartesian graph product. There also is a neutral element of , namely 1 M := ({}, "", {}) or actually any system with no rules since its initial state will just be appended onto every state of the system one is multiplying with and the states graph will not change. Also notice that distributes from the left over ⊕: Thus, we get right distributivity from commutativity and conclude that distributes over ⊕. Therefore, we can conclude that (M, ⊕, ) is a semiring, however with a weakened annihilation property which does not hold in general. As a consequence, their growth functions also form a semiring with weakened annihilation under the operations (g 1 + g 2 )(n) := g 1 (n) + g 2 (n) (with (g 1 + g 2 )(1) defined to be 1) and (g 1 * g 2 )(n) = n k=0 g 1 (k) · g 2 (n − k) (with g 1 (0) = g 2 (0) := 1). This demonstrates the potential of multiway systems to generate quite diverse and intricate growth functions as the two operations can be used to combine systems in various very interesting ways. The next section elaborates on this.

Proof of theorem 3.1
Let us now construct multiway systems in the various growth classes to prove the above theorem 3.1. First, take the product system of a finite "chain"-system M N 1 having one new state for N generations until terminating and a constant system M 2 = ({"A" → "AA"}, "A", {"A"}). After the first N − 1 steps, M N 1 M 2 will have a constant growth function of value N as the first N terms in n k=0 g M 1 (k)g M 2 (n − k) are one and all others zero because M 1 is finite. While this system produces (asymptotically) constant growth functions, it is not suited for multiplying arbitrary growth functions by constants. To achieve the latter, adding some system to itself several times resolves the issue.
The next system to consider, M N 3 , is again given by the rule set {"A" → "AB"} and started on a string of N copies of "A" denoted "A N ". For calculating its growth function, we can represent it differently as the product system of N instances of itself started on a single "A" and thus having the growth rate g 1 M 3 (n) = 1. From this point of view, we can write the growth function of M 3 started on "A N " recursively as One might recognize this as the sequence of (N − 1)-polytopic numbers [18], also known as "figurate numbers", of which the n-th element is given by N −1+n−1 is clearly a polynomial of degree N − 1 and thus asymptotically equal to x N −1 . Now, consider M N 4 = ({"Q" → "Qx i " | i = 1, . . . , N }, "Q", {Q, x 1 , . . . , x N }) for distinct symbols x i . In the n-th step of evolution, it has basically generated all words of length n over the alphabet of all x i . Every node "Qw" (where w ∈ {x 1 , . . . , x N } * ) in the states graph has N outgoing edges to the nodes "Qx i w" for 1 ≤ i ≤ N . Thus, its growth function is precisely g N M 4 (n) = N n allowing the possibility of multiway systems growing like all exponential functions.
A more sophisticated example is the system M N 5 = ( i=1,...,N {"T L" → "T x i R", "RT " → "Lx i T ", "Rx i " → "x i R", "x i L" → "Lx i "}, "T LT ", {"L", "R", "T ", x 1 , . . . , x N }). Similarly to the previous system, L and R work as generators for words over the alphabet {x 1 , . . . , x N } however only on the left and right ends of the word respectively. In every word ever produced by the system, there are exactly two "T " symbols, one at the beginning and one at the end. After generating some new symbol between itself and the "T ", the generator "L" or "R" moves one step left or right respectively thereby not generating any new symbols as it is not next to a "T ". Since a new symbol is created every time a "L" or "R" reaches the respective "T ", the length of the word is increased every n steps where n the previous word length. Thus, their word-length is the sequence "n occurs n times" denoted A n and asymptotically equal to ∈ Θ( √ n) by lemma 2.2. But the system's growth function is given by the number of possible words, i. e. N n and hence asymptotically equal to N √ n . The growth function of the previous system is noteworthy because it grows "intermediately" i. e. faster than every polynomial function and slower than all exponential functions. Formally, one checks this by noticing that lim x→∞ = 0 (if the logarithm grows slower than x, the function is subexponential) and lim x→∞ = ∞ (if the logarithm grows faster than ln(x) times a constant, the function grows faster than x n for all n). In the study of groups and semigroups, which are related to multiway systems [23], it has long been an open problem, finally solved by Grigorchuk [9] to find groups of intermediate growth 18 . For multiway systems, this turns out to be remarkably easy, supporting the claim that multiway growth functions are computationally diverse and powerful. Now that we have shown the existence of infinitely many systems in C fin , C bnd , C pol , C exp and C int , only the classes of inverse functions remain. As mentioned above, theorem 2.1 appears to be very useful for this. In section 2.2, we have already shown the existence of a system with a growth function asymptotically equal to log 2 (x). The Turing machine from that example can be generalized to perform counting in any number system base a yielding a halting function asymptotically equal to n → a n so that the same construction can be used to obtain multiway systems growing like log a x. It is not essential to go through the details here because all log a x are asymptotically equal (since they only differ by constants by the base-change law). It is also clear that infinitely many systems in the class C invexp can be created because one could for example use multiway addition to add systems with constant growth functions to logarithmic systems. Notice how this shows generally that every class containing at least one system contains infinitely many systems.
By the same style of argument, we conclude that there are infinitely many systems in C invpol . Consider a weaker version M 6 of the system of intermediate growth rate M 1 5 for N = 1. This system has one state forever but the length of its strings is still the sequence "n occurs n times". Now simply apply the Turing machine construction from section 2.1 to this system by adding the rules "LT " → "Z", "T R" → "Z" and "Z" → "ZZ" respectively to generate different branches of the states graph. As described in section 2.1, this yields the desired growth function of g M 6 (n) = A n (n) ∈ Θ( √ n) ⇒ M 6 ∈ C invpol . Using corollary 2.1.2, it is also obvious that there are infinitely many multiway systems in C invsupexp as one might, for example, just construct a multiway system growing slower than the inverse Ackermann function. It remains to show that the class of inverses of intermediately growing functions C invint is non-empty. To show this, first note that there is a Turing machine T which computes √ n when given n in unary in polynomial time. If one feeds the result of this computation in the T exp machine from section 2.2, one can construct a machine that halts after T (n) = p(n)+2 √ n steps for some polynomial function p(n). Similar to the argumentation from the proof of lemma 2.3, we see that T σ is asymptotically equal to the integral of p(x) ). 18 Here, "growth" refers to the notion of "group growth rate" from group theory. Since q is a polynomial, this function grows still intermediately which one can easily verify by calculating lim x→∞ ln (x) and lim x→∞ ln(F (x)) x . By theorem 2.1 and lemma 2.3, there is a multiway system M 7 which has a growth function asymptotically equal to F −1 (x). Since F grows intermediately, this system is in C invint . Together with the previous paragraphs, this provides the proof for theorem 3.1.

Multiway Growth Approximability and Undecidability
As we have shown the existence of systems with growth function g M in Θ(1), Θ(x n ), Θ(a x ), Θ(a √ x ), Θ( √ x) and Θ(ln(x)), it is possible to find a multiway growth function asymptotically equal to any combination of these functions using point-wise addition and discrete convolution. This works because asymptotic equivalence is preserved under addition, summation and multiplication ([10] section 2.2) so one can take the appropriate multiway systems for the atomic parts of the functions expression and combine them using the multiway sum and product. All of the basic functions are monotonously increasing and addition as well as discrete convolution preserve this property (because all functions have values in R ≥0 ). This proves the following corollary to theorem 3.1: x, x → ln(x) (x, a, c ∈ N + ) using the operations point-wise addition and discrete convolution, then f is multiway-growth-approximable.
The corollary provides further insights into the multiway-growth-approximability and multiwaygrowth-computability of functions. Let M C and M A be the sets of multiway-growth-computable and multiway-growth-approximable functions respectively. Note that M C ⊂ M A and M C is countably infinite, since the set of multiway systems is countably infinite 19 whereas M A is uncountably infinite because it contains, for example, all constant functions from R ≥0 to R ≥0 . Using the above corollary, we notice that a variety of classes of functions are multiway-growthapproximable: 1. For any function f ∈ M C , the function λ · f where λ ∈ N is a constant is also in M C .
2. M A contains all polynomials with natural coefficients because they can be build by adding powers x n multiplied by constants.
3. For all polynomials p(x) in M A , M A contains functions asymptotically equal to x → ln(x) · p(x).
Consequence 3 takes a little longer to prove but will be worth explaining in detail because similar methods may be used to generalise it, for example showing that M A contains polylogarithmic functions.
Proof. Consider the product system of a polynomial and a logarithmic system. By equation 15 and the fact that asymptotic equivalence is preserved under addition and multiplication, the system's growth function is asymptotically equal to Consider some fixed input n for g. Let B k be the k-th Bernoulli number, B m (x) the periodic continuation of the m-th Bernoulli polynomial and choose m = n+1. Using the Euler-Maclaurin Formula ( [17] pp. 501 ff.), we obtain First of all, h(n)+h (1) 2 simply evaluates to ln(n) 2 ∈ O(∞). Next, it is easy to show inductively that the k-th derivative of h is of the form h (k) (x) = x a−k (c ln(n − x) + p(x)) for a real constant c and a rational function p(x) ∈ O(1) as long as k ≥ a. The a + 1-th derivative is some rational function in O( 1 x ). Thus, the remainder sum and integral satisfy Hence, n−1 k=1 h(k) ∼ Θ n− 1 1 h(x) dx. Using the fact that d dx (x + (n − x) ln(n − x)) = − ln(n − x) and applying integration by parts, we obtain For a = 1 we know x 1 ln(n − x) dx ∈ Θ(n 2 ln(n − 1)).
From these three properties, we might already conclude that a significant number of functions usually investigated in mathematical analysis can be approximated by multiway growth functions. This demonstrates the computational diversity of multiway growth functions which is neither a trivial nor an expected property.
We know that multiway systems themselves are capable of universal computation as they can emulate Turing machines but it is unknown so far which computations their growth functions are able to perform. Thus, it may be considered remarkable that many common mathematical functions are expressible (i. e. approximable) as multiway growth functions. Conversely, this could later allow to make statements about a multiway system's complexity or structure by considering only its growth function. Maybe, multiway systems can even be used to make general statements about the mathematical functions themselves since they give a new way of looking at them.
Notice however that multiway growth functions are strictly less powerful than computable functions in general due to the following lemma: Lemma 3.2. Every multiway growth function is primitively recursive.
Proof. Given some multiway system, one can compute the growth function g(n) in the following way: One uses two lists S n and T n (S 0 = {}, T 0 = {s}) to store all states the system has had until generation n and all states of generation n. In every iteration, the length of T n is the value of g(n). In the n + 1-th step, the algorithm iterates through all rules and searches through the characters of all strings in T n to check if any rule applies. If this happens, the string with some part replaced will be added to T n+1 if it is not in S n or T n+1 already (only new states get added). After all possible such operations are done, T n+1 contains all new states of the system and we set S n+1 to be S n ∪ T n+1 . When repeated, this process simulates the system's evolution and thus yields the correct g(n). All loops required can be implemented using DO-loops. If strings are treated as lists of characters (numbers), the string replacement and substring matching operations can be implemented using only list insertions, deletions and searches through the list. No further data structures and no comparisons are needed. Hence, the entire program is primitively recursive by [14].
As primitive recursive functions still contain some superexponential functions, multiway growth functions are also strictly weaker than those. Still, multiway growth functions can approximate a lot of elementary functions so they might even be stronger than elementary arithmetic (EA) while probably weaker than EA+ (EA and the axiom that the superexponential function is total). It remains an open question to find out how M A or M C can be characterized elegantly.
Besides their use for investigating multiway-growth-computability, the tools obtained in this paper allow us to elegantly prove some statements about undecidability of multiway-growthrelated questions. For example, deciding if a given multiway system is finite is undecidable as a system could simulate some arbitrary Turing machine and have zero new states when the machine halts, reducing the question to the halting problem. Additionally, even for an infinite multiway system, deciding whether its growth function is equal to some conjectured function is undecidable in general since the system could be the sum of some usual system and a Turing machine emulator which becomes, for example, exponentially growing after the machine halts but has only one state before that. This observation makes it especially important in the context of the Wolfram Physics Project to not only use empirical (computed) observations about a system's growth function, rate or class but also take into account the system's rule when conjecturing about it.
This "trick" of integrating a system which grows very differently once some Turing machine halts into some larger system was also the strategy used to construct the strongly oscillating system in figure 4. Specifically, we first construct a system similar to M N 5 from section 3.2, defined as M N,M 8 = ( i=1,...,N {"RA" → "x i R"}, "A M ", {"R", A, x 1 , . . . , x N }. When started on a string of M As, R moves to the right while replacing the A it just moved over by any of the N x i . Hence, the states of the system after N steps are precisely the words of length N over {x 1 , . . . , x N } since R moved N steps to the right. When R reaches the right end, the system terminates. Thus, this system has M N new states after M steps and 0 after that. The oscillating system from figure 4 is now the sum of a linearly growing system and a version the logarithm system from section 2.2. However, the customized logarithm system does not increase its number of states after T exp halts but just triggers an instance of M 4,N of ones T exp has written. Since after roughly 2 n steps, the n-th version of T exp halts, n ones are written on the tape so about n steps later, the system has 4 n states for one generation and then "collapses" into one state again. The smallest monotonically increasing upper bound for this growth function is one that stays 4 n = (2 n ) 2 for roughly 2 n steps and then increases to 4 n+1 . Denote this sequence a(n). Now log 2 a(n) is approximately the sequence "n occurs 2 n times" which is in Θ(log 2 (n)). Thus, log 2 a(n) ∈ Θ(log 2 (n)) ⇐⇒ a(n) ∈ Θ(n) ⇐⇒ a(n) ∈ Θ(n 2 ). Since the whole system consists of this and an added linear system, the total growth rate has lower and upper tight bounds of Θ(x) and Θ(x 2 ) respectively. If one generalizes the methods used in this paper, they might be used perform a kind of "multiway system engineering" i. e. they could help to construct systems for specific purposes.

Concluding Remarks
Our main results may be summarised as follows: 1. This paper introduced the formalisms of multiway growth functions, rates and classes which have large potential for mathematically investigating multiway systems.
2. In theorem 2.1, we showed that multiway systems can grow slower than all computable functions while never exceeding exponential functions. Not only is this asymmetry very suspicious of a more general underlying principle but the theorem also demonstrates that multiway growth functions cannot be trivial and must have some computational complexity associated with them.
3. This gets supported by the fact that multiway systems are capable of simulating (approximating) quite an extend of known functions while being contained in the set of primitive recursive functions. It remains entirely unclear, which status the sets M A and M C have among other well-known sets of functions but our theorem 3.1 starts a characterisation by subdividing them into nontrivial classes.
4. Additionally, we have exemplarily demonstrated some basic systems which can be combined to yield systems giving a wanted growth function. This "multiway engineering" could be generalised and turn out to be useful for getting intuition about multiway systems as well as potentially constructing (counter-)examples to empirically grounded conjectures existing in the Wolfram Physics Project.
5. Another very interesting foundation for further research are the arithmetic-like operations on multiway systems which we have shown to equip the set of all multiway systems with an almost-semiring structure.
These results could be applied in various ways: 1. The most obvious next step is generalising our theorems to hypergraphs to make them meaningful for the actual Wolfram Model. However, this should not be difficult to do. Generalising the algebraic structure of the set of multiway systems with the operations we defined seems much more interesting, especially for hypergraph-based multiway systems since it becomes relevant in the theoretical physics context of multiway systems as there are various recent findings about a connection of Wolfram Models, category theory and quantum mechanics [7]. Additionally, more general forms of our results could be obtained in context of the connection between multiway systems and the foundations of homotopy type theory [2].
2. More specifically, the changes in structure of branchial space (see glossary of [7]) over time and thus the growth functions of multiway systems are related to the states of quantum systems and measurements of these [5]. Our upper bound on multiway system growth rate may be used to give upper bounds on entanglement speed and maximum possible information entropy in Wolfram Models. Similarly, the fact that slowness of multiway growth rates is "unbounded" could be used to investigate very slowly developing quantum systems which might be especially stable and hence useful for quantum computation, but that is mere speculation. More straightforward is the application of multiway growth classes to estimating the complexity of quantum computational algorithms or make predictions about quantum supremacy using the Wolfram model (c. f. [16] and [7]).
3. Another potential physical application is early-universe cosmology. Since there seems to be an empirical connection [15], formalising which would also be an important project, between the growth rates of physical and branchial space i. e. in our context stringlength (or hypergraph size) and multiway growth functions, our boundaries on growth functions and especially the "unboundedness" of its slowness may be related to the physical expansion of the early universe in the view of the Wolfram Model's formalism.
4. Building on our classification scheme, for example by allowing combined classes like "polynomial times inverse intermediate"-functions, trying to quantify and find regularity in the oscillations of a system's growth function (consider the system in figure 3 as an example) or analysing strongly oscillating systems like the one depicted in figure 4.

5.
Related to the regularity of multiway systems, one can ask whether determining which growth rate (or growth class) a given multiway system has from its rules is possible in general. Maybe, methods from automated theorem proving could be used for this. Another question is whether there are multiway systems which show no regularity in their growth functions. The latter would be important for "A New Kind of Science"-related research since a considerable part of Wolfram's work concerns the complexity and irregularity of such computational systems [22].
The preceding points are just a few possibilities showing how much potential the investigation of multiway systems and their growth functions, rates and classes has. This paper marks only the beginning of many further research projects. However, while we lay a very basic foundation, we succeed in doing so as our results are formally proven and computationally applicable.

Acknowledgements
First and foremost, I would like to thank Stephen Wolfram for suggesting this project and giving important advice concerning the general directions of research and methodology. Speaking of methodology, I have to mention my mentor Xerxes D. Arsiwalla for whose guidance and feedback I am very grateful. Many thanks also to Jonathan Gorard for repeatedly proof-reading this paper and assisting the proof that multiway systems form a semiring with weakened annihilation property (section 3.1). Additionally, I highly appreciated the encouragement and support of Peter Barendse who helped to kickstart this research project at the Wolfram Summer Camp 2020 and Paul Siewert whose critique and explanations were very useful for formalising the proofs presented in this paper.