An RNA-Based Theory of Natural Universal Computation
AAn RNABased Theory of Natural Universal Computation
Hessameddin Akhlaghpour ƚ ƚ Laboratory of Integrative Brain Function, The Rockefeller University, New York, NY, 10065, USA
Abstract:
Life is confronted with computation problems in a variety of domains including animalbehavior, singlecell behavior, and embryonic development. Yet we currently have no biologicallyplausible model capable of universal computation, i.e., Turingequivalent in scope. Networkmodels (which include neural networks, intracellular signaling cascades, and gene regulatorynetworks) fall short of universal computation, but are assumed to be capable of explainingcognition and development. I present a class of models that bridge two concepts from distantfields: combinatory logic (or, equivalently, lambda calculus) and RNA molecular biology. A set ofbasic RNA editing rules can make it possible to compute any computable function with identicalalgorithmic complexity to that of Turing machines. The models do not assume extraordinarilycomplex molecular machinery or any processes that radically differ from what we already knowto occur in cells. Distinct independent enzymes can mediate each of the rules and RNA moleculessolve the problem of parenthesis matching through their secondary structure. The most plausibleof these models does not strictly mimic the operation rules of combinatory logic or lambdacalculus; it relies on standard RNA transcription from static genomic templates and the editingrules can be implemented with merely cleavage and ligation operations. This demonstrates thatuniversal computation is well within the reach of molecular biology. It is therefore reasonable toassume that life has evolved – or possibly began with – a universal computer that yet remains tobe discovered. The variety of seemingly unrelated computational problems across many scalescan potentially be solved using the same RNAbased computation system. Experimental validationof this theory may immensely impact our understanding of memory, cognition, development,disease, evolution, and the early stages of life.
It may be argued that computation is the most fundamental aspect of life. Any problem that involves convertinginputs to outputs where the informational content – rather than the material content – defines the problem is aproblem of computation. Some examples of computation in biology include: using vision to guide wing movementin insect flight, language acquisition in humans, decisionmaking in singlecelled ciliates [1], and embryonicdevelopment, the decisional process of beginning with a single cell and coordinating across daughter cells toproduce a complex finelydetailed threedimensional structure. Even though the computations that occur in thesesettings are poorly understood, it is generally assumed that the mechanistic building blocks that carry out omputation in biology have already been identified. In the domain of animal behavior, these building blocks arebelieved to be neurons and neural networks. And in the domains of cell behavior and embryonic development,they are thought to be molecular cascades, gene regulatory networks, and signal transduction pathways. But theadequacy of these building blocks is disputable and is not rooted in the theory of computation. In fact, if we are totake the theory of computation seriously, it is reasonable to consider that there may exist a computation systemthat remains undiscovered in biology.For every computation system, there are problems that it can solve and problems that it cannot. The set ofproblems that a system can compute is its scope . Measurement of scope is agnostic to how the system works; thecomponents of the system can be analog or digital, discrete or continuous, stochastic or deterministic. Biologicalcomputation systems are no exception. They can be analyzed in the framework of the theory of computation (seeFig 1). A system is said to be at least as powerful as another if the former can simulate the latter (i.e., solve all ofthe problems in the other’s scope). For example, combinatorial logic circuits (i.e., circuits consisting of booleangates) are equivalent to lookup tables; both systems are capable of solving any problem defined over finiteinput/output domains. Finite state automata are strictly more powerful than either of those systems and can solveproblems that are defined over infinitely large input/output domains (e.g., the problem defined by “given anarbitrarily large number as a string of digits, return the remainder of that number when divided by 7”). But thereare some problems that finite state automata cannot solve (e.g., the problem defined by “given a string ofopen/close parentheses, determine whether it is balanced”). (See [2–4] for a framework for comparing systemsthat operate on different domains). One of the most profound mathematical discoveries of the 20th century was that there is a fundamental limit tocomputational scope [5–10], meaning that there are some definable problems that are uncomputable; noeffective computation system with finite means can solve them (see S1 Appendix for a discussion on what ismeant by “effective computation” or “finite means” and why this is relevant to biology). Many abstract systemsachieve that scope of computation. Such systems are said to have universal scope and are able to compute anycomputable function. Turing machines are one such system. There are many other universal computationsystems, some of which were developed independently and do not resemble Turing machines in any obvious way.All of the universal computation systems listed in Fig 1C are capable of simulating one another, but it is commonto define universal computation in terms of Turingequivalence. A computation system is universal, if and only ifit can simulate any Turing machine. Network models are the dominant computational paradigm in biology, encompassing neural networks,biochemical signaling cascades, and gene regulatory networks. In these models the state of the system isdescribed in terms of a number of physical quantities (such as membrane potentials of different cells orphosphorylation rates of certain proteins, and binding occupancy at various DNA sites). These quantities ositively or negatively influence one another. Network models are special cases of dynamical systems where thesystem’s progression through time can be determined by a number of differential equations. But physicallyrelevant finitedimensional dynamical systems are not known to be capable of universal computation. This claimmay appear to contradict common wisdom since it was shown in the early 1990s that dynamical systems cansimulate Turing machines [11–13]. Based on those results it has been incorrectly asserted that chemical andneural networks are Turingequivalent [14,15]. But in every instance where a finitedimensional dynamicalsystem has been shown to be capable of simulating Turing machines, that system lacked structural stability [11–13,16–19,19–21]. Structural instability renders a system physically unrealizable. It means that even if the systemis noiseless and the variables have infinite precision, any arbitrarily small amount of error in the differential Figure 1:
Basic Concepts from the Theory of Computation (A)
A computation problem is a partial mapping between an inputdomain and an output domain. For instance the problem of squaring a number is a mapping from numbers to their squaredvalues. (B)
A generalpurpose computation system must be able to solve – not just one, but – many problems. Which problemit is to solve is determined by its descriptor . The descriptor may specify program instructions or the physical configuration thatdetermines how the system works. For example, in a neural network computation system the description is the set of nodes,connections, weights, activation functions, etc. (C)
A diagram depicting the computational scope of various systems.Computation systems very often emulate one another. The innermost scope is the weakest form of computation and the outerscope includes all universal (i.e., Turingequivalent) computers. There are many other scopes not shown in the diagram. Thesecomputation systems are all “transducers” rather than “recognizers”; their output domains are strings or natural numbersrather than binary values (i.e., accept/reject). quations will lead to a radically different system that does not resemble the intended dynamics. (Structuralstability is a distinct concept from chaos; chaotic systems are realizable and physically relevant).Moore, who was the first to show that finitedimensional dynamical systems are capable of simulating Turingmachines [11,12], argued that structural stability is a reasonable criterion for determining whether a dynamicalsystem may be engineered or found to occur in nature and he conjectured that “finitedimensional dynamicalsystems that are structurally stable (or generic by any other reasonable definition) are incapable of universalcomputation” [22]. Moore’s conjecture still stands today and we do not know of any biologically plausiblenetwork model capable of universal computation. (See S2 Appendix for a discussion on computational power ofphysically relevant dynamical systems).But why would life need a universal computer? Or what advantages might it have to be favored by naturalselection? Perhaps living organisms get by without universal computation and the currently conceived networkmodels are sufficiently powerful to address the problems and opportunities they face. This proposition is difficultto accept given the richness and complexity of life, particularly given how simple it is to achieve universalcomputation. It is not uncommon to accidentally stumble upon universality in systems where memory usage canexpand. Notable examples are Conway’s game of life [23], Wolfram’s Rule 110 [24], and Schönfinkel’s/Curry’scombinatory logic [25,26]. A powerful computing device would immensely benefit organisms that struggle tosurvive and reproduce. We know evolution is capable of designing remarkably sophisticated systems according toprinciples of optics, mechanics, chemistry, and thermodynamics. So why not principles of computation? There isnothing about universal computers that make them generally more costly, less efficient, or harder to maintain incomparison to weaker computation systems. In fact, the history of human technology suggests quite the opposite;analog nonuniversal systems are increasingly being replaced by digital microprocessors in devices and machineseven though they do not strictly need universal computation for their purposes. (Microprocessors implement thevon Neumann architecture and are a universal computation system).Let us entertain the possibility that a universal computer exists in biology but has not yet been found. The mostobvious principle that may guide us towards finding such a system is memory expansion . A necessary [but notsufficient] condition for universality is that memory usage (in systems where “memory usage” can be defined) notbe bounded by the system’s descriptor (see Fig 1B). In other words, the system should be able to recruit morememory space when needed during the process of computation or after it is given an input. (Memory usage infinite state automata, a weaker nonuniversal computation system, is determined by the system’s descriptorirrespective of the input). In the context of neuroscience and cognition, the importance of separating memoryfrom computation and the need for a readwrite mechanism has been previously raised as a critique of thenetwork paradigm [27].Network models cannot easily be reconciled with this principle. The solution adopted in the Turingequivalentdynamical systems discussed above is to implement a memory tape by using numerical digits of a variable as a tring of symbols [11–13]. This method has a severe practical limitation; less than a few dozen bits of memorycan be recruited since most physical quantities have an effective precision of only a few orders of magnitude.Another solution is to transcend finitedimensionality and assume that the network can grow in its number ofvariables. This can be achieved by either having the system physically grow through the construction of newcomponents during computation (e.g., by the generation of new neurons or creation of entirely newmolecules/genes according to specific rules) or by assuming there is an arbitrarily large reservoir of silent or dormant dimensions (e.g., implemented by repetitive network architectures) that serve as general purpose unitsof memory and can be accessed for storage and retrieval. (This is similar to the framework used in Neural TuringMachines [28], except the memory units must themselves be implemented by a networks).Crucially, the number of memory units should not be part of the system’s descriptor or differential equations thatspecify the problem that is supposed to be solved. In the case of biological neural networks, if they naturallyemploy a general network architecture as unit of memory that was agnostic to the type of information beingstored or what it was to be used for, that network architecture should be abundantly present across the entireanimal kingdom and we would have probably found it by now. At present, there are not even any theoreticalmodels of network architectures that can be used as general purpose memory and can reproduce the types ofcomputations we see in animals with a modest number of neurons of biologically plausible properties [27].Whether an extension of network models can plausibly achieve universal computation remains an open question.The most promising place to search for a universal computer is in the molecular biology of polynucleotides.Memory expansion is trivial in a system that uses the precise sequence composition of polynucleotides as memory.It can be accomplished through the addition of nucleotides, either by insertion or tail extension. The resemblanceof polynucleotides to strings of computation theory is hard to ignore. In Turing’s attempt to formalize the notionof computation he wrote: “ Computation is normally done by writing certain symbols on papers... I think that it willbe agreed that the two dimensional character of paper is no essential of computation. I assume then that thecomputation is carried out on a onedimensional paper, i.e., on a tape divided into squares. I shall also suppose thatthe number of symbols which may be printed is finite... The effect of this restriction on the number of symbols is notvery serious. It is always possible to use sequences of symbols in the place of a single symbol ” [8].Polymer sequences consisting of an alphabet of only four nucleotide symbols A, C, T (or U), and G elegantly fitthis description. Apart from their stringlike structure, polynucleotides possess many properties that make themideal vehicles for biological computation, e.g., thermodynamic stability, spatial compactness, and their capacity tobe modified with low energy cost [29,30]. It is not surprising that these molecules have been recognized aspotentially useful in synthetic computation devices [31–38].Recent developments in molecular biology suggest the possibility that nonproteincoding RNA have a yetundiscovered critical role. Approximately 1.74% of the human genome ends up in mature mRNA and more thanhalf of that number is untranslated regions that do not encode proteins [39]. This is while it is has been found hat the vast majority of the human genome is actively transcribed [40–42]. The discovery of pervasivetranscription has been met with controversy [41–47] and the functional significance of the noncoding portion ofthe transcriptome is being intensely debated [47–57]. Proponents of the “junk DNA” hypothesis estimate that nomore than 15% of the human genome can have functional significance, and the rest leads to “transcriptionalnoise” when transcribed [58–60]. The opposing viewpoint argues that most of the human genome may befunctional and that sequence conservation is not a necessary condition for functional relevance [52,54,57,61] andthere are many other indicators of function such as conservation of secondary structure [62,63], conservation ofpromoters sequences [64–68], cellspecificity in expression levels [64,69–71], subcellular organization [72,73],and temporal regulation during embryonic development [74,75]. Genomewide association studies show thatmore than 70% of the genetic loci associated with traits and diseases fall in intergenic or intronic regions [50].These regions have been found to be abundantly transcribed [76,77] in a highly celltype specific mannerconsistent with their associated traits [78]. Across organisms the nonproteincoding to proteincoding ratio of thegenome scales with organism complexity, while the number of proteincoding genes as well as the total length ofproteincoding sequences plateaus [79–81]. While there are many indicators suggestive of function, themechanistic roles of noncoding RNA remain to be discovered. The question of noncoding RNA function has evenbeen described as “ the most important issue in genetics ” [41]. I propose the theory that the nonproteincodingportion of genome and transcriptome contains the data and programming material of an undiscovered universalcomputation system in biology. In support of the theory of natural universal computation through polynucleotides I demonstrate that universalcomputation through RNA is in principle attainable without assuming extraordinarily complex molecularmachinery. A molecular machine that implements a universal Turing machine would be extraordinary andimplausible, as it would require large enzymes operating in a far more elaborate manner than the ribosome. Evenif such a system were molecularly feasible, it is hard to imagine how it could have gone undetected. I present analternative class of models based on λ calculus and combinatory logic. Computation in these models is adecentralized process where distinct enzymes make local modifications to RNA molecules according to basicrules. The specific details of the models are somewhat arbitrary and only meant to be used as a proof a principle,demonstrating that it is possible to implement a universal computation system through basic molecular operationson RNA. I argue that the models are plausible and that it is conceivable such a system may have evaded detectionthroughout the many decades of research in molecular biology. .1. Combinatory Logic a nd λ calc ulus as Computation Systems λ calculus and its predecessor, combinatory logic (CL), are two nearly identical universal computation systems.The entities defined in these systems are functions that take functions and return functions. No distinction ismade between programs and data and everything is constructed as a function. There is a onetoone equivalencebetween lambda functions (called “ λ terms”) and combinatory functions (called “combinators”). The differencelies in the elementary operations that are used to compute things. λ calculus computes using variable substitutionand variable renaming. CL uses applications of primitive combinators. (I will only briefly introduce CL here. For amore complete introduction to both systems see S3 Appendix).The identity combinator I is defined as I x = x . It returns whatever it is given. The combinator K is defined as K xy = x . It takes two arguments and returns the first. C takes three inputs and swaps the second and third, C xyz = xzy . B is defined as B xyz = x ( yz ), W is defined as W xy = xyy (see Fig 2A for more primitive combinators).(Combinators are capitalized and variables are in lowercase). Let us evaluate the term CIBW . At every step weapply the leftmost combinator. Applying C results in IWB . Next we apply I to get WB , which cannot be evaluated Figure 2:
Implementation of a combinatorial logic circuit using combinatory logic – (A) Definitions of some commonly usedprimitive combinators. Outlined are two common universal systems: SK and BCKW. (B)
A combinatory term was constructedusing combinators B, C, K, and I to compute a circuit with five boolean inputs. Here, Church’s boolean encoding is used, whereK represents true and KI represents false . At each step, either the parentheses enclosing the leftmost term are deleted or theleftmost combinator is applied. The 61 omitted steps only rearrange the five inputs and assemble the circuit. Evaluation of theAND gate was automatically skipped since the first input to the NOR gate was true. The final result is KI, equivalent to false.Combinatory logic must not be confused with combinatorial logic. The latter is the weakest of the systems in Fig 1C(equivalent to lookup tables), whereas the former is a universal computer (equivalent to Turing machines). urther because application of W requires two inputs. So the final result is WB . Let us try another example, thistime with a variable: CKC x = K x C = x . Like the I combinator, CKC returns x given any x . This shows that I can beconstructed using C and K . Finally, let us evaluate an example with parentheses: BCKIW(KK)KC . First we apply B to get C(KI)W(KK)KC . To apply C we swap the second and third arguments, W and (KK) , to get (KI)(KK)WKC .We can always remove the parentheses around the leftmost term because CL is by convention leftassociative.Doing so, we get KI(KK)WKC . Applying K we get IWKC = WKC = KCC = C . So BCKIW(KK)KC = C .Remarkably, the set of primitive combinators B , C , K , and W , constitute a universal computation system. Usingonly these four combinators, it is possible to simulate Turing machines and compute any computable function.Not only is it possible to compute boolean logic circuits (see Fig 2B), but CL can implement data structures andrecursive algorithms (see S3 Appendix). For example C ( C ( B ( BK )) z )( C ( C ( B ( BK )) y )( C ( C ( B ( BK )) x )( KI ))) can beinterpreted as a stack containing three elements x, y, and z. And B ( WI )( BWB )( B ( B ( C ( B ( B ( B ( C ( BC ) I )( BC ( CI )))( BC )))( BC ( C ( B ( BK ))))) B ) B )( KI ) is a recursive program that takes a stack of any size and reverses the order of itselements. (To see how I constructed these terms see S3 Appendix). CL can implement numbers and arithmetics.The most commonly used number systems are unary (e.g., Church numerals). This has given λ calculus and CL areputation for being slow. But it is not difficult to implement efficient arithmetic operations with binary numeralor in any base of choice [82]. λ calculus and CL are as powerful and expressive as any functional programminglanguage, and can simulate Turing machines with linear slowdown (see S3 Appendix). In CL, terms are usually represented as strings of characters. Nucleotide sequences can trivially be used torepresent strings. There is already a precedent for this in protein coding sequences where each triplet representsan aminoacid. Similarly, each primitive combinator can be encoded using sequence motifs. (Open and closeparentheses can also be represented by unique motifs, but this is not the method used in the models I presentbelow.) Not all nucleotide sequences must represent a combinator (some can be neutral fillers) and combinatormotifs need not be unique (there may be redundancy similar to aminoacid codons). A small enough primitivecombinator set, like S and K, can make it possible to use just one nucleotide per combinator. Noncanonical basesand nucleotides modifications like methylation may also be involved in the representation scheme. I refrain fromspeculating over the motifs for the combinators, but I only remark that if the codes for the primitive combinatorsare all of the same length, it can make molecular implementation of the combinator rules simpler.To evaluate a term, it is sufficient to recursively apply the leftmost combinator, as illustrated in the examplesabove, until it is no longer possible to reduce the term. This can be accomplished by distinct and independentenzymes, each responsible for implementing one of the primitive combinators. For example, if there are fourprimitive combinators there can be four distinct and independent enzymes that each apply one of the combinatorsby first recognizing the leftmost motif that encodes for it and then applying appropriate changes to the RNA trand. These applications can be carried out in an uncoordinated fashion and there is no need for a central entityto direct these operations.If we take nucleotide sequences to represent CL terms, it seems more reasonable to assume that they are parsedand edited at the 3’end. The 5’end is typically capped and protected whereas the 3’end is highly dynamic andamenable to additions or removals of nucleotides; RNA synthesis occurs by polymerization at the 3’end and thepoly(A) tail (a stretch of up to 200 adenine bases at the 3’end) can lengthen or shorten even after an RNA isexported to the cytoplasm [83,84]. Additionally, RNAs exhibit high diversity in their 3’ splice site. The same RNAtranscript can be cleaved and polyadenylated at different sites depending on the context [85,86]. The variability Figure 3:
RNA Secondary Structure – (A) RNA stemloops form when the nucleotides of two segments of an RNA strand pairwith one another. The region containing basepairs is the stem and region in between the stem is the loop. Base pairing inRNA follows the canonical WatsonCrick rules where A pairs with U and G pairs with C but can also include less stable wobblepairs such as GU. (BD)
Examples of secondary structure of some nonproteincoding RNAs exhibiting many levels of nestedstem loops. (B) (C) (D) f the 3’end is especially pronounced in the brain where 3’UTRs of mRNA are lengthened beyond the annotatedends [87,88] and where miRNA show extensive sequence modifications at their 3’end [89]. For these reasons Iwill assume that RNA strands are parsed as combinatory terms in the 3’to5’ direction. Respecting the standardnomenclature, I refer to the direction of the 5’end as “upstream” and the direction of the 3’end as “downstream”.What sort of RNA modifications are required to implement combinator applications? The answer depends on theprimitive combinator set. B , C , K , and W are sufficient for universality. So is the smaller set of only twocombinators S and K . (All four combinators B , C , K , and W , can be constructed using only S and K – see S3Appendix). There are infinitely many valid basis sets that would produce a universal computation system.Fortunately, we can evaluate the plausibility of the model without knowing the exact basis set. For any set ofprimitive combinators to achieve universal computation, it must have at least one combinator that deletes terms( deletion ), at least one that reorders terms ( reordering ), at least one that duplicates terms ( duplication ), and atleast one that adds parentheses ( nesting ). (This is easy to prove by showing that none of these operations can bemediated by the other three. Without deletion the number of combinators cannot shrink. Without duplication thenumber of combinators cannot grow. Without reordering the ordering of terms remains invariant. And withoutnesting the number of parentheses – in, say, leftassociative representations – cannot grow). In the
BCKW system,each of the four combinators fulfills exactly one of the four conditions. In the SK system, the S combinator fulfillsthe last three conditions and the K combinator fulfills the first. We can examine the plausibility of each of thesefour operations separately. Deletion:
The enzyme responsible for implementing the deletion operation needs to excise a segment of RNA.Splicing is one of the most common RNA modifications and many enzymes are known to mediate it. Splicinginvolves cleavage and ligation but even a single cleavage operation is sufficient to completely fulfill the deletioncondition. For instance, the F combinator, equivalent to Church boolean false , is a combinator that takes twoinputs and returns the second ( F xy = y ). An enzyme responsible for implementing F only needs to cleave the RNAone term upstream of the F motif (corresponding to deletion of “Fx” in “Fxy”). (The K combinator, defined as K xy = x , can be constructed as K = CF and no longer needs to be in the basis set). RNA strands that are excisedthrough this method must be immediately discarded and not interpreted as representing combinatory terms. Thiscan be trivially implemented since excised strands lack a 5’cap and are susceptible to exonuclease degradation. Reordering:
The enzyme responsible for implementing the reordering operation only needs to conduct somethingas simple as swapping two elements corresponding to successive terms, e.g., as in C xyz = xzy . Similar RNAmodifications are already known to occur in cells. Posttranscriptional reordering of exons was first observed inthe early 1990s [90,91]. At first, it was thought to be rare, expressed at low levels, and confined to circular RNAs.But several recent studies suggest that it may occur abundantly, occurring in polyadenlyated transcripts atexpression levels comparable to that of their canonically spliced counterparts [92–97]. Transposable elements inDNA, RNA’s sister molecule, frequently move around changing locations with the help of transposase enzymesthat mediate their cleavage and ligation. Operationally it only requires three cleavages and three ligations to ulfill the reordering condition, both of which many native enzymes like the spliceosome are capable of [92]. It istherefore plausible to assume other enzymes may exist that are capable of reordering RNA elements. Duplication:
Duplication is not as trivial as deletion or reordering. Example combinators that require duplicationare are W xy = xyy and M x = xx . The term that needs to be duplicated may either be a motif for a single combinatoror a nested (i.e., parenthesized) sequence of arbitrary length. Duplication of arbitrarily long sequences requires anenzyme that can synthesize a copy of an RNA element. RNA dependent RNA polymerases (RdRp), the enzymesthat can directly synthesize RNA from an RNA template, are common in viruses and have also been found inplants and nematodes. But many species including humans and fruit flies lack endogenous RdRp. Are there anyknown methods of RNA sequence duplication that may exist in all cells? One method is through reversetranscription (i.e., DNA synthesis from an RNA template) followed by transcription, (RNA synthesis from a DNAtemplate). Reverse transcriptase and RNA polymerase, exist abundantly across the plant and animal kingdom,although, most bacteria species lack reverse transcriptase [98,99] and reverse transcriptase is thought to beinactive in many – if not most cells of multicellular eukaryotes.But a more promising candidate enzyme for mediating sequence duplication in the model is RNA polymerase(RNAP). RNAP is the crucial transcription enzyme, abundantly present in all living organisms, that normallysynthesizes RNA from DNA templates. In special cases, RNAP can polymerize RNA solely from RNA templates[100]. RNA replication through RNAP is the method used by viroids that infect plants, the hepatitis delta virus(HDV) that infects humans, and several other related RNA based viruses that lack their own polymerase enzyme[101–104]. These viruses rely on native RNAP in host cells for RNA replication. In the case of viroids and HDV,the replicated RNA is circular and replication is understood to happen through a rolling circle mechanism[104,105]. RNA replication of noncircular RNA strands has been demonstrated in vitro [106–112] Remarkably,this mode of replication is dependent on the existence of a 3’GG... or 3’CC... motif on the template, beginssynthesis immediately after the motif, and can generate concatemers from linear (noncircular) templates[108,110]. This is already quite close to what would be expected of an enzyme responsible for implementing the W or M combinators. (It must first recognize the motif that codes for W or M , begin synthesis immediatelyupstream of the motif, and produce a strand with two copies of the term that is intended for duplication). At anyrate, the hypothetical duplication enzyme may still be unknown to us and there is considerable evidence thatdirect RNA duplication through unknown mechanisms occurs endogenously [93,113–116]. Nesting:
A nesting operation composes two terms as a single nested term. For example, B defined as, B xyz =x( yz ), nests its second and third arguments as a single term ( xyz is interpreted as ((x y)z ) in leftassociativeCL). If parentheses are encoded by sequence motifs, as suggested earlier, the enzyme responsible forimplementing B needs to insert predefined open and close motifs one and three terms upstream of the motif for B . But this method brings out a complication that we have ignored until now: parenthesis matching. arenthesis matching is critical for the model because all of the enzymes that apply combinators need torecognize and count whole terms. For example, if the hypothetical deletion enzyme is confronted with an openparenthesis at the position of a term that is supposed to be deleted, it must delete the entire stretch of nucleotidesbetween that open parenthesis and its matching close parenthesis (which can include other open/closeparentheses). How can an enzyme when confronted with the start of a term find the correct ending nucleotide?This is not a simple task. A parsing algorithm that implements parenthesis matching needs to keep track of theparenthesis depth, incrementing with every “(“, decrementing with every “)”, and stopping whenever thecalculated depth reaches zero. A molecular implementation of this algorithm does not appear plausible; I cannotconceive of an implementation of this algorithm without invoking extraordinarily complex hypothetical molecularmachinery. Fortunately, there is an elegant solution to this problem using the base pairing properties of RNA.Similar to DNA, RNA molecules can form double stranded helices with their complementary sequences. Basepairing can even occur within the same strand. When an RNA molecule contains two sequences that are inversecomplements of one another, those sequences physically come together to form a stemloop (Fig 3A). Stemloopscan occur inside other stem loops and the entire basepairing organization of an RNA molecule is referred to asthe secondary structure. RNA strands typically have intricate secondary structures that involve many layers ofnested stem loops (Fig 3BD).If open and close parentheses are represented by reverse complementary sequences, RNA molecules naturallysolve the problem of parenthesis matching by physically bringing matching parentheses together in space. It isthen enough for the combinator enzymes to treat the base of a stem as a single term, just as they would for aprimitive combinator motif. For example, a hypothetical enzyme that implements F xy = y must cleave one termupstream of the F motif. If a stem loop appears in the place of x , it can delete the entire stem loop by cleaving atthe base of the stem. This model suggests a very general role for RNA secondary structure that is morefundamental than anything presently conceived [117].In light of this solution, let us revisit the plausibility of a nesting operation. To implement nesting, there must be amethod of adding new stem loops into RNA strands. This can be done through insertion of RNA duplexes. Doublestranded RNA (dsRNA) is known to exist in cells and its overexpression or underexpression can be lethal[118,119]. The enzyme responsible for implementing nesting may recruit these dsRNAs, or possibly recycleduplexes that have been removed in previous CL operations, and insert them in place. (A basic operation that themodel needs is parenthesis removal. If the leftmost term is enclosed in parenthesis, the parentheses should beremoved. Removed duplexes can be reused in the same strand for nesting operations). Insertion of RNA duplexeshas not been documented in cells, but it would only involve simple cleavage and ligation operations.Now that we take stems to represent parentheses, it is possible to provide a set of concrete RNA editing rules thatcan, in theory, implement combinatory logic. The five rules depicted in Fig 7 implement leftassociative CL basedon four arbitrarily chosen combinators. In leftassociative CL abcde is interpretted as ((( ab ) c ) d ) e . A variant of hese rules can be constructed by mimicking rightassociative CL (see Fig 5) where abcde is interpreted as a ( b ( c ( de ))). In rightassociative CL, the operation rules can be implemented anywhere along the RNA strand,whereas the rules written for leftassociative CL were designed to be implemented at the 3’end of the strandonly. It is sufficient for these editing rules to be implemented by distinct enzymes in an uncoordinated fashion toachieve a universal computation system. Figure 4:
Model I A set of RNA editing rules that mimic the operational rules of leftassociative CL based on combinators B , C , F and W . In all the rules, RNA elements x, y, and z must either be single combinator motifs (codes that represent B , C , F or W )or stem loop bases. The fifth rule corresponds to parenthesis removal when the left most term is enclosed in parentheses. Alledits are designed to be applied on the 3’end of RNA strands. Figure 5: M odel II A set of RNA editing rules that mimic the operational rules of rightassociative CL based on combinators B , C , F and K . In all the rules, RNA elements x, y, and z can be any nonempty sequence representing primitive or composedcombinator terms. The fifth rule corresponds to parenthesis removal when a single combinator is enclosed in parentheses. Incontrast to Mode I (Fig 4) editing can happen anywhere along an RNA strand, even multiple locations at once. If multiplelocations can be edited, the order of operations does not affect the final result (according to the ChurchRosser theorem). he method of nesting terms through RNA stem loops presents an opportunity to implement addressable memoryand variable substitution. One such implementation is illustrated in Fig 6. In this model, each variable is assignedan address (specified by a unique sequence of nucleotides). An RNA strand containing that address sequence at its5’end stores the value of that variable. A variable can be referenced to by other RNA strands using a reference sequence defined as the reverse complementary sequence of the address sequence. Simple cleavage/ligationoperations can substitute the value of the variable as a nested term as shown in Fig 6. (For this system to workwith the leftassociative CL model (Fig 4), the address and reference sequences must themselves fold into stemloops).An addressable memory system with variable substitution has many advantages. First it allows longer strands tobe broken down to shorter ones while maintaining a link between the strands. This overcomes some of thephysical limits on the lengths of RNA programs and parallelizes computation. Second, it allows coordinationacross many programs that share the same memory space. A program can write the result of a computation in adesignated memory address that another program uses as an input. Third, it can be more efficient to work withvariable representations. For example, if a nested term is to be duplicated only to have one copy deleted, it ismore efficient to have it represented by a short reference sequence and duplicate the reference sequence. Andfourth, term permutations can be done much quicker using addresses and references. The first 61 steps of the Figure 6:
Addressable Memory
An example mechanism that can implement variable substitutions through RNA, assumingstem loops hold nested terms. First two distinct RNA strands come together, one containing the address and content of avariable and the other containing a reference sequence that basepairs with the address sequence. One cleavage and twoligations as illustrated is sufficient incorporate the content of the variable as a stem loop at the location it is referenced. Thisprocess in reverse can also be used to excise a loop from a stemloop, while maintaining the link across two strands. rogram in Fig 2B only rearranges the inputs, but can be accomplished with only 5 variable substitutionoperations.
Above, we evaluated the plausibility of deletion , reordering , duplication , and nesting in RNA molecules. Deletion,reordering, and nesting can be done with O(1) number of cleavage/ligation operations, but duplication requiresRNA synthesis and its number of operations is proportional to the length of the element that is being duplicated.Furthermore, RNA replication from RNA templates is not yet known to occur widely across all cells of alllifeforms. In this section I show that RNA directed RNA replication is not strictly required for universalcomputation. To make this possible I will abandon pure combinatory logic as this model requires an addressingsystem where selfreferencing (or cycles in the reference graph) is permitted.Strictly speaking, it is not permitted to define a function in terms of itself in λ calculus or CL. For instance thefunction f = C(C(BC(CC)))(CK) f must be redefined in terms of the Y combinator as f = Y C(C(BC(CC)))(CK) =B(WI)(BWB)C(C(BC(CC)))(CK) (see S3 Appendix). (The founders of λ calculus/CL were concerned withcreating a sound foundation for mathematics that avoids contradictions and does not contain illdefined terms).But if we relax this constraint it becomes possible to achieve universal computation without any duplicatingcombinators (such as W or M ). Instead, the three combinators B , C , and K alongside an addressing system issufficient to simulate any Turing machine with linear slowdown (see S3 Appendix for guidelines on how to usethis to linearly implement Turing machines). Note that in the model of rightassociative CL (Fig 5) applications ofB, C, K, and parenthesis removal can be fully accomplished by merely cleaving and ligating RNA at predeterminedpositions relative to the combinator motif. Except for the application of the M combinator (which is no longerneeded for universality), the number of duplexes (i.e., parentheses) on both sides of the rules are the same.Therefore, even duplex insertion is not strictly required.In order to prevent infinite loops of selfinsertion where multiple copies of a selfreferencing transcript getinserted into one another, the value substitution mechanism of Fig 6 can be reformulated to only occur when areference is at the leftmost position or when it is enclosed in parentheses on both sides. (For example, thetranscript in Fig 7A can be immediately inserted into the reference in Fig 7C but should not be inserted intoanother copy of itself. Or the transcript in Fig 7B should not immediately be inserted into where it is referenced atin Fig 7A). An alternative solution is to split a reference sequence into two subsequences only to have them joinedwhen value substitution is needed in the algorithm.The most plausible model is one that combines the addressing system of Fig 6 with the right associative model ofFig 5, except the M combinator would not be necessary. This model relies on perpetual transcription of RNAstrands from static genomic templates. The transcripts can then be recursively inserted into one another guided Figure 7:
Implementation of Addition – An RNA program was constructed to add arbitrarily large numbers in logarithmic timeusing the editing rules of Model II (Fig 5) and an address/reference system similar that of Fig 6. This program involves twotranscripts that are perpetually transcribed from static genomic templates and contain references to themselves. Since the M combinator is not used, the rules can be implemented by merely cleaving and ligating RNA strands at predefined positions.Combinator motifs were assumed to be 4nt long and duplexes are each 6bp. (A) Selfreferencing 2,518nt transcriptresponsible for addition that also contains a reference to transcript B. (B)
Selfreferencing 202nt transcript responsible forreversing the content of a stack (or equivalently reversing the digits of a number). (C) an RNA program that computes 2+6 byreferencing transcript A. (D)
Simulation of the operation rules demonstrate that the number of operations increaselogarithmically relative to the larger addend. (See S3 Appendix for derivations of the transcripts A and B). y an addressing system. See Fig 7 for an example RNA program that implements arithmetic addition withinlogarithmic runtime through purely cleavage, ligation and standard transcription.
The formation of stem loops is an indispensable component of the models presented in this paper as it solves theotherwise difficult problem of parenthesis matching. But RNA secondary structure is not necessarily fixed orunique. The same RNA strand can change shape and fold into different kinetically stable structures [120]. Anestimated 2050% of mRNAs assume alternate conformations [121]. This can be a problem for a model thatdepends on stems representing parentheses because it makes RNA sequences ambiguous in their representationsof CL terms. Even randomly generated nucleotide sequences lead to complex secondary structures that resemblesome of the statistical properties of naturally occurring secondary structure, including nonlocal duplexes joiningregions near the 3’ and 5’ ends [122,123]. Additionally, even if an RNA strand starts off in a unique highly stablestate, local edits may radically change the thermodynamic energy landscape and lead to changes in secondarystructure that do not reflect the intended operation rules of CL. Stable and controlled secondary structure is acritical part of the model . The argument for the theory’s plausibility depends on stem loops representing nestedterms.
How can the theory be reconciled with the unfettered nature of RNA structure? There are many factors that caninfluence the stability of secondary structure. Translation has a destabilizing effect on structure in mRNA [124].RNA binding proteins or other factors may, in theory, stabilize stem loops as an RNA is being prepared to undergoCL modifications. Also, some sequences form more stable duplexes than others and it may be the case that onlyhighly stable duplexes are treated as parentheses. GC bonds are stronger than AU bonds [125] and restrictionson the kinds of motifs that constitute parentheses can disambiguate them from the motifs that represent primitivecombinators. And finally, there are many ways to construct the same CL term using primitive combinators.Semantically inconsequential variations to syntactic representation of terms can also be used to prevent theformation of unintended duplexes. For example, any number of identity combinators can be inserted after anopen parenthesis without altering the intended computation, and that by itself may stabilize secondary structure.Conformational heterogeneity of RNA strands does pose a challenge to these models, but not an unsurmountableone.Another challenge for a solely RNA based molecular engram theory is RNA stability. If a molecule were to serve asa memory engram it must at least exhibit stability over similar time periods as cognitive memories. RNAmolecules have an average halflife of around 7 hours [126,127]. DNA, however, can last for a lifetime and RNAinformation can be converted back to DNA through reverse transcription. In recent decades, we have learned thatdifferent cells of the same individual very often have differences in their DNA [128]. Neurons exhibit xceptionally high DNA diversity in what is known as neuronal somatic mosacism [129–132]. Various forms ofDNA modifications exist in neurons, including single nucleotide variations, duplications, copy number variations,rearrangements, and aneuploidy. The quantitative extent of somatic mosaicism in the brain is currently underscrutiny [133,134] but it is especially pronounced in the human frontal cortex where average DNA content isenlarged by an estimated 4% [132] with a substantial fraction of neurons possessing unique massive copynumber variations, on the scale of millions of basepairs long [130]. An important driver of somatic genomicdiversity is retrotransposition [135], the process of transcription from DNA to RNA and subsequent reversetranscription from RNA back to DNA, resulting in duplications of specific genes. Until recently, it was not known ifretrotransposition was restricted to mitotic progenitor cells, i.e., cells that divide to create more cells, or whetherit also occurs in postmitotic cells [136,137]. This is important because reverse transcription is unlikely tofacilitate cognitive memory storage unless it is widespread in healthy postmitotic brain cells. Remarkably,somatic gene recombination, the process that has so far only been found in immune cells, has been recentlyreported in postmitotic healthy human frontal cortex neurons [138–140]. (The validity of this study is underdebate and the results have not yet been independently replicated [141,142]) These findings support the ideathat RNAbased computation system can store the results of computation back into the form of DNA sequences aslongterm memory. This idea had been previously formulated, leading to the prediction that “individual neural cellwill have distinctive spatially and temporally defined genomic sequences and chromatin structure” [143]. In fact,most long noncoding RNA are localized in the nucleus and chromatinassociated [65,144–146]. Beyond neuronsand lymphocytes, RNAmediated genomic editing is known to occur in singlecelled eukaryotes [147,148] andprokaryotes [149]. The longterm and shortterm dichotomy of memory may be a reflection of two forms of RNAbased and DNAbased memory storage [143].Can RNA modifications occur fast enough to potentially facilitate cognition? Two of the most wellstudied RNAprocesses are transcription and translation. RNA Polymerase II transcribes RNA molecules at a rate of 18100 nt/sequivalent to 36200 bits/s [150–154]. And the ribosome translates RNA to protein at a speed of roughly 511aa/s equivalent to 3066 bits/s [154–158]. It is difficult to quantify how fast animals think but studies of differentlanguages show that the information rate of human speech is roughly on the order of 40 bits/s (languages thatare spoken faster have lower bits per syllable than languages that are spoken slower) [159]. These twoinformation rates are within the same order of magnitude and also consistent with the spike rates of typicalneurons (up to 100200Hz). This means that RNA operations can in principle be fast enough to encode/transmitideas communicated in speech as single RNA molecules. (See [38] for a discussion on the feasibility of recordingspiking activity in the form of synthetic polynucleotides from an engineering perspective, rather than anevolutionary one). However, it remains to be shown that modifications of RNA molecules can occur fast enoughto execute computation programs that underly animal cognition. In the models described in this paper, additionof two numbers requires on the order of 10 cleavage/ligation operations. For an RNAbased computation system o facilitate cognition, either more efficient RNA programs must exist or RNA modifications must occur atextremely rapid rates. I propose the theory that an RNAbased computation system exists in living cells that is Turingequivalent, i.e.,capable of computing any computable function. This is significant because life is confronted with problems ofcomputation almost everywhere we look, from animal cognition, to singlecell decisionmaking and embryonicdevelopment. We have internalized the adequacy and the generality of universal computation in technology as weequip almost every device with a microprocessor. Likewise, an RNAbased universal computation system may beused to solve the many seemingly dissimilar problems of biology.The specific models outlined in this paper are meant as a proof of principle that universal computation is wellwithin the reach of molecular biology without needing to invoke implausible molecular processes. The modelsimplement combinatory logic through RNA molecules. Algorithmic complexities are identical to that of Turingmachines (e.g., see Fig 7D). Parentheses are represented by reverse complementary sequences and RNAsecondary structure elegantly solves the problem of parenthesis matching which is crucial to the operations of CLand λ calculus. Universal computation is achieved through a decentralized process where distinct memorylessenzymes make local modifications to RNA molecules according to basic rules. The modifications can happen inparallel across many RNA strands – even at multiple locations within the same strand – and the order ofoperations do not matter. The system does not require a central processing unit or anything resembling a Turingmachine tape head. No component of the model approaches the complexity of the ribosome. Instead,computation is carried out collectively by uncoordinated enzymes.The fact that it is easy to design a universal computation system using RNA, while it is difficult to do so usingnetwork models, is highly suggestive that life’s universal computation system – if there is one – resides in thesubcellular domain and involves polynucleotides. An RNAbased computation system may have evolved in thevery early stages of life – possibly before the evolution of DNA and proteins, consistent with the RNAWorldtheory [160,161]. It is quite easy to stumble upon universal computation in systems that use a symbolic substratethat can grow in its number of symbols [23–26]. Once a universal computation system is established it is hard tosee why it would be discarded throughout evolution. It is possibly the case that the RNAbased computationsystem is the very engine of evolution [162], optimizing mutations of offspring, consistent with recent evidencesurrounding intergenerational inheritance of acquired traits [163,164].Two major evolutionary events can be reinterpreted in the context of this theory. First, the evolution of complexmulticellular organisms – which requires intracellular communication and sophisticated schemes of cooperationand division of labor [165–168] – potentially involved a general method of coordination across the RNAbasedcomputation systems of different cells of the same somatic lineage. If the language of computation is encoded as NA, it is reasonable to consider the theory that the messages conveyed across these cells are primarily in theform of RNA molecules. This is consistent with recent evidence on extracellular trafficking of RNA [169–173].Second, the evolution of neurons and brains – which is thought to have occurred in independent lineages inmetazoans [174–177] – may have served the purpose of rapid communication across cells, rather than serving asan entirely parallel computation system. Electrical/ionic signaling permits fast information transfer andcoordinated motility in large multicellular organisms and has even evolved in plants for fast movement anddecisionmaking based on information collected from sources that are many millimeters apart [178–181]. If priorto neurons the language of intracellular signaling was in the form of RNA, it is reasonable to consider the theorythat neural signals encode RNA sequences that would have otherwise taken too long to export to downstreamtarget cells. In this view, computation is primarily mediated through subcellular RNAbased processes, and theresults of computations are then synaptically transmitted between cells to be used in other computations. This isconsistent with the idea that the memory engram is in the form of polynucleotides – not synaptic plasticity –[27,29]. Of course, this is consistent with the existence of purely network based computations that do not directlyinvolve RNA; network models can augment an RNAbased computation system.The idea that polynucleotides are the substrate of memory can be traced back to the 1960s, when the discovery ofDNA inspired a new scientific approach rooted in the hypothesis that the memory engram is a macromolecule[182–191]. It was hypothesized that “every idea is represented uniquely by a macromolecule with particularcomposition and sequence of monomer constituents” [191] and that “learning and memory depend on changes ingenic material (or the byproducts of genic activity) either in the nucleus or the cytoplasm of the nerve cell soma”[183], and that electrical signals in the nervous system are converted into nucleotide sequences through ahypothetical RNA transduction mechanism [192]. It was even suggested at the time that the molecular processesthat underlie learning and encode new memories may be “ continuous across the phyla (as genetic codes are) andtherefore would be reasonably similar for a protozoan and a mammal ” [193]. These ideas were largely abandonedin the 1970s [194–197] but have been rekindled in recent years [29,30,143,198–201]. The recent revival isrooted in the sobering realization that current theories of synaptic plasticity and network activity cannot explainlearning, memory, and cognition [27,202] and that several lines of evidence bring into question the theory thatsynaptic strengthening/weakening is the primary form of longterm information storage in the brain [29,203–212].The theory of natural RNAbased universal computation makes the falsifiable prediction that RNA molecules aremodified in ways that radically deviate from their genomic templates and that these modifications are causallyinvolved in cognition, cellbehavior, and/or development. Lengthening of RNA strands, through either duplicationof RNA elements or integration of one strand into another, appears to be inevitable for fulfilling memoryexpansion (which is a necessary condition for any universal computation system in which memory usage is welldefined). We currently have very limited evidence for the existence of endogenous RNA sequences that cannot bemapped to the genome or accounting for through known RNA processing mechanisms. Some examples include idespread singlenucleotide variations (that cannot be attributed to ADAR or APOBEC enzymes) [213,214],nongenomically encoded 5’poly(U) tails [115], exon repetition [113,114,116], posttranscriptional exonshuffling [92,93], and chimeric transcripts resulting from posttranscriptional fusion of RNA molecules [215–218](although some of these results have been controversial [219–222]). The scarcity of evidence for extensive RNAediting is not definitive; detection of RNA sequences that are cellspecific or expressed in low numbers isnotoriously difficult with current technology [70]. RNA sequence analysis pipelines typically discard reads thatcannot be mapped to the genome or, in the case of de novo transcript assembly, discard aberrant reads that do notfrequently match other reads. But even if the RNAbased theory is disproved, the fact that universal computationis molecularly feasible and within the reach of evolution suggests that we must then search for life’s universalcomputation system elsewhere. I would like to thank Gaby Maimon (Rockefeller University), Jeremy Dittman (Weill Cornell Medicine), AbbasRizvi (Columbia University), John Mattick (University of New South Wales), and Charles Randy Gallistel (RutgersUniversity) for the discussions and their useful comments on this work.
1. Dexter JP, Prabakaran S, Gunawardena J. A Complex Hierarchy of Avoidance Behaviors in a Single-Cell Eukaryote. Curr Biol.2019;29: 4323-4329.e2. doi:10.1016/j.cub.2019.10.0592. Boker U, Dershowitz N. How to Compare the Power of Computational Models. 2005. pp. 54–64. doi:10.1007/11494645_73. Boker U, Dershowitz N. Comparing Computational Power. Log J IGPL. 2006;14: 633–647. doi:10.1093/jigpal/jzl0034. Boker U, Dershowitz N. The Church-Turing Thesis over Arbitrary Domains. In: Avron A, Dershowitz N, Rabinovich A, editors.Pillars of Computer Science: Essays Dedicated to Boris (Boaz) Trakhtenbrot on the Occasion of His 85th Birthday. Berlin,Heidelberg: Springer; 2008. pp. 199–229. doi:10.1007/978-3-540-78127-1_125. Church A. An Unsolvable Problem of Elementary Number Theory. Am J Math. 1936;58: 345–363. doi:10.2307/23710456. Dershowitz N, Gurevich Y. A Natural Axiomatization of Computability and Proof of Church’s Thesis. Bull Symb Log. 2008;14:299–350. doi:10.2178/bsl/12310813707. Kleene SC. $\lambda$-definability and recursiveness. Duke Math J. 1936;2: 340–353. doi:10.1215/S0012-7094-36-00227-28. Turing AM. On computable numbers, with an application to the Entscheidungsproblem. J Math. 1936;58: 5. 9. Turing AM. Computability and λ-definability. J Symb Log. 1937;2: 153–163. doi:10.2307/226828010. Turing AM. The þ-function in λ-K-conversion. J Symb Log. 1937;2: 164–164. doi:10.2307/2268281
1. Moore C. Unpredictability and undecidability in dynamical systems. Phys Rev Lett. 1990;64: 2354–2357.doi:10.1103/PhysRevLett.64.235412. Moore C. Generalized shifts: unpredictability and undecidability in dynamical systems. Nonlinearity. 1991;4: 199–230.doi:10.1088/0951-7715/4/2/00213. Siegelmann HT, Sontag ED. Turing computability with neural nets. Appl Math Lett. 1991;4: 77–80. doi:10.1016/0893-9659(91)90080-F14. Hjelmfelt A, Weinberger ED, Ross J. Chemical implementation of neural networks and Turing machines. Proc Natl Acad Sci.1991;88: 10983–10987. doi:10.1073/pnas.88.24.1098315. Sterling P, Laughlin S. Principles of Neural Design. The MIT Press; 2015. doi:10.2307/j.ctt17kk98216. Asarin E, Maler O, Pnueli A. Reachability analysis of dynamical systems having piecewise-constant derivatives. Theor ComputSci. 1995;138: 35–65. doi:10.1016/0304-3975(94)00228-B17. Branicky MS. Universal computation and other capabilities of hybrid and continuous dynamical systems. Theor Comput Sci.1995;138: 67–100. doi:10.1016/0304-3975(94)00147-B18. Graça DS, Campagnolo ML, Buescu J. Robust Simulations of Turing Machines with Analytic Maps and Flows. In: Cooper SB,Löwe B, Torenvliet L, editors. New Computational Paradigms. Berlin, Heidelberg: Springer; 2005. pp. 169–179.doi:10.1007/11494645_2119. Koiran P, Moore C. Closed-form analytic maps in one and two dimensions can simulate universal turing machines. TheorComput Sci. 1999;210: 217–223. doi:10.1016/S0304-3975(98)00117-020. Koiran P, Cosnard M, Garzon M. Computability with low-dimensional dynamical systems. Theor Comput Sci. 1994;132: 113–128. doi:10.1016/0304-3975(94)90229-121. Reif JH, Tygar JD, Yoshida A. The computability and complexity of optical beam tracing. Proceedings [1990] 31st AnnualSymposium on Foundations of Computer Science. 1990. pp. 106–114 vol.1. doi:10.1109/FSCS.1990.8952922. Moore C. Finite-dimensional analog computers: Flows, maps, and recurrent neural networks. 1st International Conference onUnconventional Models of Computation-UMC. 1998. pp. 59–71. 23. Rendell P. Turing Universality of the Game of Life. In: Adamatzky A, editor. Collision-Based Computing. London: Springer;2002. pp. 513–539. doi:10.1007/978-1-4471-0129-1_1824. Cook M. Universality in Elementary Cellular Automata. Complex Syst. 2004; 40. 25. Cardone F, Hindley JR. History of lambda-calculus and combinatory logic. Handb Hist Log. 2006;5: 723–817. 26. Schönfinkel M. Über die Bausteine der mathematischen Logik. Math Ann. 1924;92: 305–316. doi:10.1007/BF0144801327. Gallistel C, King A. Memory and the Computational Brain: Why Cognitive Science Will Transform Neuroscience. 2009; 288–298. doi:10.1002/9781444310498.refs28. Graves A, Wayne G, Danihelka I. Neural Turing Machines. ArXiv14105401 Cs. 2014 [cited 24 Sep 2020]. Available:http://arxiv.org/abs/1410.540129. Gallistel CR. The Coding Question. Trends Cogn Sci. 2017;21: 498–508. doi:10.1016/j.tics.2017.04.012
0. Langille JJ, Gallistel CR. Locating the engram: Should we look for plastic synapses or information-storing molecules? NeurobiolLearn Mem. 2020;169: 107164. doi:10.1016/j.nlm.2020.10716431. Chen J, Wood DH. Computation with biomolecules. Proc Natl Acad Sci. 2000;97: 1328–1330. doi:10.1073/pnas.97.4.132832. Currin A, Korovin K, Ababi M, Roper K, Kell DB, Day PJ, et al. Computing exponentially faster: implementing a non-deterministic universal Turing machine using DNA. J R Soc Interface. 2017;14: 20160990. doi:10.1098/rsif.2016.099033. Faulhammer D, Cukras AR, Lipton RJ, Landweber LF. Molecular computation: RNA solutions to chess problems. Proc NatlAcad Sci. 2000;97: 1385–1389. doi:10.1073/pnas.97.4.138534. Qian L, Soloveichik D, Winfree E. Efficient Turing-Universal Computation with DNA Polymers. In: Sakakibara Y, Mi Y, editors.DNA Computing and Molecular Programming. Berlin, Heidelberg: Springer; 2011. pp. 123–140. doi:10.1007/978-3-642-18305-8_1235. Ruben AJ, Landweber LF. The past, present and future of molecular computing. Nat Rev Mol Cell Biol. 2000;1: 69–72.doi:10.1038/3503608636. Shapiro E, Gil B. RNA Computing in a Living Cell. Science. 2008;322: 387–388. doi:10.1126/science.116566537. Win MN, Smolke CD. Higher-Order Cellular Information Processing with Synthetic RNA Devices. Science. 2008;322: 456–460.doi:10.1126/science.116031138. Glaser JI, Zamft BM, Marblestone AH, Moffitt JR, Tyo K, Boyden ES, et al. Statistical Analysis of Molecular Signal Recording.PLOS Comput Biol. 2013;9: e1003145. doi:10.1371/journal.pcbi.100314539. Piovesan A, Caracausi M, Antonaros F, Pelleri MC, Vitale L. GeneBase 1.1: a tool to summarize data from NCBI gene datasetsand its application to an update of human gene statistics. Database J Biol Databases Curation. 2016;2016.doi:10.1093/database/baw15340. ENCODE Project Consortium, Birney E, Stamatoyannopoulos JA, Dutta A, Guigó R, Gingeras TR, et al. Identification andanalysis of functional elements in 1% of the human genome by the ENCODE pilot project. Nature. 2007;447: 799–816.doi:10.1038/nature0587441. Kapranov P, St. Laurent G. Dark Matter RNA: Existence, Function, and Controversy. Front Genet. 2012;3.doi:10.3389/fgene.2012.0006042. Clark MB, Amaral PP, Schlesinger FJ, Dinger ME, Taft RJ, Rinn JL, et al. The Reality of Pervasive Transcription. PLOS Biol.2011;9: e1000625. doi:10.1371/journal.pbio.100062543. Bakel H van, Nislow C, Blencowe BJ, Hughes TR. Response to “The Reality of Pervasive Transcription.” PLOS Biol. 2011;9:e1001102. doi:10.1371/journal.pbio.100110244. Cheng J, Kapranov P, Drenkow J, Dike S, Brubaker S, Patel S, et al. Transcriptional Maps of 10 Human Chromosomes at 5-Nucleotide Resolution. Science. 2005;308: 1149–1154. doi:10.1126/science.110862545. Dinger ME, Amaral PP, Mercer TR, Mattick JS. Pervasive transcription of the eukaryotic genome: functional indices andconceptual implications. Brief Funct Genomics. 2009;8: 407–423. doi:10.1093/bfgp/elp03846. Kapranov P, St Laurent G, Raz T, Ozsolak F, Reynolds CP, Sorensen PH, et al. The majority of total nuclear-encoded non-ribosomal RNA in a human cell is “dark matter” un-annotated RNA. BMC Biol. 2010;8: 149. doi:10.1186/1741-7007-8-14947. Palazzo AF, Gregory TR. The Case for Junk DNA. PLOS Genet. 2014;10: e1004351. doi:10.1371/journal.pgen.1004351
8. Doolittle WF. Is junk DNA bunk? A critique of ENCODE. Proc Natl Acad Sci. 2013;110: 5294–5300.doi:10.1073/pnas.122137611049. ENCODE Project Consortium. An integrated encyclopedia of DNA elements in the human genome. Nature. 2012;489: 57–74.doi:10.1038/nature1124750. Freedman ML, Monteiro ANA, Gayther SA, Coetzee GA, Risch A, Plass C, et al. Principles for the post-GWAS functionalcharacterization of cancer risk loci. Nat Genet. 2011;43: 513–518. doi:10.1038/ng.84051. Graur D, Zheng Y, Price N, Azevedo RBR, Zufall RA, Elhaik E. On the Immortality of Television Sets: “Function” in the HumanGenome According to the Evolution-Free Gospel of ENCODE. Genome Biol Evol. 2013;5: 578–590. doi:10.1093/gbe/evt02852. Lee H, Zhang Z, Krause HM. Long Noncoding RNAs and Repetitive Elements: Junk or Intimate Evolutionary Partners? TrendsGenet. 2019;35: 892–902. doi:10.1016/j.tig.2019.09.00653. Linquist S, Doolittle WF, Palazzo AF. Getting clear about the F-word in genomics. PLOS Genet. 2020;16: e1008702.doi:10.1371/journal.pgen.100870254. Mattick JS, Dinger ME. The extent of functionality in the human genome. HUGO J. 2013;7: 2. doi:10.1186/1877-6566-7-255. Niu D-K, Jiang L. Can ENCODE tell us how much junk DNA we carry in our genome? Biochem Biophys Res Commun.2013;430: 1340–1343. doi:10.1016/j.bbrc.2012.12.07456. Palazzo AF, Lee ES. Non-coding RNA: what is functional and what is junk? Front Genet. 2015;6. doi:10.3389/fgene.2015.0000257. Pheasant M, Mattick JS. Raising the estimate of functional human sequences. Genome Res. 2007;17: 1245–1253.doi:10.1101/gr.640630758. Graur D. An Upper Limit on the Functional Fraction of the Human Genome. Genome Biol Evol. 2017;9: 1880–1885.doi:10.1093/gbe/evx12159. Ponting CP, Hardison RC. What fraction of the human genome is functional? Genome Res. 2011;21: 1769–1776.doi:10.1101/gr.116814.11060. Rands CM, Meader S, Ponting CP, Lunter G. 8.2% of the Human Genome Is Constrained: Variation in Rates of Turnover acrossFunctional Element Classes in the Human Lineage. PLOS Genet. 2014;10: e1004525. doi:10.1371/journal.pgen.100452561. Aprea J, Calegari F. Long non-coding RNAs in corticogenesis: deciphering the non-coding code of the brain. EMBO J. 2015;34:2865–2884. doi:10.15252/embj.20159265562. Smith MA, Gesell T, Stadler PF, Mattick JS. Widespread purifying selection on RNA structure in mammals. Nucleic Acids Res.2013;41: 8220–8236. doi:10.1093/nar/gkt59663. Washietl S, Hofacker IL, Lukasser M, Hüttenhofer A, Stadler PF. Mapping of conserved RNA secondary structures predictsthousands of functional noncoding RNAs in the human genome. Nat Biotechnol. 2005;23: 1383–1390. doi:10.1038/nbt114464. Derrien T, Johnson R, Bussotti G, Tanzer A, Djebali S, Tilgner H, et al. The GENCODE v7 catalog of human long noncodingRNAs: analysis of their gene structure, evolution, and expression. Genome Res. 2012;22: 1775–1789. doi:10.1101/gr.132159.11165. Guttman M, Amit I, Garber M, French C, Lin MF, Feldser D, et al. Chromatin signature reveals over a thousand highly conservedlarge non-coding RNAs in mammals. Nature. 2009;458: 223–227. doi:10.1038/nature0767266. Kutter C, Watt S, Stefflova K, Wilson MD, Goncalves A, Ponting CP, et al. Rapid Turnover of Long Noncoding RNAs and theEvolution of Gene Expression. PLOS Genet. 2012;8: e1002841. doi:10.1371/journal.pgen.1002841
7. Ponjavic J, Ponting CP, Lunter G. Functionality or transcriptional noise? Evidence for selection within long noncoding RNAs.Genome Res. 2007;17: 556–565. doi:10.1101/gr.603680768. Stephen S, Pheasant M, Makunin IV, Mattick JS. Large-scale appearance of ultraconserved elements in tetrapod genomes andslowdown of the molecular clock. Mol Biol Evol. 2008;25: 402–408. doi:10.1093/molbev/msm26869. Cabili MN, Trapnell C, Goff L, Koziol M, Tazon-Vega B, Regev A, et al. Integrative annotation of human large intergenicnoncoding RNAs reveals global properties and specific subclasses. Genes Dev. 2011;25: 1915–1927. doi:10.1101/gad.1744661170. Gloss BS, Dinger ME. The specificity of long noncoding RNA expression. Biochim Biophys Acta BBA - Gene Regul Mech.2016;1859: 16–22. doi:10.1016/j.bbagrm.2015.08.00571. Ravasi T, Suzuki H, Pang KC, Katayama S, Furuno M, Okunishi R, et al. Experimental validation of the regulated expression oflarge numbers of non-coding RNAs from the mouse genome. Genome Res. 2006;16: 11–19. doi:10.1101/gr.420020672. Mercer TR, Dinger ME, Sunkin SM, Mehler MF, Mattick JS. Specific expression of long noncoding RNAs in the mouse brain.Proc Natl Acad Sci U S A. 2008;105: 716–721. doi:10.1073/pnas.070672910573. Sone M, Hayashi T, Tarui H, Agata K, Takeichi M, Nakagawa S. The mRNA-like noncoding RNA Gomafu constitutes a novelnuclear domain in a subset of neurons. J Cell Sci. 2007;120: 2498–2506. doi:10.1242/jcs.00935774. Li R, Ren X, Ding Q, Bi Y, Xie D, Zhao Z. Direct full-length RNA sequencing reveals unexpected transcriptome complexityduring Caenorhabditis elegans development. Genome Res. 2020. doi:10.1101/gr.251512.11975. Pauli A, Valen E, Lin MF, Garber M, Vastenhouw NL, Levin JZ, et al. Systematic identification of long noncoding RNAsexpressed during zebrafish embryogenesis. Genome Res. 2012;22: 577–591. doi:10.1101/gr.133009.11176. Bartonicek N, Clark MB, Quek XC, Torpy JR, Pritchard AL, Maag JLV, et al. Intergenic disease-associated regions are abundantin novel transcripts. Genome Biol. 2017;18: 241. doi:10.1186/s13059-017-1363-377. St. Laurent G, Vyatkin Y, Kapranov P. Dark matter RNA illuminates the puzzle of genome-wide association studies. BMC Med.2014;12: 97. doi:10.1186/1741-7015-12-9778. Hon C-C, Ramilowski JA, Harshbarger J, Bertin N, Rackham OJL, Gough J, et al. An atlas of human long non-coding RNAswith accurate 5′ ends. Nature. 2017;543: 199–204. doi:10.1038/nature2137479. Liu G, Mattick J, Taft RJ. A meta-analysis of the genomic and transcriptomic composition of complex life. Cell Cycle. 2013;12:2061–2072. doi:10.4161/cc.2513480. Mattick JS. RNA regulation: a new genetics? Nat Rev Genet. 2004;5: 316–323. doi:10.1038/nrg132181. Taft RJ, Pheasant M, Mattick JS. The relationship between non-protein-coding DNA and eukaryotic complexity. BioEssays.2007;29: 288–299. doi:10.1002/bies.2054482. Mogensen TÆ. An Investigation of Compact and Efficient Number Representations in the Pure Lambda Calculus. In: Bjørner D,Broy M, Zamulin AV, editors. Perspectives of System Informatics. Berlin, Heidelberg: Springer; 2001. pp. 205–213.doi:10.1007/3-540-45575-2_2083. McFleder RL, Mansur F, Richter JD. Dynamic Control of Dendritic mRNA Expression by CNOT7 Regulates Synaptic Efficacyand Higher Cognitive Function. Cell Rep. 2017;20: 683–696. doi:10.1016/j.celrep.2017.06.07884. Udagawa T, Swanger SA, Takeuchi K, Kim JH, Nalavadi V, Shin J, et al. Bidirectional control of mRNA translation and synapticplasticity by the cytoplasmic polyadenylation complex. Mol Cell. 2012;47: 253–266. doi:10.1016/j.molcel.2012.05.016
5. Elkon R, Ugalde AP, Agami R. Alternative cleavage and polyadenylation: extent, regulation and function. Nat Rev Genet.2013;14: 496–506. doi:10.1038/nrg348286. Flavell SW, Kim T-K, Gray JM, Harmin DA, Hemberg M, Hong EJ, et al. Genome-wide analysis of MEF2 transcriptionalprogram reveals synaptic target genes and neuronal activity-dependent polyadenylation site selection. Neuron. 2008;60: 1022–1038. doi:10.1016/j.neuron.2008.11.02987. Guvenek A, Tian B. Analysis of alternative cleavage and polyadenylation in mature and differentiating neurons using RNA-seqdata. Quant Biol. 2018;6: 253–266. doi:10.1007/s40484-018-0148-388. Miura P, Shenker S, Andreu-Agullo C, Westholm JO, Lai EC. Widespread and extensive lengthening of 3′ UTRs in themammalian brain. Genome Res. 2013;23: 812–825. doi:10.1101/gr.146886.11289. Martí E, Pantano L, Bañez-Coronel M, Llorens F, Miñones-Moyano E, Porta S, et al. A myriad of miRNA variants in control andHuntington’s disease brain regions detected by massively parallel sequencing. Nucleic Acids Res. 2010;38: 7219–7235.doi:10.1093/nar/gkq57590. Cocquerelle C, Daubersies P, Majérus MA, Kerckaert JP, Bailleul B. Splicing with inverted order of exons occurs proximal tolarge introns. EMBO J. 1992;11: 1095–1098. 91. Nigro JM, Cho KR, Fearon ER, Kern SE, Ruppert JM, Oliner JD, et al. Scrambled exons. Cell. 1991;64: 607–613.doi:10.1016/0092-8674(91)90244-S92. Al-Balool HH, Weber D, Liu Y, Wade M, Guleria K, Nam PLP, et al. Post-transcriptional exon shuffling events in humans can beevolutionarily conserved and abundant. Genome Res. 2011;21: 1788–1799. doi:10.1101/gr.116442.11093. Dixon RJ, Eperon IC, Hall L, Samani NJ. A genome-wide survey demonstrates widespread non-linear mRNA in expressedsequences from multiple species. Nucleic Acids Res. 2005;33: 5904–5913. doi:10.1093/nar/gki89394. Hamilton ML (Monica L. Conservation of exon scrambling in human and mouse. Thesis, Massachusetts Institute of Technology.2012. Available: https://dspace.mit.edu/handle/1721.1/7282295. Horiuchi T, Aigaki T. Alternative trans-splicing: a novel mode of pre-mRNA processing. Biol Cell. 2006;98: 135–140.doi:10.1042/BC2005000296. Kong R. Studies of exon scrambling and mutually exclusive alternative splicing. Thesis, Massachusetts Institute of Technology.2005. Available: https://dspace.mit.edu/handle/1721.1/2893897. Shao X, Shepelev V, Fedorov A. Bioinformatic analysis of exon repetition, exon scrambling and trans-splicing in humans.Bioinforma Oxf Engl. 2006;22: 692–698. doi:10.1093/bioinformatics/bti79598. Lim D, Maas WK. Reverse transcriptase in bacteria. Mol Microbiol. 1989;3: 1141–1144. doi:10.1111/j.1365-2958.1989.tb00264.x99. Simon DM, Zimmerly S. A diversity of uncharacterized reverse transcriptases in bacteria. Nucleic Acids Res. 2008;36: 7219–7229. doi:10.1093/nar/gkn867100. Lehmann E, Brueckner F, Cramer P. Molecular basis of RNA-dependent RNA polymerase II activity. Nature. 2007;450: 445–449. doi:10.1038/nature06290101. Chang J, Nie X, Chang HE, Han Z, Taylor J. Transcription of Hepatitis Delta Virus RNA by RNA Polymerase II. J Virol.2008;82: 1118–1127. doi:10.1128/JVI.01758-07
02. Chang W-S, Pettersson JH-O, Le Lay C, Shi M, Lo N, Wille M, et al. Novel hepatitis D-like agents in vertebrates andinvertebrates. Virus Evol. 2019;5. doi:10.1093/ve/vez021103. Lai MMC. RNA Replication without RNA-Dependent RNA Polymerase: Surprises from Hepatitis Delta Virus. J Virol. 2005;79:7951–7958. doi:10.1128/JVI.79.13.7951-7958.2005104. Tseng C-H, Lai MMC. Hepatitis Delta Virus RNA Replication. Viruses. 2009;1: 818–831. doi:10.3390/v1030818105. Flores R, Grubb D, Elleuch A, Nohales M-Á, Delgado S, Gago S. Rolling-circle replication of viroids, viroid-like satellite RNAsand hepatitis delta virus: variations on a theme. RNA Biol. 2011;8: 200–206. doi:10.4161/rna.8.2.14238106. Biebricher CK, Luce R. Template-free generation of RNA species that replicate with bacteriophage T7 RNA polymerase. EMBOJ. 1996;15: 3458–3465. doi:10.1002/j.1460-2075.1996.tb00712.x107. Biebricher CK, Orgel LE. An RNA that Multiplies Indefinitely with DNA-Dependent RNA Polymerase: Selection from aRandom Copolymer. Proc Natl Acad Sci. 1973;70: 934–938. doi:10.1073/pnas.70.3.934108. Jain N, Blauch LR, Szymanski MR, Das R, Tang SKY, Yin YW, et al. Transcription polymerase–catalyzed emergence of novelRNA replicons. Science. 2020 [cited 5 Apr 2020]. doi:10.1126/science.aay0688109. Kakimoto Y, Fujinuma A, Fujita S, Kikuchi Y, Umekage S. Abnormal rapid non-linear RNA production induced by T7 RNApolymerase in the absence of an exogenous DNA template. AIP Conf Proc. 2015;1649: 113–115. doi:10.1063/1.4913554110. Konarska MM, Sharp PA. Replication of RNA by the DNA-dependent RNA polymerase of phage T7. Cell. 1989;57: 423–431.doi:10.1016/0092-8674(89)90917-3111. Konarska MM, Sharp PA. Structure of RNAs replicated by the DNA-dependent T7 RNA polymerase. Cell. 1990;63: 609–618.doi:10.1016/0092-8674(90)90456-O112. Wettich A, Biebricher CK. RNA Species that Replicate with DNA-Dependent RNA Polymerase from Escherichia coli.Biochemistry. 2001;40: 3308–3315. doi:10.1021/bi002756g113. Dixon RJ, Eperon IC, Samani NJ. Complementary intron sequence motifs associated with human exon repetition: a role forintragenic, inter-transcript interactions in gene expression. Bioinformatics. 2007;23: 150–155. doi:10.1093/bioinformatics/btl575114. Frantz SA, Thiara AS, Lodwick D, Ng LL, Eperon IC, Samani NJ. Exon repetition in mRNA. Proc Natl Acad Sci. 1999;96:5400–5405. doi:10.1073/pnas.96.10.5400115. Kapranov P, Ozsolak F, Kim SW, Foissac S, Lipson D, Hart C, et al. New class of gene-termini-associated human RNAs suggestsa novel RNA copying mechanism. Nature. 2010;466: 642–646. doi:10.1038/nature09190116. Rigatti R, Jia J-H, Samani NJ, Eperon IC. Exon repetition: a major pathway for processing mRNA of some genes is allele-specific. Nucleic Acids Res. 2004;32: 441–446. doi:10.1093/nar/gkh197117. Wan Y, Kertesz M, Spitale RC, Segal E, Chang HY. Understanding the transcriptome through RNA structure. Nat Rev Genet.2011;12: 641–655. doi:10.1038/nrg3049118. Liddicoat BJ, Piskol R, Chalk AM, Ramaswami G, Higuchi M, Hartner JC, et al. RNA editing by ADAR1 prevents MDA5sensing of endogenous dsRNA as nonself. Science. 2015;349: 1115–1120. doi:10.1126/science.aac7049119. White E, Schlackow M, Kamieniarz-Gdula K, Proudfoot NJ, Gullerova M. Human nuclear Dicer restricts the deleteriousaccumulation of endogenous double-stranded RNA. Nat Struct Mol Biol. 2014;21: 552–559. doi:10.1038/nsmb.2827
20. Marek MS, Johnson-Buck A, Walter NG. The shape-shifting quasispecies of RNA: One sequence, many functional folds. PhysChem Chem Phys. 2011;13: 11524–11537. doi:10.1039/c1cp20576e121. Lu Z, Zhang QC, Lee B, Flynn RA, Smith MA, Robinson JT, et al. RNA Duplex Map in Living Cells Reveals Higher-OrderTranscriptome Structure. Cell. 2016;165: 1267–1279. doi:10.1016/j.cell.2016.04.028122. Fang S, Zhang L, Guo J, Niu Y, Wu Y, Li H, et al. NONCODEV5: a comprehensive annotation database for long non-codingRNAs. Nucleic Acids Res. 2018;46: D308–D314. doi:10.1093/nar/gkx1107123. Yoffe AM, Prinsen P, Gelbart WM, Ben-Shaul A. The ends of a large RNA molecule are necessarily close. Nucleic Acids Res.2011;39: 292–299. doi:10.1093/nar/gkq642124. Mustoe AM, Busan S, Rice GM, Hajdin CE, Peterson BK, Ruda VM, et al. Pervasive Regulatory Functions of mRNA StructureRevealed by High-Resolution SHAPE Probing. Cell. 2018;173: 181-195.e18. doi:10.1016/j.cell.2018.02.034125. Mathews DH, Disney MD, Childs JL, Schroeder SJ, Zuker M, Turner DH. Incorporating chemical modification constraints into adynamic programming algorithm for prediction of RNA secondary structure. Proc Natl Acad Sci U S A. 2004;101: 7287–7292.doi:10.1073/pnas.0401799101126. Clark MB, Johnston RL, Inostroza-Ponta M, Fox AH, Fortini E, Moscato P, et al. Genome-wide analysis of long noncoding RNAstability. Genome Res. 2012;22: 885–898. doi:10.1101/gr.131037.111127. Tani H, Mizutani R, Salam KA, Tano K, Ijiri K, Wakamatsu A, et al. Genome-wide determination of RNA stability revealshundreds of short-lived noncoding transcripts in mammals. Genome Res. 2012;22: 947–956. doi:10.1101/gr.130559.111128. Biesecker LG, Spinner NB. A genomic view of mosaicism and human disease. Nat Rev Genet. 2013;14: 307–320.doi:10.1038/nrg3424129. Cai X, Evrony GD, Lehmann HS, Elhosary PC, Mehta BK, Poduri A, et al. Single-cell, genome-wide sequencing identifiesclonal somatic copy-number variation in the human brain. Cell Rep. 2014;8: 1280–1289. doi:10.1016/j.celrep.2014.07.043130. McConnell MJ, Lindberg MR, Brennand KJ, Piper JC, Voet T, Cowing-Zitron C, et al. Mosaic Copy Number Variation in HumanNeurons. Science. 2013;342: 632–637. doi:10.1126/science.1243472131. Upton KR, Gerhardt DJ, Jesuadian JS, Richardson SR, Sánchez-Luque FJ, Bodea GO, et al. Ubiquitous L1 Mosaicism inHippocampal Neurons. Cell. 2015;161: 228–239. doi:10.1016/j.cell.2015.03.026132. Westra JW, Rivera RR, Bushman DM, Yung YC, Peterson SE, Barral S, et al. Neuronal DNA content variation (DCV) withregional and individual differences in the human brain. J Comp Neurol. 2010;518: 3981–4000. doi:10.1002/cne.22436133. Evrony GD. One brain, many genomes. Science. 2016;354: 557–558. doi:10.1126/science.aak9761134. Treiber CD, Waddell S. Resolving the prevalence of somatic transposition in Drosophila. Flint J, editor. eLife. 2017;6: e28297.doi:10.7554/eLife.28297135. Coufal NG, Garcia-Perez JL, Peng GE, Yeo GW, Mu Y, Lovci MT, et al. L1 retrotransposition in human neural progenitor cells.Nature. 2009;460: 1127–1131. doi:10.1038/nature08248136. Bodea GO, McKelvey EGZ, Faulkner GJ. Retrotransposon-induced mosaicism in the neural genome. Open Biol. 2018;8.doi:10.1098/rsob.180074137. Rohrback S, Siddoway B, Liu CS, Chun J. Genomic mosaicism in the developing and adult brain. Dev Neurobiol. 2018;78:1026–1048. doi:10.1002/dneu.22626
38. Chai G, Gleeson JG. A newly discovered mechanism driving neuronal mutations in Alzheimer’s disease. Nature. 2018;563: 631–632. doi:10.1038/d41586-018-07334-9139. Lee M-H, Chun J. Mosaic APP Gene Recombination in Alzheimer’s Disease—What’s Next? J Exp Neurosci. 2019;13.doi:10.1177/1179069519849669140. Lee M-H, Siddoway B, Kaeser GE, Segota I, Rivera R, Romanow WJ, et al. Somatic APP gene recombination in Alzheimer’sdisease and normal neurons. Nature. 2018;563: 639–645. doi:10.1038/s41586-018-0718-6141. Lee M-H, Liu CS, Zhu Y, Kaeser GE, Rivera R, Romanow WJ, et al. Reply to: APP gene copy number changes reflect exogenouscontamination. Nature. 2020;584: E29–E33. doi:10.1038/s41586-020-2523-2142. Kim J, Zhao B, Huang AY, Miller MB, Lodato MA, Walsh CA, et al. APP gene copy number changes reflect exogenouscontamination. Nature. 2020;584: E20–E28. doi:10.1038/s41586-020-2522-3143. Mattick JS, Mehler MF. RNA editing, DNA recoding and the evolution of human cognition. Trends Neurosci. 2008;31: 227–233.doi:10.1016/j.tins.2008.02.003144. Khalil AM, Guttman M, Huarte M, Garber M, Raj A, Morales DR, et al. Many human large intergenic noncoding RNAsassociate with chromatin-modifying complexes and affect gene expression. Proc Natl Acad Sci. 2009;106: 11667–11672.doi:10.1073/pnas.0904715106145. Mattick JS. The State of Long Non-Coding RNA Biology. Non-Coding RNA. 2018;4: 17. doi:10.3390/ncrna4030017146. Tsai M-C, Manor O, Wan Y, Mosammaparast N, Wang JK, Lan F, et al. Long Noncoding RNA as Modular Scaffold of HistoneModification Complexes. Science. 2010;329: 689–693. doi:10.1126/science.1192002147. Chen X, Bracht JR, Goldman AD, Dolzhenko E, Clay DM, Swart EC, et al. The Architecture of a Scrambled Genome RevealsMassive Levels of Genomic Rearrangement during Development. Cell. 2014;158: 1187–1198. doi:10.1016/j.cell.2014.07.034148. Nowacki M, Vijayan V, Zhou Y, Schotanus K, Doak TG, Landweber LF. RNA-mediated epigenetic programming of a genome-rearrangement pathway. Nature. 2008;451: 153–158. doi:10.1038/nature06452149. Mohanraju P, Makarova KS, Zetsche B, Zhang F, Koonin EV, Oost J van der. Diverse evolutionary roots and mechanisticvariations of the CRISPR-Cas systems. Science. 2016;353. doi:10.1126/science.aad5147150. Darzacq X, Shav-Tal Y, de Turris V, Brody Y, Shenoy SM, Phair RD, et al. In vivo dynamics of RNA polymerase II transcription.Nat Struct Mol Biol. 2007;14: 796–806. doi:10.1038/nsmb1280151. Kos M, Tollervey D. Yeast pre-rRNA processing and modification occur cotranscriptionally. Mol Cell. 2010;37: 809–820.doi:10.1016/j.molcel.2010.02.024152. Landenmark HKE, Forgan DH, Cockell CS. An Estimate of the Total DNA in the Biosphere. PLoS Biol. 2015;13: e1002168.doi:10.1371/journal.pbio.1002168153. Malinen AM, Turtola M, Parthiban M, Vainonen L, Johnson MS, Belogurov GA. Active site opening and closure controltranslocation of multisubunit RNA polymerase. Nucleic Acids Res. 2012;40: 7442–7451. doi:10.1093/nar/gks383154. Milo R, Jorgensen P, Moran U, Weber G, Springer M. BioNumbers—the database of key numbers in molecular and cell biology.Nucleic Acids Res. 2010;38: D750–D753. doi:10.1093/nar/gkp889155. Guet CC, Bruneaux L, Min TL, Siegal-Gaskins D, Figueroa I, Emonet T, et al. Minimally invasive determination of mRNAconcentration in single living bacteria. Nucleic Acids Res. 2008;36: e73. doi:10.1093/nar/gkn329
56. Olofsson SO, Boström K, Carlsson P, Borén J, Wettesten M, Bjursell G, et al. Structure and biosynthesis of apolipoprotein B. AmHeart J. 1987;113: 446–452. doi:10.1016/0002-8703(87)90612-0157. Siwiak M, Zielenkiewicz P. Transimulation - protein biosynthesis web service. PloS One. 2013;8: e73943.doi:10.1371/journal.pone.0073943158. Wang F, Durfee LA, Huibregtse JM. A cotranslational ubiquitination pathway for quality control of misfolded proteins. Mol Cell.2013;50: 368–378. doi:10.1016/j.molcel.2013.03.009159. Coupé C, Oh YM, Dediu D, Pellegrino F. Different languages, similar encoding efficiency: Comparable information rates acrossthe human communicative niche. Sci Adv. 2019;5: eaaw2594. doi:10.1126/sciadv.aaw2594160. Gilbert W. Origin of life: The RNA world. Nature. 1986;319: 618–618. doi:10.1038/319618a0161. Higgs PG, Lehman N. The RNA World: molecular cooperation at the origins of life. Nat Rev Genet. 2015;16: 7–17.doi:10.1038/nrg3841162. Mattick JS. Has evolution learnt how to learn? EMBO Rep. 2009;10: 665. doi:10.1038/embor.2009.135163. Benito E, Kerimoglu C, Ramachandran B, Pena-Centeno T, Jain G, Stilling RM, et al. RNA-Dependent IntergenerationalInheritance of Enhanced Synaptic Plasticity after Environmental Enrichment. Cell Rep. 2018;23: 546–554.doi:10.1016/j.celrep.2018.03.059164. Wang Y, Liu H, Sun Z. Lamarck rises from his grave: parental environment-induced epigenetic inheritance in model organismsand humans. Biol Rev. 2017;92: 2084–2111. doi:10.1111/brv.12322165. Brunet T, King N. The origin of animal multicellularity and cell differentiation. Dev Cell. 2017;43: 124–140.doi:10.1016/j.devcel.2017.09.016166. Cavalier-Smith T. Origin of animal multicellularity: precursors, causes, consequences—the choanoflagellate/sponge transition,neurogenesis and the Cambrian explosion. Philos Trans R Soc B Biol Sci. 2017;372: 20150476. doi:10.1098/rstb.2015.0476167. Knoll AH. The Multiple Origins of Complex Multicellularity. Annu Rev Earth Planet Sci. 2011;39: 217–239.doi:10.1146/annurev.earth.031208.100209168. Niklas KJ, Newman SA. The origins of multicellular organisms. Evol Dev. 2013;15: 41–52. doi:10.1111/ede.12013169. Ashley J, Cordy B, Lucia D, Fradkin LG, Budnik V, Thomson T. Retrovirus-like Gag Protein Arc1 Binds RNA and Trafficsacross Synaptic Boutons. Cell. 2018;172: 262-274.e11. doi:10.1016/j.cell.2017.12.022170. Bär C, Thum T, de Gonzalo-Calvo D. Circulating miRNAs as mediators in cell-to-cell communication. Epigenomics. 2019;11:111–113. doi:10.2217/epi-2018-0183171. Bayraktar R, Van Roosbroeck K, Calin GA. Cell-to-cell communication: microRNAs as hormones. Mol Oncol. 2017;11: 1673–1686. doi:10.1002/1878-0261.12144172. Dinger ME, Mercer TR, Mattick JS. RNAs as extracellular signaling molecules. J Mol Endocrinol. 2008;40: 151–159.doi:10.1677/JME-07-0160173. Pastuzyn ED, Day CE, Kearns RB, Kyrke-Smith M, Taibi AV, McCormick J, et al. The Neuronal Gene Arc Encodes aRepurposed Retrotransposon Gag Protein that Mediates Intercellular RNA Transfer. Cell. 2018;172: 275-288.e18.doi:10.1016/j.cell.2017.12.024
74. Burkhardt P, Sprecher SG. Evolutionary origin of synapses and neurons – Bridging the gap. BioEssays. 2017;39: 1700024.doi:10.1002/bies.201700024175. Moran Y, Barzilai MG, Liebeskind BJ, Zakon HH. Evolution of voltage-gated ion channels at the emergence of Metazoa. J ExpBiol. 2015;218: 515–525. doi:10.1242/jeb.110270176. Moroz LL. On the Independent Origins of Complex Brains and Neurons. Brain Behav Evol. 2009;74: 177–190.doi:10.1159/000258665177. Moroz LL, Kohn AB. Independent origins of neurons and synapses: insights from ctenophores. Philos Trans R Soc B Biol Sci.2016;371: 20150041. doi:10.1098/rstb.2015.0041178. Böhm J, Scherzer S, Krol E, Kreuzer I, von Meyer K, Lorey C, et al. The Venus Flytrap Dionaea muscipula Counts Prey-InducedAction Potentials to Induce Sodium Uptake. Curr Biol. 2016;26: 286–295. doi:10.1016/j.cub.2015.11.057179. Choi W-G, Hilleary R, Swanson SJ, Kim S-H, Gilroy S. Rapid, Long-Distance Electrical and Calcium Signaling in Plants. AnnuRev Plant Biol. 2016;67: 287–307. doi:10.1146/annurev-arplant-043015-112130180. Fromm J, Lautner S. Electrical signals and their physiological significance in plants. Plant Cell Environ. 2007;30: 249–257.doi:10.1111/j.1365-3040.2006.01614.x181. Hedrich R, Neher E. Venus Flytrap: How an Excitable, Carnivorous Plant Works. Trends Plant Sci. 2018;23: 220–234.doi:10.1016/j.tplants.2017.12.004182. Eigen M, de Maeyer L. Chemical means of information storage and readout in biological systems. Naturwissenschaften. 1966;53:50–57. doi:10.1007/BF00594747183. Gaito J. A biochemical approach to learning and memory. Psychol Rev. 1961;68: 288–292. doi:10.1037/h0042647184. Gaito J. DNA and RNA as memory molecules. Psychol Rev. 1963;70: 471–480. doi:10.1037/h0042142185. Hechter O, Halkerston IDK. On the Nature of Macromolecular Coding in Neuronal Memory. Perspect Biol Med. 1964;7: 183–198. doi:10.1353/pbm.1964.0030186. Hydén H. Satellite Cells in the Nervous System. Sci Am. 1961;205: 62–71. doi:10.1038/scientificamerican1261-62187. Hydén H. Behavior, Neural Function, and RNA. In: Davidson JN, Cohn WE, editors. Progress in Nucleic Acid Research andMolecular Biology. Academic Press; 1967. pp. 187–218. doi:10.1016/S0079-6603(08)60527-9188. Landauer TK. Two hypotheses concerning the biochemical basis of memory. Psychol Rev. 1964;71: 167–179.doi:10.1037/h0044170189. Schmitt FO. Macromolecular Specificity and Biological Memory | The MIT Press. 1962 [cited 27 Apr 2020]. Available:https://mitpress.mit.edu/books/macromolecular-specificity-and-biological-memory190. Schmitt FO. Molecular and ultrastructural correlates of function in neurons, neuronal nets, and the brain. Naturwissenschaften.1966;53: 71–79. doi:10.1007/BF00594750191. Schmitt FO. Molecular Biology Among the Neurosciences. Arch Neurol. 1967;17: 561–572.doi:10.1001/archneur.1967.00470300003001192. Sickle GR van, McCluer RH. Transduction of Neuronal Electric Response to Macromolecular Synthesis: A Theoretical Constructof a Fundamental Unit for Information Storage and Retrieval. Perspect Biol Med. 1966;9: 425–432. doi:10.1353/pbm.1966.0013
93. Gelber B. Acquisition in Paramecium Aurelia during spaced training. Psychol Rec. 1962;12: 165–177. doi:10.1007/BF03393454194. Gaito J. Molecular psychobiology of memory: Its appearance, contributions, and decline. Physiol Psychol. 1976;4: 476–484.doi:10.3758/BF03326600195. Glassman E. The Biochemistry of Learning: An Evaluation of the Role of RNA and Protein. Annu Rev Biochem. 1969;38: 605–646. doi:10.1146/annurev.bi.38.070169.003133196. Ungar G. The problem of molecular coding of neural information. A critical review. Naturwissenschaften. 1973;60: 307–312.doi:10.1007/bf00599896197. Uphouse LL, MacInnes JW, Schlesinger K. Role of RNA and protein in memory storage: a review. Behav Genet. 1974;4: 29–81.doi:10.1007/bf01066705198. Abraham WC, Jones OD, Glanzman DL. Is plasticity of synapses the mechanism of long-term memory storage? NPJ Sci Learn.2019;4: 9. doi:10.1038/s41539-019-0048-y199. Gallistel CR. Finding numbers in the brain. Philos Trans R Soc B Biol Sci. 2018;373: 20170119. doi:10.1098/rstb.2017.0119200. Gallistel CR, Balsam PD. Time to rethink the neural mechanisms of learning and memory. Neurobiol Learn Mem. 2014;108:136–144. doi:10.1016/j.nlm.2013.11.019201. Queenan BN, Ryan TJ, Gazzaniga M, Gallistel CR. On the research of time past: the hunt for the substrate of memory. Ann N YAcad Sci. 2017;1396: 108–125. doi:10.1111/nyas.13348202. Gallistel CR, Matzel LD. The neuroscience of learning: beyond the Hebbian synapse. Annu Rev Psychol. 2013;64: 169–200.doi:10.1146/annurev-psych-113011-143807203. Cai D, Pearce K, Chen S, Glanzman DL. Reconsolidation of Long-Term Memory in Aplysia. Curr Biol. 2012;22: 1783–1788.doi:10.1016/j.cub.2012.07.038204. Daou A, Margoliash D. Intrinsic neuronal properties represent song and error in zebra finch vocal learning. Nat Commun.2020;11: 1–17. doi:10.1038/s41467-020-14738-7205. Jirenhed D-A, Rasmussen A, Johansson F, Hesslow G. Learned response sequences in cerebellar Purkinje cells. Proc Natl AcadSci U S A. 2017;114: 6127–6132. doi:10.1073/pnas.1621132114206. Johansson F, Jirenhed D-A, Rasmussen A, Zucca R, Hesslow G. Memory trace and timing mechanism localized to cerebellarPurkinje cells. Proc Natl Acad Sci U S A. 2014;111: 14930–14934. doi:10.1073/pnas.1415371111207. Johansson F, Carlsson HAE, Rasmussen A, Yeo CH, Hesslow G. Activation of a Temporal Memory in Purkinje Cells by themGluR7 Receptor. Cell Rep. 2015;13: 1741–1746. doi:10.1016/j.celrep.2015.10.047208. Pearce K, Cai D, Roberts AC, Glanzman DL. Role of protein synthesis and DNA methylation in the consolidation andmaintenance of long-term memory in Aplysia. Ramaswami M, editor. eLife. 2017;6: e18299. doi:10.7554/eLife.18299209. Poo M, Pignatelli M, Ryan TJ, Tonegawa S, Bonhoeffer T, Martin KC, et al. What is memory? The present state of the engram.BMC Biol. 2016;14: 40. doi:10.1186/s12915-016-0261-6210. Ryan TJ, Roy DS, Pignatelli M, Arons A, Tonegawa S. Engram cells retain memory under retrograde amnesia. Science.2015;348: 1007–1013. doi:10.1126/science.aaa5542211. Santin JM, Schulz DJ. Membrane Voltage Is a Direct Feedback Signal That Influences Correlated Ion Channel Expression inNeurons. Curr Biol. 2019;29: 1683-1688.e2. doi:10.1016/j.cub.2019.04.008
12. Zhao B, Sun J, Zhang X, Mo H, Niu Y, Li Q, et al. Long-term memory is formed immediately without the need for proteinsynthesis-dependent consolidation in Drosophila. Nat Commun. 2019;10: 1–11. doi:10.1038/s41467-019-12436-7213. Li M, Wang IX, Li Y, Bruzel A, Richards AL, Toung JM, et al. Widespread RNA and DNA Sequence Differences in the HumanTranscriptome. Science. 2011;333: 53–58. doi:10.1126/science.1207018214. Wang IX, Core LJ, Kwak H, Brady L, Bruzel A, McDaniel L, et al. RNA-DNA Differences Are Generated in Human Cellswithin Seconds After RNA Exits Pol II. Cell Rep. 2014;6: 906–915. doi:10.1016/j.celrep.2014.01.037215. Goymer P. There’s nothing abnormal about chimeric RNA. Nat Rev Genet. 2008;9: 734–734. doi:10.1038/nrg2459216. Li H, Wang J, Mor G, Sklar J. A Neoplastic Gene Fusion Mimics Trans-Splicing of RNAs in Normal Human Cells. Science.2008;321: 1357–1361. doi:10.1126/science.1156725217. Singh S, Qin F, Kumar S, Elfman J, Lin E, Pham L-P, et al. The landscape of chimeric RNAs in non-diseased tissues and cells.Nucleic Acids Res. 2020;48: 1764–1778. doi:10.1093/nar/gkz1223218. Tang Y, Ma S, Wang X, Xing Q, Huang T, Liu H, et al. Identification of chimeric RNAs in human infant brains and theirimplications in neural differentiation. Int J Biochem Cell Biol. 2019;111: 19–26. doi:10.1016/j.biocel.2019.03.012219. Li M, Wang IX, Cheung VG. Response to Comments on “Widespread RNA and DNA Sequence Differences in the HumanTranscriptome.” Science. 2012;335: 1302–1302. doi:10.1126/science.1210419220. Kleinman CL, Majewski J. Comment on “Widespread RNA and DNA Sequence Differences in the Human Transcriptome.”Science. 2012;335: 1302–1302. doi:10.1126/science.1209658221. Lin W, Piskol R, Tan MH, Li JB. Comment on “Widespread RNA and DNA Sequence Differences in the Human Transcriptome.”Science. 2012;335: 1302–1302. doi:10.1126/science.1210624222. Pickrell JK, Gilad Y, Pritchard JK. Comment on “Widespread RNA and DNA Sequence Differences in the HumanTranscriptome.” Science. 2012;335: 1302–1302. doi:10.1126/science.1210484223. Owens MC, Clark SC, Yankey A, Somarowthu S. Identifying Structural Domains and Conserved Regions in the Long Non-Coding RNA lncTCF7. Int J Mol Sci. 2019;20. doi:10.3390/ijms20194770224. Somarowthu S, Legiewicz M, Chillón I, Marcia M, Liu F, Pyle AM. HOTAIR Forms an Intricate and Modular SecondaryStructure. Mol Cell. 2015;58: 353–361. doi:10.1016/j.molcel.2015.03.006225. Samson J, Cronin S, Dean K. BC200 (BCYRN1) – The shortest, long, non-coding RNA associated with cancer. Non-CodingRNA Res. 2018;3: 131–143. doi:10.1016/j.ncrna.2018.05.003226. Gruber AR, Lorenz R, Bernhart SH, Neuböck R, Hofacker IL. The Vienna RNA Websuite. Nucleic Acids Res. 2008;36: W70–W74. doi:10.1093/nar/gkn188227. Lorenz R, Bernhart SH, Höner zu Siederdissen C, Tafer H, Flamm C, Stadler PF, et al. ViennaRNA Package 2.0. Algorithms MolBiol. 2011;6: 26. doi:10.1186/1748-7188-6-26228. Darty K, Denise A, Ponty Y. VARNA: Interactive drawing and editing of the RNA secondary structure. Bioinformatics. 2009;25:1974–1975. doi:10.1093/bioinformatics/btp250 S1 Appendix: On the Theory of Computation
The ChurchTuring thesis states that any effectively calculable function can be computed by a Turing machine.The thesis can be reformulated to replace “Turing machine” with any other equivalent computer (e.g. “lambdacalculus term” or “primitive recursive function”). The thesis is not entirely welldefined and is subject to differentinterpretations because it relies on the informal notion of “effective calculability” (Copeland, 2020). Someconsider the Turing machine to be the formalization of the notion of effective calculability, and therefore interpretthe ChurchTuring thesis as simply a definition (Soare, 1996). Others have taken the view that it is an empiricalor mathematically provable statement that can in principle be proved or refuted. The ChurchTuring thesis can beproved through an axiomatization of the notion of an “effectively calculable” (Dershowitz and Gurevich, 2008)(although one may argue over the specific set of axioms). I adopt the latter view in this paper and conclude fromthe ChurchTuring thesis the following proposition: that biological computation systems are limited by the Turingequivalent scope of computation . This proposition is empirical and can, in principle, be refuted. For instance, if onedemonstrates that a neural network (that is itself physically realizable and describable in finite terms) canproduce incomputable outputs from from computable inputs in such a way that can be harnessed for furthercomputation, that would disprove this proposition. (Note that this is not to say that any biological process can besimulated by a Turing machine. Rather, I only consider the proposition that any system of computation in biology,can be simulated by a Turing machine).How can the scope of a biological computation system be evaluated and compared to that of Turing machines?The latter operates on strings of symbols whereas the former operates on physical material such as nerve impulsesor molecular signals. Informally, computational scope can be compared by considering whether one computationsystem can solve the problems of another computation system. A formal framework of comparing computationsystems having different domains has been developed that relies on the input and output domains being identical(Boker and Dershowitz, 2005, 2006, 2008). In other words, computation systems must be from strings to strings,or from numbers to numbers, or from nerve impulses to nerve impulses, etc. in order to be comparable. It may bepossible to devise a more general framework that evaluates computation systems that have different input andoutput domains but we currently have no such framework. For the sake of argument, I will restrict the definitionof biological computation system to only include systems that operate over the same input and output domain.A high burden of justification must be met before we accept the idea that the abstractions appropriate forunderstanding computation in living organisms are exceptional and can somehow evade the structures andlimitations that appear in the theory of computation. S11
2. The input/output/description domains must be effectively enumerable(computation over real numbers is pointless)
A computation system can be defined to take real numbers as inputs and output real numbers. Since classicalcomputation systems (like the Turing machine) cannot operate on real numbers, they are incapable of simulatingthese systems to their full extent. This has been taken to mean that these realnumber based systems are “superTuring” or exceed the universal scope of computation. The problem with this argument is that it is relies on anaspect of the system that cannot effectively be harnessed and it is based on a lack of understanding about whatthe set of real numbers is.Some sets are enumerable, meaning that each element can be referred to by a finite description like a string. Theset of natural numbers is enumerable; each number can be shown by a string of digits. The set of rational numberis also enumerable as each of its elements can be represented by a pair of numbers, both of which can berepresented by strings of digits. The set of real numbers is not enumerable. That means that there are some realnumbers that we cannot even refer to using human language or any particular notation system. The set ofdefinable real numbers, is by definition enumerable. This set includes numbers like pi, the square root of two, andeven some incomputable numbers like Chaitin's constant. But there are some particular numbers that we areunable to refer to, and no examples of such numbers can be given here since they are – by definition – impossibleto refer to. By grasping this strange feature of real numbers, it becomes clear that it is impossible to harness thenonenumerability of the input/output domains of computation systems that operate over real numbers.Furthermore, for a computation system to produce an undefinable real number as an output, it must have eitherreceived an undefinable input or have been based on an undefinable description because otherwise one can referto the undefinable output in finite terms as follows: “the output produced by D when given input X”. I believed itwill be agreed that in any meaningful usage of a computation system the inputs and descriptions will be definablein finite terms. So the nonenumerable aspect of the description/input/output domains of computation cannot beharnessed. Computation systems are allowed to consist of realnumber variables or components. In fact having real valuedcomponents may even be an indispensable property of some computation systems. Here I am only concerned withthe input/output/description domains and not the internal components of a computation system. It is evenpermissible to define a computation system that has realnumbers in its input/output/description, but such acomputation system can be wrapped in another that is based on strings as inputs/outputs/description andconverts the enumerable domains to the nonenumerable domains and vice versa, without effectively loosing anycomputation power. [Some of the issues in this section have been previously discussed in (Davis, 2004, 2006a, 2006b)]
It is commonly assumed that “effective computation” involves discrete steps in time. The axiomatization ofalgorithms by which it is possible to prove the ChurchTuring thesis includes this discreteness of steps as an axiomS12 (Dershowitz and Gurevich, 2008). By permitting continuous time, it may be possible to transcend Turingcomputability. In fact the outcome of some dynamical systems cannot be predicted or simulated by Turingmachines (PourEl and Richards, 1979, 1981; PourEl and Zhong, 1997; Smith, 2006). However, it is doubtfulthat such noncomputable dynamical systems can be physically realized and harnessed in a computationallyuseful way (Weihrauch and Zhong, 1999, 2002). We currently have no conception of how a biologicalcomputation system could plausibly transcend Turing equivalence by taking advantage of continuous time. Whileremaining openminded toward this possibility, I seriously doubt that it can ever be demonstrated to exist sinceany such demonstration would imply proof that the physical laws of the universe operate on continuous – ratherthan discrete time.
It can be mistakenly thought that all physically relevant computation systems are weaker than Turing machines,on the grounds that Turing machines are infinite whereas physical systems are finite and the number of statesthey can assume are limited. It has even been claimed that because of this the appropriate model for physicalsystems is the finite state machine (van der Velde, 1993).It is ironic that the finiteness of Turing machines needs to be justified considering that Turing was attempting tocapture the notion of calculability by “finite means” (Turing, 1936) and that modern day computers are preciselythe physical realization of universal computation inspired by Turing’s formalization. Part of this misunderstandingmay have stemmed from the title of Minksy’s 1967 book “Finite and Infinite Machines”. Minsky characterizedTuring machines as infinite machines, while at the same time acknowledging that in order to “gain any reallypractical insight into reallife computers” one must study infinite machines.When formalizing a system, one does not include all the real physical limitations in its abstract formalization. Thisis even true of the formalization of finite state machines. Finite state machines assume no bound on the size ofthe input or the amount of available time or free energy. Would it be reasonable to say then that finite statemachines are also physically unrealistic and irrelevant for studying real computation system? Physical limitationson time, energy, and space are issues that are dealt with independently from the problem of computation.What allows Turing machines to be computationally superior to finite state machines is not that they begin withan infinitely long memory tape, but that memory is not bounded by the machine’s description or operation rules.A version of the Turing machine that begins with a finite sized memory tape but can add more memory squareswhen needed is just as powerful as the standard model of the Turing machine. The memory space of finite statemachines, on the other hand, are limited by design and the bound is imposed by the description of the operationrules – not just by laws of physics. With this critical distinction in mind, it become clear that assuming unboundedmemory is similar to assuming unbounded time or unbounded free energy. A physical implementation of auniversal computer can – and will inevitably – have limitations on its memory capacity, energy consumption, andexecution time but that does not mean it does not reflect the abstract model it is intended to implement. S13
References
Boker, U., and Dershowitz, N. (2005). How to Compare the Power of Computational Models. pp. 54–64.Boker, U., and Dershowitz, N. (2006). Comparing Computational Power. Log. J. IGPL , 633–647.Boker, U., and Dershowitz, N. (2008). The ChurchTuring Thesis over Arbitrary Domains. In Pillars of Computer Science:Essays Dedicated to Boris (Boaz) Trakhtenbrot on the Occasion of His 85th Birthday, A. Avron, N. Dershowitz, and A.Rabinovich, eds. (Berlin, Heidelberg: Springer), pp. 199–229.Copeland, B.J. (2020). The ChurchTuring Thesis. In The Stanford Encyclopedia of Philosophy, E.N. Zalta, ed. (MetaphysicsResearch Lab, Stanford University), p.Davis, M. (2004). The Myth of Hypercomputation. In Alan Turing: Life and Legacy of a Great Thinker, C. Teuscher, ed.(Berlin, Heidelberg: Springer), pp. 195–211.Davis, M. (2006a). The ChurchTuring Thesis: Consensus and Opposition. In Logical Approaches to Computational Barriers, A.Beckmann, U. Berger, B. Löwe, and J.V. Tucker, eds. (Berlin, Heidelberg: Springer Berlin Heidelberg), pp. 125–132.Davis, M. (2006b). Why there is no such discipline as hypercomputation. Appl. Math. Comput. , 4–7.Dershowitz, N., and Gurevich, Y. (2008). A Natural Axiomatization of Computability and Proof of Church’s Thesis. Bull. Symb.Log. , 299–350.PourEl, M.B., and Richards, I. (1979). A computable ordinary differential equation which possesses no computable solution.Ann. Math. Log. , 61–90.PourEl, M.B., and Richards, I. (1981). The wave equation with computable initial data such that its unique solution is notcomputable. Adv. Math. , 215–239.PourEl, M.B., and Zhong, N. (1997). The Wave Equation with Computable Initial Data Whose Unique Solution Is NowhereComputable. Math. Log. Q. , 499–509.Smith, W.D. (2006). Church’s thesis meets the Nbody problem. Appl. Math. Comput. , 154–183.Soare, R.I. (1996). Computability and Recursion. Bull. Symb. Log. , 284–321.Turing, A.M. (1936). On computable numbers, with an application to the Entscheidungsproblem. J Math , 5.van der Velde, F. (1993). Is the brain an effective Turing machine or a finitestate machine? Psychol. Res. , 71–79.Weihrauch, K., and Zhong, N. (1999). The Wave Propagator Is Turing Computable. In Automata, Languages andProgramming, J. Wiedermann, P. van Emde Boas, and M. Nielsen, eds. (Berlin, Heidelberg: Springer), pp. 697–706.Weihrauch, K., and Zhong, N. (2002). Is wave propagation computable or can wave computers beat the Turing machine? Proc.Proc. Lond. Math. Soc. . S14
S2 Appendix: Computation Systems in Contemporary Biology
In this section I characterize a model of computation which I believe serves as the most common framework incontemporary studies of natural computation. The network model, as defined below, is especially predominant inmodeling cellular and neuronal computation. We use networks of genes that inhibit or promote one another toexplain cell differentiation and embryonic development. We study networks of neurons or brain regions thatinhibit or excite one another to produce models of cognition and animal behavior. And we attempt to understandcell behavior and embryonic development through studying the complex networks of genes, proteins, andenzymes that bidirectionally modulate one another’s transcription rates, translation rates, decay rates,phosphorylation rates, and other quantities of cell chemistry. Although it has never been explicitly stated, thenetwork computation paradigm asserts that network models of computation are sufficient to achieve all forms ofcomputation that are within the scope of living organisms.Network models are typically schematized as a graph containing nodes and directed connections. Each node isthought of as containing a timevarying numeric value. Depending on what system is being used, a node’s valuecan represent the activity of a brain region, the firing rate of a neuron, the membrane potential of a nonspikingneuron, the phosphorylation rate of a specific protein, the intracellular concentration of a molecule, or some otherbiologically relevant quantity. The connections of the graph correspond to the influences that those values haveon one another. The network evolves over time in such a way that changes in any node’s value is proportional tothe sum of the values of its input nodes, usually including nonlinearities before and after the summation. Theinput to a model can be conceptualized as an input node that receives no inputs and simulates a predefined timevarying function. Likewise one or more node(s) in the network can be assigned as the readout , representing theresult of the computation performed by the network. Sometimes their can be plasticity in the network. Theweights of the connections (variables that control the strength of influence that one node has on another) can bemodified according to some rule.The network model can be understood as a dynamical system of finite dimensions. Each of the variables of thenetwork (whether they are variables belonging to nodes or variables belonging to connections) can be assigned toone dimensions of the state space . At every point in time the network’s state can be described by a single point inthe finite dimensional state space. There is a function that determines how the system’s state changes as timeprogresses. In other words, the rate of change of each of the variables can be written as a function of thenetwork’s overall state. Dynamical systems of finite dimensions are general enough to capture the networksystem. The critical assumption I make here is that the system is of finite dimensions. In other words, new nodescannot be added during computation. Adding new connections between nodes is not of concern since one canassume a complete graph at the onset, with some of the connections being assigned zero weights to make themnonfunctional.Dynamical systems have been studied as computational systems for several decades. There is a subtle differencein the dynamical systems that are used to study computation and the circuit model that is commonly used inbiology. In dynamical systems, the input the to computation is encoded in the initial state of the system at time
S2-1 zero. To use those dynamical system to compute something, one needs to set the state to some value thatrepresents the input, then evolve the system over time until it converges to a unchanging state and that state ispronounced as the output of the computation. Different starting points represent different inputs to the samecomputation. However, circuit models as computation systems are typically conceptualized as receiving a timevarying input and producing a time varying output. Nevertheless I believe the studies and arguments regardingthe limited scope of practically relevant dynamical systems are translatable to the network model. Let us now turnto the computational scope of dynamical systems that are finite dimensional and physically relevant.
It is possible to simulate any Turing machine using dynamical systems (Asarin et al., 1995; Branicky, 1995; Graçaet al., 2005; Koiran et al., 1994; Moore, 1990, 1991; Reif et al., 1990; Siegelmann and Sontag, 1991). The basicstrategy for designing a dynamical system that simulates a Turing machine is to treat decimal places of a variableas a memory stack. So for example the number 0.31416... can be used as a stack containing the symbols ‘3’, ‘1’,‘4’, ‘1’, ‘6’, … on so on. The top of the stack can be read by multiplying by ten and rounding down. A symbol canbe pushed into the stack by arithmetically adding a one digit number to the variable and then dividing the resultby 10. And the stack can be popped by multiplying by 10 and subtracting a whole number. (In the cited examples,unary or binary representations were used instead of decimal representations). Using this clever method it ispossible to simulate Turing machines with as few as three dimensions/variables with continuous time or twodimensions with discrete time steps (Moore, 1990, 1991), and even a single dimension at the cost of exponentialslowdown of the simulation (Koiran and Moore, 1999). It is also possible to construct a neural network modelthat simulates any Turing machine, using three neurons that store memory stacks serving as the Turing machinememory tape and a network of neurons that act as the the Turing machine head by carrying out a predefined setof instruction rules (Siegelmann and Sontag, 1991). In all of these dynamical systems, the input to thecomputation is stored in the initial state of dynamical system at time zero. If a system is able to emulate anyTuring machine, it is by definition capable of universal computation. So dynamical systems have universalcomputational scope.However, all of these systems suffer from two practical weaknesses that make them irrelevant to understandingand implementing real physical systems. The first, regards the sensitivity of the system relative to smallperturbations to its dynamical equations, i.e. the differential equations that govern how the system evolves overtime. The second, regards the precision of the system’s state variables, i.e. those variable that change with time. Iwill discuss each of these separately.A dynamical system is structurally stable if it is surrounded by a neighborhood of homeomorphic systems. In otherwords, small additive changes to the function that govern how the system evolves over time will not affect thesystems qualitative behavior (e.g. number of fixed points and number of periodic orbits). All of the cited systemsthat simulate Turing machines lack structural stability (Moore, 1998). (To intuitively understand why, considerthe process of repeatedly pushing and popping a symbol ‘0’ to the decimal memory stack variable. This involvesrepeatedly dividing by 10 and multiplying by 10. If the division factor and the multiplication factor differ by onlya small amount, the memory variable will exponentially grow and never return to its original state. With a smallerror in the system’s implementation resulting in a consistent multiplication factor of 10.01 and a consistent
S2-2 division factor of 9.99, after only ten repetitions of pushing and popping, the variable will increase in value bymore than 2% and its memory content will become radically corrupted. For example 0.314159265... will turn into0.320505705…)The lack of structural stability means that there is no arbitrarily small amount of perturbation to its differentialequations that will preserve the system’s general behavior , even if the system has infinite precision and no noiseonce set into motion. This is almost like saying there is a neural network that carries out a desired computationbut the synaptic weights have to be infinitely finetuned for it to work. Structural instability makes a modelphysically irrelevant, since even an implementation with an error of one part per billion would fail to resemblethe intended general dynamics.A conjecture by (Moore, 1998) states that “No finitedimensional system capable of universal computation is stablewith respect to perturbations, or generic according to any reasonable definition” . Moore’s conjecture regards additiveperturbations to the system’s differential equations before it begins computing, not perturbations to the system’sstate as it is in the process of computing and not perturbations to the system’s initial state. He uses the term“generic” to refer to systems of practical relevance. If Moore’s conjecture is correct it follows that all practicallyrelevant dynamical systems are computationally weaker than universal computers.Let us now turn to the the second problem of practical concern. Any dynamical system with universal scope mustassume unbounded precision. Many abstract models hinge on unboundedness, including the finite state machinemodel that assumes unbounded free energy or time to compute and the Turing machine model which in additionto unbounded time and energy assumes unbounded memory space. It can be argued that such systems arepractically relevant so long as they can be implemented in such a way that physical limitations are never reachedfor all practical purposes. But this argument cannot be used for the memory space of dynamical systems.Extending the effective precision of a physical medium of information by one decimal point may requireinnovation and there is no algorithmic process that can iteratively achieve such a thing. Even if such a processwere to be found it will very quickly hit Plank’s constant within just a small number of iterations equivalent to amemory extension of roughly only a hundred bits (2 110
Planks constant in standard units). Whereas the ≈ memory of a Turing machine based physical system can easily be extended by recruiting more memory space onthe hard disk of a computer. We have already extended the memory space of silicon computers by quadrillions ofbits and we know it is possible to extend them by many more orders of magnitude before we hit any hard physicallimits (Bekenstein, 1981). Likewise a computation system based on nucleotide polymers can expand its memoryby simply adding nucleotide to the end of a polymer. Adding just five nucleotides would be equivalent to addingthree decimal places to the effective precision of a dynamical system’s variable, since 4 > 1000.The network model of computation is a computationally weaker system than universal computers. Its memoryspace is, for all practical matters, bounded as a function of is number of variables and it is unable to generatememory space during computation. Additionally, unless Moore’s conjecture is proven wrong, no structurallystable dynamical system can simulate Turing machines, even if we assume infinite precision and zero noise. Inagreement with (Moore, 1998) I believe that for a dynamical system to be practically relevant it must bestructurally stable. So either living organisms have not achieved universal computation, or there is another modelof computation that is more appropriate for understanding natural computation. S2-3
References
Asarin, E., Maler, O., and Pnueli, A. (1995). Reachability analysis of dynamical systems having piecewise-constant derivatives. Theor.Comput. Sci. , 35–65.Bekenstein, J.D. (1981). Universal upper bound on the entropy-to-energy ratio for bounded systems. Phys. Rev. D , 287–298.Branicky, M.S. (1995). Universal computation and other capabilities of hybrid and continuous dynamical systems. Theor. Comput. Sci. , 67–100.Graça, D.S., Campagnolo, M.L., and Buescu, J. (2005). Robust Simulations of Turing Machines with Analytic Maps and Flows. In NewComputational Paradigms, S.B. Cooper, B. Löwe, and L. Torenvliet, eds. (Berlin, Heidelberg: Springer), pp. 169–179.Koiran, P., and Moore, C. (1999). Closed-form analytic maps in one and two dimensions can simulate universal turing machines. Theor.Comput. Sci. , 217–223.Koiran, P., Cosnard, M., and Garzon, M. (1994). Computability with low-dimensional dynamical systems. Theor. Comput. Sci. , 113–128.Moore, C. (1990). Unpredictability and undecidability in dynamical systems. Phys. Rev. Lett. , 2354–2357.Moore, C. (1991). Generalized shifts: unpredictability and undecidability in dynamical systems. Nonlinearity , 199–230.Moore, C. (1998). Finite-dimensional analog computers: Flows, maps, and recurrent neural networks. In 1st International Conference onUnconventional Models of Computation-UMC, pp. 59–71.Reif, J.H., Tygar, J.D., and Yoshida, A. (1990). The computability and complexity of optical beam tracing. In Proceedings [1990] 31stAnnual Symposium on Foundations of Computer Science, pp. 106–114 vol.1.Siegelmann, H.T., and Sontag, E.D. (1991). Turing computability with neural nets. Appl. Math. Lett. , 77–80. S2-4
S3 Appendix: Calculus and Combinatory Logic Derivations λ In this section I will introduce lambda calculus and combinatory logic, two very similar computation systems thatare universal in scope. Both of them define a world of abstract entities that are essentially functions of functionsto functions. There is a onetoone mapping between the entities in lambda calculus (called lambda terms) andthe entities in combinatory logic (called combinatory terms). The differences between these two systems areminor and amount to notation and the basic elementary operations used to evaluate terms. In lambda calculusthe elementary operations are variable substitution and variable renaming. In combinatory logic the elementaryoperations are defined as a handful of functions called primitive combinators.Since I find it easier to convey the power of functional programming with combinatory logic rather than λ calculus, combinatory logic will be covered in more depth in this section and the examples of algorithms and datastructures will all be given in terms of combinatory logic. But first, λ calculus will be covered briefly though I willavoid using λ notations. λ calculus was invented by Alonzo Church as a formal system intended as a foundation for mathematics and logic(Church, 1932, 1933). It was his hope that a system based on the concept of functions instead of sets would makeit possible to construct a complete formalism with no paradoxes and Gödel’s incompleteness theorem would notapply to his formal system. His attempt failed – λ calculus also contained inconsistencies that paralleled theparadoxes found in set theory (Kleene and Rosser, 1935) – but λ calculus has emerged as an extremely powerfulcomputation system with an undeniable impact on the fields of mathematics, logic, and the theory ofcomputation. It has arguably inspired the creation of function programming languages and may perhaps deeplyimpact the field of molecular biology and provide the basis of understanding computation in nature.In λ calculus, everything is a function. Each function, referred to as a “ λ term” or “ λ expression”, can only take asingle input and returns a single output. However, there is nothing for these λ expressions to operate on but other λ expressions. Simply put, everything is a function of functions to functions. It is an elegant feature of λ calculusthat it does not start with any primitive functions. Functions do not have names and they are always referred bytheir complete λ notations that fully describe what they do.Without going into how λ expressions are built with λ notations, let us construct a few example functions inEnglish. The identity function is easy. We can create the identity function by defining it as “a function that returnswhatever it is given” or “ a function that given any x returns x ” . Remember x is itself another function. So wecan apply this function that we constructed to itself the output will be, unremarkably, itself. How about aconstant function that gives a predefined output regardless of the input? Since we haven’t created any otherfunctions yet let us use the identity function as the constant. We define the following function: “a function thatgiven any x returns the identity function”. But remember that functions cannot have names. Instead of referringto the identity function by its name we must write its full description of what it does. Following this rule we candefine our new function as “ a function that given any x returns the following function: a function that given S3-1 any y returns y ”. (Notice how we renamed the variable x in the identity function’s definition to y in order toavoid variable name collision). Even though lambda expressions only take one output, it is possible to construct effectively multivariatefunctions. To make a function that takes, say, three inputs we construct it so that it takes the first input andoutputs a function that is supposed to take the next two inputs already storing the value of the first input in itsdefinition. Inputs are then sequentially given to a λ term. For example, the function that we most recently createdcan be interpreted as a function that takes two inputs, x and y , and returns the second one y . (This method iscalled currying, named after Haskell Curry). From this viewpoint, every function is actually a function that takesan infinite number of inputs because with every function it outputs another function that is ready for the nextinput.Let us create another example that effectively takes in two inputs, but this time instead of ignoring the first andreturning the second have it ignore the second and return the first. We can define it as follows: “ a function thatgiven any x returns the following function: a function that given any y returns x ”. Even though namingfunctions is formally forbidden in λ calculus, I will call this function the “kestral”, and I will call the previousfunction, the function that ignores the first input and outputs the second, the “kite”. So far we have made threefunctions, the identity function, the kestral, and the kite.Now let us see what happens when we give the identity function as an input to the kestral. To do this we canreplace “x” in the definition above with the identity function to get “a function that given any y returns theidentity function”. Again, functions cannot have names and “the identity function” is not allowed in thedefinition. We need to use its complete description (“a function that given x returns x”) instead. The acceptabledefinition is “ a function that given any y returns the following function: a function that given any x returnx ”. Notice how the result is a function that we are already familiar with. It is a function that ignores the first inputand returns the second input. If the kestral is given the identity function, it returns the kite function.There are two very simple rules of operations in λ calculus, called α conversion and β reduction . I will not go intothe details of how they work as it would require explaining the λ notations, but we already performed similaroperations – variable renaming to avoid collision and variable substitution to compute the result of a function – inthe examples above using an English notation. These two operations “reduce” the notation of an expression intoanother equivalent expression. Computation in λ calculus can be understood as the iterative execution of theseoperations until a λ expression cannot be further reduced (in technical terms we say the λ expression is “irreducible” ).Lambda calculus was later shown to be equivalent to two other independently developed formal systems: generalrecursive functions and the Turing machine (Church, 1936; Kleene, 1936; Turing, 1937a, 1937b). From the basicrules above, one can create λ terms that represent natural numbers (known as “Church numerals”) and evenconstruct λ terms that add and multiply those terms. Despite its bare simplicity it has universal computationalscope. The computational power will become more clear to the reader as we review examples algorithms, datastructures, and arithmetic operations expressed in the language of combinatory logic. S3-2
Combinatory logic (CL) preceded λ calculus. It was invented by Moses Schönfinkel and later independently reinvented and further developed by Haskel Curry (Curry, 1930, 1932, 1934a, 1934b; Schönfinkel, 1924). CL issimilar to λ calculus with the main difference being that it starts with a set of primitive functions called “ basiccombinators” . All functions are built from the primitive combinators. There is a onetoone mapping between λ terms and combinatory terms and the variety of functions that can be built are identical. The basic rules ofreduction are slightly different, but these two systems are practically equivalent and CL is also a computationsystem with universal scope (i.e. Turingequivalent).Each defined combinator is represented by a single capital letter. We use lower case letters to denote variablesthat can be replaced by any combinatory term. The notation xy is equivalent to the return value of the function x when given y . So for example if we use the capital letter I to denote the identity function then we have I x = x forall x . Terms can be constructed from other terms using parentheses. The terms x(yz) and (xy)z are different instructure. In the first example, z is given as an input to y and the result is given as an input to x. In the secondexample, y is given to x and the resulting function receives z as an input. CL is conventionally left associative. Inthe absence of parentheses, the leftmost two combinators must be evaluated first . So wxyz is equivalent to(((wx)y)z).Multivariate functions can also be defined. The kestral combinator K is defined as K xy=x. But similar to λ terms,CL terms must be conceptualized as functions that take only one input and return one output. For example, wedefined K as though it takes two inputs, but the term KI is itself a valid combinatory term representing the “kite”function (see previous section for the equivalent constructions in λ calculus). From the rules defined above, wehave KI xy = ( KI x)y = I y = y. So KI is a function that given any two inputs, ignores the first and outputs thesecond. K on the other hand is a function that given two inputs ignores the second and outputs the first. Ingeneral, any term can be given as an input to any term and there are no restrictions on how combinators can becombined.There are many possible sets of basic combinators that can lead to a universal scope. We begin with two of themost commonly used sets: the BCKW system and SKI system . The combinators B , C , K , and W are defined below. B xyz = x ( yz ) C xyz = xzy K xy = x W xy = xyy The combinators S, K, and I are defined below. S xyz = xz ( yz ) K xy = x I x = x It can be shown that S , K , and I , can be expressed in terms of B , C , K , and W , and vice versa. For example, B canbe replaced with S(KS)K . Let us prove this. We have to show that for any terms x, y, and z, S(KS)Kxyz is equal to
Bxyz=x(yz). We do this by evaluating the term S(KS)Kxyz. A term is evaluated by iteratively applying the leftmost combinators ( leftmost because of the omitted parentheses). We first apply the combinator S to the nextthree terms (KS), K, and x based on the rules above. S(KS)Kxyz=(KS)x(Kx)yz. We then drop the parenthesesaround (KS), because they are redundant, and evaluate the term KSx according to the rules above to obtainKSx=S. Continuing this method KSx(Kx)yz = S(Kx)yz = (Kx)z(yz) = Kxz(yz) = x(yz).Either of these two systems are expressive enough to represent combinators in the other system, so anyexpression using combinators form one system is easily convertible to the other. For instance, every occurrence ofB can be replaced with (S(KS)K). (In fact, the I combinator is redundant within the SKI system and S and K aretogether a fully universal system). A computation program can be expressed as a combinator term built of theprimitive combinators and parentheses. The input to a program f can either be a single term x (which itself can becomposed of nested terms), or a sequence of n terms x x x x ...x n , depending on how the problem is framed. (It ispossible to reframe a computation problem by composing the sequence x x x x ...x n into a single term withoutdestroying its content, and the corresponding solver f can be modified accordingly). Either way, the output iscalculated by evaluating fx or fx x x x ...x n , by iteratively applying the leftmost term until it is no longer possibleto do so. We shall now review examples on how to exploit this system for computation. The following definitions can serve as a framework for carrying out circuit computations of boolean logic. Thereare not scalar values in CL. Everything is a combinatory term. We set the kestral K to correspond to true and thekite KI (or equivalently CK ) to correspond to false. So if a boolean is followed by two values, the first value ischosen if that boolean is true and the second value if it is false. This method is known as the Church encoding ofboolean values.With trivial inspection it becomes clear that we already have an “if” construct. The algorithm “if condition x istrue return y else return z” can simply be written as xyz, as long as x is a boolean in Church’s encoding. Adoptingthis method on can derive all unary and binary functions of boolean logic. Only the final solutions, not thederivations, appear below. NOT (proper function): C (x) NOT (postfix operand): x (KI)KOR (proper function):
CIK (x)(y) OR (infix operand): x K (y) AND (proper function):
CC(KI) (x)(y)
AND (postfix operand): x(y) (KI)AND (infix operand): x
I(K(KI)) (y)
NOR (proper function):
C(CI(K(KI)))C (x)(y)
NOR (infix operand): x (K(KI))C (y) x and any y , SK xy = K y(xy) = y. Any two functions that give identical outputs for any inputare equal by definition. From SK xy=y, we deduce SK x = I for any x. So I can be replaced by SKS or SKK . S3-4
NAND (proper function):
C(CIC)(KK) (x)(y)
NAND (postfix operand): x(y) (KI)(KI)KNAND (infix operand): x
C(KK) (y)
XOR (proper function operand):
C(CIC)I (x)(y)
XOR (infix operand): x CI (y) XNOR / equality test (proper function):
C(CII)C (x)(y)
XNOR / equality test (infix operand): x IC (y)convert to standard form (postfix operand): x K(KI) convert to standard form (proper function):
C(CIK)(KI) (x)
As an example let us compute the solution of
NOT((1 XOR 0 XOR 0 XOR 1) AND (1=0)) . In the expressionbelow, NOT is encoded as a postfix operand, XOR as its multivariate form, equality (XNOR) as a proper function,and AND as a postfix operand.
K(C(CI(KI))K)I(KI)(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K
To evaluate this function, it is sufficient to mindlessly apply the leftmost combinator at every step according tothe rules of that combinator.
K(C(CI(KI))K)I (KI)(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( C(CI(KI))K ) (KI)(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= C(CI(KI))K(KI) (C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( CI(KI) ) (KI)K(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= CI(KI)(KI)
K(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K=
I(KI) (KI)K(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( KI ) (KI)K(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= KI(KI)
K(C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= IK (C(CI(KI))K)I(KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= K(C(CI(KI))K)I (KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( C(CI(KI))K ) (KI)(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= C(CI(KI))K(KI) (C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( CI(KI) ) (KI)K(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= CI(KI)(KI)
K(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K=
I(KI) (KI)K(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( KI ) (KI)K(C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= KI(KI)K (C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= IK (C(CI(KI))K)IK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= K(C(CI(KI))K)I
K(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( C(CI(KI))K ) K(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K=
C(CI(KI))KK (C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( CI(KI) ) KK(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K=
CI(KI)K
K(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= IK (KI)K(C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= K(KI)K (C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= ( KI ) (C(CII)(C(CI(KI))K)K(KI))(KI)(KI)K= KI(C(CII)(C(CI(KI))K)K(KI)) (KI)(KI)K=
I(KI) (KI)K * (equality check skipped here, automatically) = ( KI ) (KI)K= KI(KI) K= IK = K S3-5
The final result is K , equivalent to ‘true’. It took 21 applications to compute, not counting the steps where leadingparentheses are dropped. As soon as the result of the three XOR operations were calculated to be false itappropriately skipped calculating the result of the equality check, since the AND operation returns false if at leastone of its arguments are false.It is also possible to construct a proper function f that takes 6 unknown boolean inputs u , v , w , x , y , and z tocompute NOT((u XOR v XOR w XOR x) AND (y=z)) . The function f can be written as the expression below andused as fuvwxyz (although this is not necessarily the shortest possible expression of f ). B(B(B(B(B(B(C(B(BBB)(B(B(C(CI(KI))K))(B(CI(KI)))))(C(CII)(C(CI(KI))K))))(C(CI(C(CI(KI))K))I)))(C(CI(C(CI(KI))K))I)))(C(CI(C(CI(KI))K))I)
What we have demonstrated so far is that combinatorial logic is possible to implement using combinatory logic .Despite their similar names, these two systems could not be further apart in terms of computation power.Combinatorial logic has a very narrow computational scope, weaker than finite state machines. Its abstract modelhas no states or memory and is not too different from a lookup table. CL, on the other hand, is as powerful as anycomputation system can be, capable of universal computation. Notice how it is possible to compute all logic gateswith only a subset of the primitive combinators: B, C, K, and I . Combinators S and W, the two primitivecombinators that duplicate terms in their definition, have not yet been needed. Church’s encoding of pairs is arguably the simplest data structure that one can create in λ calculus and CL . A pairis a data structure that stores two elements and allows the retrieval of either element. We will define Church pairsin terms of CL. constructor function (takes two arguments x and y): BC(CI) (x)(y) retrieve first element function (takes pair p as argument):
CIK (p) retrieve first element postfix operand (operates on pair p): (p)
Kretrieve second element function (takes pair p as argument):
CI(KI) (p) retrieve second element postfix operand (operates on pair p): (p)(
KI)
Let us test the validity of this data structure by attempting to retrieve the second element of a pair. We assume
BC(CI)xy as a pair and apply the retrieve second element function to it. At every step we simply apply the leftmostcombinator. In order to make it easier to follow, leading parentheses are dropped explicitly in separate steps.
CI(KI)(BC(CI)xy) = I(BC(CI)xy)(KI) = (BC(CI)xy)(KI) = BC(CI)xy(KI) = C((CI)x)y(KI)= ((CI)x)(KI)y = (CI)x(KI)y = CIx(KI)y = I(KI)xy = (KI)xy = KIxy = Iy = y x . It is either true or false. The combinatory term x(g)(h) orequivalently C(CI(g))(h)x reduces to the function g if x is true and h if it is false. Both g an h can be constructed in terms ofthe subsequent inputs – independent of x. Any function of boolean combinatorial logic can be constructed as a compositionof if-then-else statements. If x is the last input, g and h can be constructed as constants using K and (KI). S3-6
Note that x and y are variables and can be replaced with any term. There are no limits to the types of argumentsthat are given to the pair constructor function. Elements can even be pairs themselves. It is easy to see how onecan store multiple terms using this design through nested pairs (e.g. pairs of pairs of pairs can store eight terms).Alternatively the definition for Church pairs can be generalized for ktuples.An issue with our design of pairs is that it is a single usage construct. The act of retrieving an element destroysthe entire data structure. To retrieve multiple elements the pair needs to be duplicated using the W or S combinators. For example the function W(B(CI(CIK))(CI(KI))) , or equivalently
S(CI(KI))(CIK) , takes a pair p of x and y , and applies the second element to the first element, yx .Alternatively, a data structure can be designed that passes itself along after every function call. This can beadvantageous if copying large terms is associated with high operational cost. We will next implement a stack datastructure that embraces this strategy. Stacks have two essential functions: push and pop. The pop function workssuch that it takes two terms f and e and a stack s . If the stack is empty it returns e . Otherwise it returns fxs 1 where x is the element at the top of the stack and s 1 is the stack with the top element removed . In order to simplydiscard the top element, the pop function can be called with f= KI and e = KI . To check whether the stack isempty on can call the pop function such that it includes a push function. We construct an empty check functionthat takes two terms f and e and stack s . If the stack is empty it returns e. Otherwise it returns fs . empty stack : KIpop (takes functions f & e and stack s):
BC(CI) (f)(e)(s) push (takes element x and stack s):
BC(C(B(BK))) (x)(s) pop and discard element (takes stack s):
BC(CI)(KI)(KI) (s) empty check (takes functions f & e and stack s):
C(B(B(BC(CI)))B)(BC(C(B(BK)))) (f)(e)(s)
For instance, pushing three elements x , y , and z into an empty stack results in the following term. C(C(B(BK)) z )(C(C(B(BK)) y )(C(C(B(BK)) x )(KI))) We can then observe what happens when we call the pop and discard element function on this stack. The pop anddiscard element function is emphasized in bold. The remainder of the stack is underlined to show that it remainsunperturbed during this operation. After 11 applications, not including steps where redundant parentheses areremoved, the result is a stack that contains elements y and x . BC(CI)(KI)(KI) (C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))= C((CI)(KI))(KI)(C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))= ((CI)(KI))(C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)= (CI)(KI)(C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)= CI(KI)(C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)= I(C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)(KI)= (C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)(KI)= C(C(B(BK))z)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)(KI)
CI(CI) term takes a pair and applies the second elementto the first. But this function bypasses the interface functions that we defined and the general point still remains that the datastructure with all its elements is destroyed every time a function is applied to it.5 Here we are employing a strategy inspired by the Mogensen-Scott encoding method. That is, the stack has two states:either empty or non-empty. The functions corresponding to each state is given to the stack separately. S3-7 = (C(B(BK))z)(KI)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= C(B(BK))z(KI)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= (B(BK))(KI)z(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= B(BK)(KI)z(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= (BK)((KI)z)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= BK((KI)z)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))(KI)= K(((KI)z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))(KI)= (((KI)z)(C(C(B(BK))y)(C(C(B(BK))x)(KI))))= ((KI)z)(C(C(B(BK))y)(C(C(B(BK))x)(KI)))= (KI)z(C(C(B(BK))y)(C(C(B(BK))x)(KI)))= KIz(C(C(B(BK))y)(C(C(B(BK))x)(KI)))= I(C(C(B(BK))y)(C(C(B(BK))x)(KI)))= (C(C(B(BK))y)(C(C(B(BK))x)(KI)))= C(C(B(BK))y)(C(C(B(BK))x)(KI))
No copying combinator (neither W nor S ) is involved in these functions and the deeper elements in the stack areuntouched and fully preserved with every call. We can also write a “top element” function that works similar tothe pop function but effectively leaves the stack unchanged. This is implemented by combining the pop functionwith a function that duplicates the top element, pushing one copy back into the stack and feeding the other copyto function f . The top function includes a single duplicating combinator term ( W in one implementation and S inthe other) but that term is only applied to the popped element. The entire stack is not duplicated, only the topelement is . top (takes f and e and stack s): B(B(B(B(BC(CI))W)(B(CI(BC(C(B(BK)))))))(BB))(BB) f e s or:
B(B(C(B(BC(CI)))(BC(C(B(BK)))))S)(BB) f e s
CL is capable of implementing recursive functions. We demonstrate this in the examples below, using the stackthat was designed in the previous section.Let us first solve the following problem: “Given a stack consisting of Church booleans true= K and false= KI ,remove all the consecutive true elemoents from the top of the stack”. We take a recursive approach and seek analgorithm q that implements: “if the stack has a top element equal to true then pop that value and executealgorithm q on the remaining stack otherwise return the stack”. To investigate the value of the top element itmust first be popped out of the stack. So the first step of algorithm q is the pop function. In combinatory terms: q = BC(CI) fe We did not include s in the definition because q must itself take a stack as an input ( rs = BC(CI) fes ). If the stackis empty, we want the algorithm to return an empty stack. So we must set e to be equal to an empty stack KI . Butwhat must f be set to? If the stack is not empty, q will reduce to the term fxs 1 , where x is the top value and s 1 isthe stack with the stack popped once. The function f must push x back into s 1 if x is false, and it should executealgorithm q on s 1 if x is true. If we set f = BC(CI) f T f F , it will execute f T if f F is true and execute f F if x is false (since BC(CI) f T f F x = xf T f F ). The functoin f T can simply be set to q and f F can be set to BC(C(B(BK)))(KI) which is the K and KI . For booleaninputs the W combinator can be replaced with C(C(CI(C(CIK)K))(C(CI(KI))(KI))) . S3-8 push function with (KI) as an argument (pushes false into the stack). Substituting the solved variables we have: f = BC(CI) q (BC(C(B(BK)))(KI)) . So q can be rewritten as: q = BC(CI)(BC(CI) q (BC(C(B(BK)))(KI)))(KI) But this is not a valid definition for q because it is defined in terms of itself. To solve this recursive equation weturn to the Y combinator. The Y combinator takes any function g and solves the equation x=gx for x . In otherwords the term Y g fulfills the recursive equation such that Y g = g ( Y g ). The Y combinator can be expressed in termsof our primitive combinators: Y = B(WI)(BWB) . To solve for q , we first rewrite it in the form q = gq . This is alwayspossible to do for any function defined in terms of itself. q = BC(CI)(BC(CI) q (BC(C(B(BK)))(KI)))(KI) = C(BC(CI))(KI)(BC(CI) q (BC(C(B(BK)))(KI))) = B(C(BC(CI))(KI))(BC(CI) q )(BC(C(B(BK)))(KI)) = C(B(C(BC(CI))(KI)))(BC(C(B(BK)))(KI))(BC(CI) q ) = B(C(B(C(BC(CI))(KI)))(BC(C(B(BK)))(KI)))(BC(CI)) q = Y (B(C(B(C(BC(CI))(KI)))(BC(C(B(BK)))(KI)))(BC(CI))) = B(WI)(BWB)( (B(C(B(C(BC(CI))(KI)))(BC(C(B(BK)))(KI)))(BC(CI))) ) This is the final solution to the problem. An example application of this function is too lengthy to be included inthis paper. The use of the W combinator that duplicates terms is unavoidable in solving recursive problems. Theexplanation for why the Y combinator works the way it does falls outside of the scope of this paper. We suffice toshow how it can be used to solve recursive equations of CL.We will go through one more example, this time dealing with more than one data structure simultaneously. Theproblem we shall solve is to reverse the content of a given stack. This can be done by creating an empty stack andpopping the elements of the original stack and pushing them into the new stack iteratively, until the original stackis empty. This time we define our algorithm as r (KI) , such that r is a yet unconstructed term that takes twostacks and empties all the content of the second stack into the first stack. We already provide the first stack as anempty stack (KI) and declare r (KI) as the algorithm that solves the stack reversal problem. Now what must r doat each step? First, what is the nonrecursive part of the algorithm?Given two stacks s and s , r must first swap them (to make s accessible for the next operation) and then call thepop function on s . We define this in terms of unknown function f and e : rs s = C( BC(CI) fe)s s = BC(CI) fes s If the stack s is empty, the above term will reduce to es . We can set e = I since the algorithm should terminateand return s when s is empty. If s is not empty, the above term reduces to fxs s where s is the stack s afterone pop operation and x is the top element of s . At this point f must swap the two stacks (to make s accessiblefor the next operation) and push x into s and then execute r on the resulting two stacks. So we can define f = BC(B(Br)
So the combinatory term that solves the stack reversal problem is: r(KI) = B(WI)(BWB)(B(B(C(B(B(B(C(BC)I)(BC(CI)))(BC)))(BC(C(B(BK)))))B)B)(KI)
Readers can run the above program on a stack of their choice. Carrying out the operations by hand may betedious, so using a CL interpreter is encouraged. This program reverses a stack of three elements in 98applications.
A common numeric system in λ calculus/CL is Church numerals. According to this system a number n is acombinator term N n that takes function f and term x and applies f to x , n times. For example N fx = fx , N fx =f(f(fx)) , and N fx = x . In terms of the primitive combinators that we defined earlier, N = KI , N = I , N = SBI , N = SB(SBI) , N = SB(SB(SBI)) , and so on. The function SB increments a number by 1. The function BS(BB) takes two numbers and returns the sum, multiplication is simply the term B , and exponentiation is simply theterm I . Similarly, there are functions for subtraction, division, comparison, and equality checks. But Church’snumeric system is a unary system where the length of numerical representation grows linearly with the number.It is undoubtedly useful for studying number theory but if the number of operations and memory space is ofconcern, arithmetic operations are inefficient.The prevalence of unary encoding systems has given λ calculus/CL a reputation for being slow. But numerals canbe encoded in binary or any base of choice and arithmetic operations can be implemented at optimal complexity(Mogensen, 2001).It may already be clear to the reader that the stack data structure introduced above can be used to store binarydigits of a number with the least significant digit at the top of the stack. Addition can be implemented as arecursive algorithm that takes two numbers (two stacks), pops the least significant digits, adds them, and pushesthem into a new stack, carrying the overflow digit over to the next addition operation and reversing the resultstack when the two input stacks are empty. Multiplication by 2 can be done by pushing a zero digit to the stack.Multiplication of two arbitrary numbers can be implemented by iteratively popping the digits of one stack andpushing zeros to the second stack and numerically adding the entire number of the second stack to a result stackif the first stack yielded a 1 digit with the pop operation. With numerals as stacks, there are no limits to thenumber of digits in a number. But it is also possible to encode numbers as having a fixed number of digits, similarto the standard 32 bit encoding for integers in computers. Boolean logic circuits can be designed for addition,multiplication, subtraction, and division for fixed size numbers, in the same way modern day CPUs implementarithmetic operations. S3-10
Below is the derivation for a program that implements addition by taking two stacks of booleans that representthe binary expansion of two numbers. We derive σ such that σωs s s is equal to r
In the above representation σ is defined in terms of itself. Like the previous examples, the selfreferencing can beeliminated by using the Y combinator. For the purposes of the manuscript we will not derive the proper full formof σ . Instead we will show what it looks like if we switch from leftassociative combinator logic to rightassociativeCL using brackets instead of parentheses. The expression below is equivalent to the RNA representation of Fig 7Ain the manuscript. σ = [BC]C[C[C[C[C[BBBBB[BBC]C][C[C[CK]C][[B[BBC]C]C[CK]C]CK][[C][[C][C[CK]C]K]CK]CK][B[BB[BB[B[BB[BBC]C]B]B]C]C]CBB[BC]B[BC]BC][C[C[CK]C][[B[BBC]C]C[CK]C]CK][[C][[C][C[CK]C]K]CK]CK][B[BC]B[BBC]C]C[B[B[B[BC]B[B[B[BC]B[B[B[BC]B[BC]B]C]B]C]B]C]B]C[BC]B[BC]BC][C[BC][C[BC][CC]CK]KK[C[CBBB[B[BK]K]rCK]C[CBBK]K][CK]C][C[B[BC]BC][C[B[BC]BC][C[B[BC]BC][C[B[BC]BC][C[B[BC]BC][C[B[BC]BC][C[B[BC]BC][C[BC][C[BC][C[BC][C[C[CK]C]BBK]K]BB[BK]K][BK]BBK][BK]K][C[CC]K]K][C[CC]K]CK][C[CC]CK]K][C[CC]CK]CK][B[BC]B]C[B[BC]B]B]σ][BC]CBBKr = C[[C][C[CK]C][BC][BBr][BC]CBBK][[CK]C] It is possible to simulate any Turing machine using CL, with linearly proportional runtime. Using the generalguidelines above, one can assume two stacks of binary values that serve as a memory tape. The tape head can beconceptualized as a finite state machine. A recursive program can be written that at each step pops the first stack,decides what do do with it, permutes the list of states accordingly, pushes a value back into the stack and if
S3-12 needed, and swaps the two stacks as needed. The program can be written as a function defined in terms of itself.It can then be redefined in terms of the Y combinator, similar to what was done in the examples of recursiveprograms above. This will simulate a Turing machine with linear slowdown. λ calculus and Combinatory Logic Despite there existing a onetoone unique mapping between terms of λ calculus and terms of CL, these systemsdiffer at the level of basic operations. In λ calculus there are no primitive functions. In CL there are no boundedvariables. In some cases λ calculus notations are easier to understand and compute functions in fewer elementarysteps. For example, take the function that permutes 8 inputs in the following way: X abcdefgh = debhgfca In terms of primitive combinators, X must be expressed in an obscure expression, like the one below. X = C(B(BC(B(BC)C))(C(B(B(B(B(BC)C))C)(B(B(B(B(B(B(B(BC)C)(B(B(BC)C)))C)(B(B(B(B(BC)C))C)))C… )))))) Using this expression of X, it takes 94 operations to finish rearranging 8 inputs. But in λ calculus the notation isfar more simple and it complete with 10 straightforward substitution operations.The advantage of CL is does not require variable binding and the elementary operations may be simpler tophysically implement. λ calculus requires an to be an infinitely large set of variable names at its disposal. In thenext section, I will discuss how RNA may serve as a vehicle for implementing either of these two computationsystems or possibly even a hybrid system that takes advantage of features in both systems. CL and λ calculus are two equivalent computation system that produce an infinite set of functions that can beused to solve any computable problem. Much like modern day programming languages, it provides the tools forcreative programming and there are unlimited ways to implement data structures and algorithms. What makes CLunique is that it is founded on a handful of very simply primitive combinators. To compute the output of function f on input x , it is sufficient to mindlessly execute of the leftmost combinator of the term f(x) until it is no longerpossible to continue. The terms of λ calculus can similarly be calculated by mindless iterativesubstitution/renaming operations, with the difference that in λ calculus there are no primitive functions and the λ notation is sufficient for determining what a function does. S3-13
References
Cardone, F., and Hindley, J.R. (2006). History of lambda-calculus and combinatory logic. Handb. Hist. Log. , 723–817.Church, A. (1932). A Set of Postulates for the Foundation of Logic. Ann. Math. , 346–366.Church, A. (1933). A Set of Postulates For the Foundation of Logic. Ann. Math. , 839–864.Church, A. (1936). An Unsolvable Problem of Elementary Number Theory. Am. J. Math. , 345–363.Curry, H.B. (1930). Grundlagen der Kombinatorischen Logik. Am. J. Math. , 789–834.Curry, H.B. (1932). Some Additions to the Theory of Combinators. Am. J. Math. , 551–558.Curry, H.B. (1934a). Functionality in Combinatory Logic. Proc. Natl. Acad. Sci. U. S. A. , 584–590.Curry, H.B. (1934b). Some Properties of Equality and Implication in Combinatory Logic. Ann. Math. , 849–860.Kleene, S.C. (1936). $\lambda$-definability and recursiveness. Duke Math. J. , 340–353.Kleene, S.C., and Rosser, J.B. (1935). The Inconsistency of Certain Formal Logics. Ann. Math. , 630–636.Mogensen, T.Æ. (2001). An Investigation of Compact and Efficient Number Representations in the Pure Lambda Calculus. InPerspectives of System Informatics, D. Bjørner, M. Broy, and A.V. Zamulin, eds. (Berlin, Heidelberg: Springer), pp. 205–213.Schönfinkel, M. (1924). Über die Bausteine der mathematischen Logik. Math. Ann. , 305–316.Turing, A.M. (1937a). Computability and λ-definability. J. Symb. Log. , 153–163.Turing, A.M. (1937b). The þ-function in λ-K-conversion. J. Symb. Log. , 164–164., 164–164.