Reachability bounds for chemical reaction networks and strand displacement systems

Chemical reaction networks (CRNs) and DNA strand displacement systems (DSDs) are widely-studied and useful models of molecular programming. However, in order for some DSDs in the literature to behave in an expected manner, the initial number of copies of some reagents is required to be fixed. In this paper we show that, when multiple copies of all initial molecules are present, general types of CRNs and DSDs fail to work correctly if the length of the shortest sequence of reactions needed to produce any given molecule exceeds a threshold that grows polynomially with attributes of the system.


Introduction
DNA strand displacement systems (DSDs) (Yurke and Mills 2003;Zhang et al. 2007) and chemical reaction networks (CRNs) (Cook et al. 2009;Soloveichik 2009Soloveichik , 2008 are important molecular programming models. DSDs provide sophisticated molecular realizations of logic circuits and even artificial neurons Qian et al. 2011b), while CRNs elegantly express chemical programs that can then be translated into DSDs (Chen et al. 2012;Soloveichik et al. 2008Soloveichik et al. , 2010. CRNs and thus DSDs can in principle simulate Turing-general models of computation (Qian et al. 2011a;Seelig et al. 2006), and DSDs can be energy efficient (Seelig et al. 2006;Soloveichik et al. 2010;Yurke et al. 2000;Zhang and Seelig 2011). It is also possible in principle to recycle molecules in DSDs by running reversible reactions or displacements in both forwards and reverse directions, so that t steps of the system use just O(log t) molecules Thachuk and Condon 2012).
However, correct behavior of some published DSDs Qian et al. 2011a) requires that an exact numbers of some reactants are present initially, and it is currently impractical to obtain the exact numbers in a wet lab. We previously considered the conditions for a class of CRNs to work correctly when multiple copies of all initial molecules are present and showed that the length of the shortest trace (sequence of reactions) needed to ''reach'', i.e., produce, any given molecule is bounded by a polynomial function of some attributes of a CRN in this class ). This reachability upper bound reveals important limits of molecular programs that fall in the class covered by our result: we cannot write such programs that run correctly in a closed chemical system and for which the number of steps (reactions) of the program is sufficiently large relative to the volume of initial reagents. 1 In this work we provide two new reachability upper bounds that significantly extend our earlier work. The first new theorem applies to tagged CRNs which, as we explain below, are important because they can be translated into DSDs of comparable volume that can simulate the CRN traces. The second new theorem applies to a broader class of DSDs than does the translated version of our first result. In the rest of this introduction we motivate our results in more detail. Sections 2 and 3 provide technical details of both theorems. We list some open questions in Sect. 4.
1.1 New result for chemical reaction networks (CRNs) Figure 1a illustrates a CRN of the type to which our new result applies (a formal definition of CRN is in Sect. 2). Each reaction r i is reversible, and has unique tag species s i ? and s i on its left and right sides respectively. We explain later why we focus on tagged CRNs, and also explain why we ignore reaction rate constants in our example and results.
When a single copy of each species in the set {A, C, s 1 ? , s 2 ? , s 3 ? , s 4 ? } is initially present, it takes six reaction steps to produce the product F, and to do so, reaction r 1 must run in the forwards direction, then later run backwards, then forwards again, cf. Fig. 1b. However, if another copy of A is present initially then F can be generated with just four reactions. The behavior of the system with two copies does not mirror its behavior with one copy; in this sense it is incorrect. While for this simple example it might not seem important how many steps are needed to produce a particular product, it is critically important in contexts where the product is the result of a computation and an erroneous result could be produced as a result of cross-talk, or short-circuiting of multiple copies of the intended computation.
In this paper, our notion of correctness is that of copy tolerance . We say that a CRN C is x-copy-tolerant if the length of the shortest trace that produces any species s in C and in C (x) is the same, where C (x) is the CRN with the same reactions as C but with x initial copies of each initial molecule of C. A system is copytolerant if it is x-copy-tolerant for all x. The CRN of Fig. 1 is not 2-copy-tolerant. Copy-tolerance is a weak notion of correctness; if a CRN C is not 2-copy tolerant then, for example, C also fails to satisfy the stronger requirement that each possible trace of C in the 2-copy setting is an interleaving of two possible traces in the single copy setting. We chose to work with a weak notion of correctness because it makes our results stronger, i.e., they apply also to notions of correctness that are stronger than copytolerance.
Our first reachability upper bound, Theorem 2, shows that in order for a tagged CRN C to be copy-tolerant, the number of steps needed for C to produce any given species must be suitably bounded. The bound is a polynomial function of the volume and other attributes of C.
We prove our result for tagged CRNs-CRNs with a unique species on the left and right side of each reaction ( Fig. 1)-for two reasons. First, the tags make it possible for us to prove strong results. The second reason stems from the fact that our ultimate goal is to prove limits on the power of DSDs, which can be realized with DNA strands, rather than for CRNs which are a useful theoretical abstraction. When translating an ''untagged'' CRN to a DSD, two sets of auxiliary DNA strand complexes, which we refer to as transformers, are introduced per reaction of the CRN, one set for each side of the reaction. Each set of transformers includes unique strands that do not otherwise appear in the DSD. The CRN tag species represent the sets of transformer DNA strands. Put another way, to translate an untagged CRN to a DSD using current methods, it is necessary to first add tags to the CRN and then map the tags to the sets of transformer species. Thus, by proving a reachability upper bound for a tagged CRN, we are obtaining a result for the DSD realization of the corresponding untagged CRN. The result would apply also to other realizations of CRNs, perhaps even using molecules other than DNA, in which transformer molecules are needed in the realization. Our earlier result  did not apply to general tagged CRNs. Changes in signal and tag species as reactions occur. The first row lists species present initially. The left column of subsequent rows lists the reaction applied, with plus indicating the forward and minus indicating the backwards direction. Two right columns show the signal and tag species, respectively, after the reaction has been applied Unlike the example of Fig. 1, chemical reactions have associated kinetic rate constants that, along with species counts, determine reaction propensities (Soloveichik 2009;Soloveichik et al. 2008). In particular, a CRN behaves stochastically if multiple reactions are applicable to the molecules available at one or more points in the sequence of reactions. However, in examples such as the stack machine of Qian et al. (2011a) and the Gray code counter of Condon et al. (2012), correctness of the CRN does not depend on the relative propensities of applicable reactions (although the expected time to complete the simulation of the CRN does depend on those propensities). Since our results are expressed in terms of number of reactions rather than reaction propensities, they apply to stochastic CRNs. We can interpret our reachability result as a hitting time in the stochastic context where a hitting time is the minimum number of reactions required to reach a goal state from the initial state.

New result for strand displacement systems (DSDs)
The second main contribution of this paper is a limit on the types of DSDs that are correct in multi-copy settings. In (toehold-mediated) strand displacement (Fig. 2), an initially unbound ''signal'' strand I binds to a ''template'' T, causing another signal strand O that was initially bound to T to become unbound. DSDs are collections of strands that can change configurations via successive strand displacements in a pre-programmed fashion (Cardelli 2010;Zhang and Seelig 2011;Zhang et al. 2007) we provide a formal definition later. We do not allow other types of strand displacements, such as cooperative strand displacements, where two signal strands are needed to displace one signal strand. We thus refer to the DSDs in this paper as Uncooperative DSDs (UDSDs).
Our first result on tagged CRNs implies a reachability upper bound for DSD realizations of CRNs, but says nothing about DSDs more generally. In Theorem 8 we elucidate this simple upper bound which is obtained by applying the CRN result to limited types of DSDs, those whose signal strands consist of exactly two domains: a toehold and a long-domain. However, since the signal types are limited, this result does not apply to general DSDs. This is because, while tagged CRNs can be translated to DSDs having parameters such as the volume and the number of types of reactants polynomial in the volume of the CRN (Soloveichik et al. 2011), it is not clear whether the converse is true. To see why, consider signal strands that have three domains: a toehold and two long-domains such that they each start with the same longdomain d* and toehold t*, and end with a distinct longdomain. Assume there are d different types of these signal strands where d is the number of long-domains on the template we will consider. Note for the DSD template having d long-domains, over the course of several displacements, there are factorially many different configurations-ways in which signal strands are bound to the template. Figure 3 provides a simple example where any permutation of the signal species could bind to the template. Now, we want to create a tagged CRN that is equivalent to this DSD. Such a tagged CRN in which each template configuration is a distinct species would thus have the number of distinct species and reactions factorial in the volume (number of toeholds and long-domains) of the DSD. Since each reaction in the tagged CRN requires a unique tag which needs to be present in the initial configuration, the overall volume of the tagged CRN would be also factorial in the volume of the DSD. It is not clear how else to translate such a DSD to a (tagged) CRN of comparable volume.
Can ''long'' computations be correctly performed by DSDs, even in the presence of many copies? Our second reachability upper bounds for UDSDs, Theorems 9 and 10, answer this in the negative, showing that, if sufficiently many copies are present, then any unbound DNA strand that can be produced (i.e., reached) by a sequence of strand displacements can always be reached within a number of displacements that grows at most polynomially in the volume of the single-copy UDSD. Thus, for example, we cannot write DSD programs that run correctly in the multicopy setting and for which the minimum number of displacements needed to produce some given signal strand is exponential in the initial volume.
As further motivation, we describe another application of our DSD reachability bound. The CRN of Fig. 4 describes a traditional 3-bit binary counter. Initially, three species, namely 0 3 , 0 2 and 0 1 represent the bits 0 at each index of the counter. Exactly one reaction can advance the counter from each value (all in the forward direction), until the counter reaches 1 3 1 2 1 1 . For the n-bit generalization of this counter, the number of species is just 2n (two species per bit) while the number of steps is 2 n . Thus the volume is logarithmic in the number of steps. Another very nice feature of this CRN is that it works correctly even if multiple copies of the initial species are present, not only in the sense of being copy-tolerant but also in the sense that the trace of the multi-copy system is an interleaving of traces of the single-copy system, even in the presence of cross-talk. This follows from the fact that for every i, to produce each copy of molecule 1 i , reactions (i) and (i -1) have to be executed at least once in forward direction, (i -2) at least twice, …, (1) at least 2 i-2 times, which can be proved by induction. However, if tags are added to the counter in order that it can be translated to a DSD using tags as discussed previously, the volume of species for the DSD realization of the counter becomes exponential in n. This is because reaction (1) is executed in the forward direction 2 n-1 times and is never executed in the reverse direction; thus 2 n-1 copies of the tag on the left side of reaction (1) must be present initially. Is there an alternative (tag-less) DSD realization of the n-bit CRN binary counter whose volume grows polynomially in n? Our DSD result implies that there is no such realization. If there were, then our reachability upper bound implies that in the multi-copy setting the bit 1 n could be produced in a polynomial number of steps. But since we know that it takes 2 n-1 steps to produce 1 n even in the multi-copy setting, we have a contradiction.

Reachability upper bound for CRNs
In this section we first provide formal definitions of tagged CRNs. We then provide our main technical result, restate this result to obtain our reachability upper bound theorem for copy-tolerant CRNs, compare the bounds of our main theorem of Sect. 2 with our previous result , and then provide several additional results.

Definition of tagged CRNs
Notation. If S is a multiset, we will denote the set of distinct elements in S as ½½S. If s is an element and k is a positive integer, then k Á s denotes k copies of s. For example, a multiset containing three copies of a and five copies of b, can be represented as f3 Á a; 5 Á bg. If S is a set and k is a positive integer, then k Á S denotes the multiset containing k copies of each element in S. Similarly, if S is a multiset, then k Á S denotes the union of k copies of S. The set operations on multisets are defined in a usual way. Let #fx 2 Sg denote the number of copies of x in S. In addition, we define the intersection S \ T of a multiset S and a set T as S \ ðjSj Á TÞ; i.e., S \ T contains only elements in ½½S \ T; and for each x 2 ½½S \ T; #fx 2 S \ Tg ¼ #fx 2 Sg.
Definition 1 (Tagged CRN) A tagged chemical reaction network is a tuple C ¼ hS; T; R; S 0 ; T 0 i with variables defined as follows: -S is a set of signal species and T is the set of tag species, and S \ T = [. -R is a set of reversible or irreversible reactions, where each r 2 R is an ordered pair ðI r ; P r Þ of multisets of signal and tag molecules such that I r \ T ¼ fs þ r g and P r \ T ¼ fs À r g. Note that each side of each reaction contains exactly one tag molecule and this tag molecule is unique for that reaction. Intuitively, a reaction r ¼ ðI r ; P r Þ either consumes the molecules in I r and produces the molecules P r ; or, if the reaction is reversible, it can also consume P r and produce I r . In the first case, we say that the reaction was applied in the forward direction and denote it as ?r, in the second case in the backward direction and denote it as -r. The symbols ?r and -r will be called oriented reactions and we define |?r| = |-r| =r. We will refer to I r and P r as the left side and the right side of a forward The template contains d = 6 toehold-long-domain-toehold blocks. In each block, any one of the signal species shown may be bound. Thus the number of possible configurations of this template is d! = 6!. If 6 copies of the signal t*d* are present as well, they can displace 6 signals shown, which can subsequently displace six t*d* signals resulting in any of the 6! configurations reaction ?r, and as the right side and the left side of a backward reaction -r.
-S 0 is a multiset of signal molecules and T 0 is a multiset of tag molecules present initially at time-step zero. The volume of CRN C is the number of molecules in S 0 [ T 0 .
Tags limit the number of times a reaction can be applied in the same direction without being applied in the reverse direction. For example, if r is a reversible reaction and T 0 contains only one copy of s r ? and no copies of s r -, then in any valid trace, the oriented occurrences of r have to alternate, starting with ?r. If r is an irreversible reaction and T 0 contains x copies of s r ? , then in any valid trace, there are at most x occurrences of ?r (and no occurrences of -r). Limiting the number of tags forces a system to recycle molecules in long traces.
In the following series of definitions, consider a tagged CRN system C ¼ hS; T; R; S 0 ; T 0 i.
Definition 2 (Bandwidths) Define the bandwidth of signal species s as the maximum number of occurrences of s in I r or P r ; i.e., max r2R f#fs 2 I r g; #fs 2 P r gg. Define the maximum bandwidth b C (respectively, total bandwidth B C ) of C as the maximum (respectively, the sum) of bandwidth over all signal species in S. Similarly, the proper bandwidth of signal species s, the maximum proper bandwidthb C and the total proper bandwidthB C are defined analogously but using I r n P r instead of I r and P r n I r instead of P r .
To illustrate the above definition, consider the CRN C that consists of two reactions, A þ B A þ C and B þ B C. Now the respective bandwidths of the species A, B, and C are 1, 2, and 1, the maximum bandwidth b C = 2 and the total bandwidth B C = 4. Similarly, the respective proper bandwidths of the species A, B, and C are 0, 2, and 1, the maximum proper bandwidthb C ¼ 2 and the total proper bandwidthB C ¼ 3.
Definition 3 (Numbers of occurrences of tags) For any reversible reaction r 2 R; let t r be the maximum of the number of occurrences of s r ? or s r in T 0 ; i.e., maxf#fs þ r 2 T 0 g; #fs À r 2 T 0 gg; and for any irreversible reaction r 2 R; let t r be the number of occurrences of s r ? in T 0 . Let T C be the sum of t r 's over all reactions r 2 R.
Definition 4 (x-copy CRN) We define the x-copy of C, for x 2 Z þ ; as the CRN hS; T; R; x Á S 0 ; x Á T 0 i.
Definition 5 (Trace) Let q ¼ r 1 ; r 2 ; . . .; r m be a sequence of oriented reactions where jr i j 2 R for all i. For oriented reaction r if sign(r) = ?, let A r ¼ I r and B r ¼ P r whereas if sign(r) = -, let A r ¼ P r and B r ¼ I r . The configuration of the system at each step i is defined as for all i, meaning that for each molecule in A r i there must be one in S iÀ1 [ T iÀ1 . A trace is a valid reaction sequence.

The main upper bound
Our main upper bound, Theorem 1, shows that in the multicopy setting, any product of a tagged CRN can be produced within a number of reactions that is bounded by a function of the number of signal species, the bandwidth, and the number of tags of the CRN.
Theorem 1 Let C ¼ hS; T; R; S 0 ; T 0 i be a tagged CRN and let s end 2 S. If some trace of C produces s end , then in a ðjSj À j½½S 0 j þ 1Þðb C þb C T C =2Þ jSjb C ðT C =2 þ 1Þ-copy CRN of C, the length of the shortest trace that produces s end is at most ðjSj À j½½S 0 jÞðb Proof Let q ¼ r 1 ; r 2 ; . . .; r m be a valid sequence of oriented reactions in a single-copy system producing s end starting from the initial set S 0 [ T 0 . We will construct a reaction sequence q 0 that also produces s end in a multi-copy CRN and satisfies the length-bound of the theorem, by first constructing ''unidirectional'' shortened reaction subsequences by eliminating all forward-backward pairs of reactions {?r,-r} in subsequences of q, and then showing that in a multiple-copy setting the intermediate signals required to drive the synthesis can instead be produced by repeating these shortened reaction subsequences of q. Throughout the proof we will illustrate the construction on the CRN and the corresponding trace from Fig. 1.
The constructed reaction sequence q 0 i has the same effect on the final number of signals as q i . However, q 0 i might not be a valid reaction sequence starting at the same initial configuration as q i since some reactants might be missing when running a reaction in q 0 i . To avoid that we will start with a sufficient number of copies of signals in S 0 [ T 0 and run each q 0 i that produces a new signal s j sufficient number of times so that we have sufficient number of copies of s j for all remaining executions of such shortened reaction subsequences. For example, in q 0 6 ¼ þr 2 ; þr 3 ; þr 1 ; þr 4 the missing first reaction ?r 1 produces a signal B which is used by the subsequent reaction ?r 2 . We can provide the missing signal B by running a shortened sequence q 0 1 that produces B before executing sequence q 0 6 . In what follows we will argue that if we start in a configuration with a sufficient number of copies of signals in Let S 0 be the set of signal molecules appearing on the left hand side of reactions in q 0 i . Now, let us see what happens if we apply this sequence on the initial set where k is sufficiently large so that the reaction sequence is valid. We can make the following observations: (1) The final number of copies of each signal species is the same as if we would apply Hence, the final configuration contains k Á S 0 .
(2) For each reaction r 2 R; q 0 i contains either only forward or only backward occurrences of r (or no occurrences), and their number is limited by the number t r of corresponding tags in T 0 . As a consequence, the length of q 0 i is at most T C .
(3) Consider a signal molecule s 2 S 0 . Each reaction in q 0 i removes or adds at most b C copies of s and the length ' of q 0 i is at most T C . We will show that before each reaction in q 0 i ; there are at least k Àb C T C =2 copies of s. Assume that after the first j reactions, the number of copies of s is less than k Àb C '=2. If j '=2, then the first j reactions of q 0 i could remove at mostb C j b C '=2 copies of s, and there were at least k copies present initially, a contradiction. If j [ '=2, then there are less than '=2 reactions left, and each of them adds at mostb C copies of s. Since by (1), the final number of copies of s is at least k, we have a contradiction again. Hence, the number of copies of s before any reaction of q 0 then before each reaction in q 0 i ; there are at least b C copies of any signal in S 0 , and hence, the reaction sequence is valid. Note that this is true even if we randomly permute reactions in q 0 i . For each signal s appearing in the single-copy trace and not appearing in the initial set S 0 , let r indexðs i Þ be the first reaction in q which produces a copy (or more) of s. Let s 1 ; . . .; s n be the sequence of all signals not in S 0 ordered by their indices, i.e., indexðs 1 Þ indexðs 2 Þ Á Á Á indexðs n Þ. In our example from Fig. 1, we have index(B) = 1, index(D) = 2, index(E) = 4 and index(F) = 6. Hence, we order signals as follows: s 1 = B, s 2 = D, s 3 = E and s 4 = F.
Without loss of generality we can assume s n = s end . Let S i ¼ fs 1 ; . . .; s i g. We can make one additional observation: (5) For each s i , the left side of each reaction in q 0 indexðs i Þ contains only signals in ½½S 0 [ S iÀ1 . By (4), if we start in a configuration which contains the multiset of signals and tags S 0 indexðs i Þ is a trace producing a copy of s i .

Construction of reaction sequence
(S1) Start with the initial set containing b C þb C T C =2 copies of ½½S 0 and the empty sequence of reactions.
Before we proceed with proving that this construction is producing a valid reaction sequence, let us illustrate it on the CRN from Fig. 1.
Hence, the construction requires 15 copies of S 0 and 12 copies of T 0 ; and the constructed reaction sequence contains 27 reactions. This is not the most efficient sequence. As we have seen in the introduction, there is a reaction sequence of length four that uses only two copies of S 0 and one copy of T 0 ; and produces a signal species F. However, this general construction guarantees that the required number of copies of the initial set and the length of the sequence is polynomial for any CRN. The configuration of the system after each step is shown in Fig. 5. Note that after each step the configuration contains at least three copies of each species produced so far. We will show that this is always the case in the following claim, which also proves that the constructed sequence is valid.
Claim 1 After each step i in (S2), the constructed sequence is valid and the final configuration contains Proof Proof by induction: Base case: For i = 0, after (S1), we have b C þb C T C =2 copies of each signal in ½½S 0 and the empty sequence of reactions is valid. Induction step: Inductive assumption: before step i, we have b C þ b C T C =2 copies of each signal in ½½S 0 [ S iÀ1 and the sequence constructed so far is valid. By (5), if we add a copy of S 0 [ T 0 and apply the reaction sequence q 0 indexðs i Þ on the current configuration, the trace is valid. By (1), this newly added part (a copy of S 0 [ T 0 and reactions in q 0 indexðs i Þ ) will not decrease the number of any signal. Finally, q 0 indexðs i Þ must contain the last reaction of q index (s i ), i.e., r index (s i ) which produces at least one copy of s i . If we repeat this b C þb C T C =2 times, we will still have at least The bound: The construction uses ðn þ 1Þðb C þ b C T C =2Þ copies of S 0 ; nðb C þb C T C =2Þ copies of T 0 and repeats nðb C þb C T C =2Þ times the trace q 0 some index . By (2), the length of each q 0 some index trace is at most T C , hence the total length of the constructed sequence is at most nðb C þb C T C =2ÞT C . Furthermore, n can be bounded by jSj À j½½S 0 j.
h We remark that this result does not hold for the untagged CRNs, cf. Example 3.4 in our earlier paper , where the following CRN was presented which requires an exponential number of steps to produce s end even in an 1-copy of this CRN: with the initial set containing k copies of s 0 . Note that since all reactions are balanced the volume of this system stays constant. However, since in this CRN in any shortest trace producing s end , all reactions are applied in the forward direction, if we would tag this CRN, the trace producing s end would require that the initial multiset of tag molecules T 0 contains an exponential number of tags. It is also interesting to observe where the proof of Theorem 1 fails for the untagged CRNs. In observation (2) in the proof we were able to bound the length of the shortened sequence of reactions q 0 i by T C , which would not be possible in an untagged CRN.
Þ -copy-tolerant and s end can be produced in C, then the length of the shortest trace of C that produces s end is at most jSj À 1 A natural question is whether we could improve the bound in condition (3) of the proof of Theorem 1 by choosing the ''right'' permutation of oriented reactions in q 0 i . The following example shows that this is not possible in general.
Example 1 Assume that q contains exactly an even number, T, of oriented reactions þr 1 ; . . .; þr T designed as follows. First for every partition p of q into two sets q 1 p and q 2 p of same size, we introduce a new signal s p . Let P be the set of all such partitions. Next, we define reactions r 1 ; . . .; r T in such a way that each of these signals is either an input or a product of each reaction: We will illustrate this construction for T = 4, i.e., q = ?r 1 ,?r 2 ,?r 3 ,?r 4 . There are six partitions of q into two subsets of size two: q 1 a = ?r 1 ,?r 2 and q 2 a = ?r 3 ,?r 4 , -q 1 b = ?r 1 ,?r 3 and q 2 b = ?r 2 ,?r 4 , -q 1 c = ?r 1 ,?r 4 and q 2 c = ?r 2 ,?r 3 , -q 1 d = ?r 2 ,?r 3 and q 2 d = ?r 1 ,?r 4 , -q 1 e = ?r 2 ,?r 4 and q 2 e = ?r 1 ,?r 3 , -q 1 f = ?r 3 ,?r 4 and q 2 f = ?r 1 ,?r 2 , Hence, the reactions use six signals: s a ; s b ; s c ; s d ; s ; s f . Using the definition of inputs and products above, the four constructed reactions are the following: Note that after all reactions in q are applied, the number of copies of any of the signals s p is not changed, since there are exactly T=2 reactions in q adding one copy of s p and T=2 reactions removing one copy of s p . Now, we show that for any permutation of the reactions in q, there is a signal molecule with k -T=2 copies when the first T=2 reactions in this order are applied. Since we could easily replace I r i and P r i with b Á I r i and b Á P r i ; the bound k Àb C T=2 in (3) cannot be improved without adding some additional conditions on the CRN. To find the signal molecule with k -T=2 copies after applying the first T=2 reactions, consider the partition p 0 of q into the first and the second T=2 reactions of this order. Then the signal s p 0 appears in the input set of the first T=2 reactions, and thus, the number of copies of s p 0 is k -T=2 after applying the first T=2 reactions.

Result for 1-proper tagged CRNs
We next describe a stronger version of our result for a special case. We say that a tagged CRN C is k-proper if each reaction has at most k reactants which are not catalysts, more formally, for all r 2 R; jI r n fs þ r g n P r j k and if r is reversible, also jP r n fs À r g n I r j k. Corollary 1 If there exists a trace in a 1-proper tagged CRN C ¼ hS; T; R; S 0 ; T 0 i producing s end , then in an |S|b Ccopy CRN of C, the length of the shortest trace that produces s end is at most Proof To improve the bound we will strengthen the bound for k in observations (1-4) in the proof of Theorem 1. In particular, we will show that there is a permutation of reactions in q 0 i such that when this permutation of reactions is applied on S 0 [ T 0 [ b C Á S 0 , the number of copies of any signal species is not below b C -1 during any step and the number of copies of any but one signal is not below b C . To do this we will borrow the idea from the proof of Theorem 2 in . Pick the first reaction at random. Since it is a 1-proper reaction, the number of copies of at most one signal species, say s, is less than b C , and if so, by at most one less. By (1), there has to be an unused reaction which would bring this number back to b C . We choose this reaction as the second reaction. This brings the number of copies of molecule species s back to b C , but it might decrease the number copies of another species to b C -1. Hence, there is again at most one signal species with fewer than b C copies. Repeating this process, we construct the desired permutation of reactions of q 0 i . Using this improved bound of condition (3), we can now modify the construction of the reaction sequence as follows: (S1) Start with b C copies of ½½S 0 .
(S2) For each i ¼ 1; . . .; n: add b C copies of S 0 [ T 0 and append b C times sequence q 0 indexðs i Þ .
The rest of the proof follows analogously to the proof of Theorem 1. h

Comparison with the previous result
In our previous work , we have showed the following result for untagged CRNs. Untagged CRNs do not put any restriction on how many times reactions are used in forward or backward directions. They can be also thought of as tagged CRNs with an infinite supply of tags [for the exact definition see ].
Theorem 6 . If there exists a trace in a 1-proper CRN C ¼ hS; R; S 0 i producing s end , then in a (B C ? 1)-copy CRN of C, the length of the shortest trace that produces s end is at most (B C ? 1)B C /2 ? 1.
Note that B C B |S|b C . In particular, if the maximum bandwidth is 1, then the number of copies of the system required in both results is HðjSjÞ and the number of reactions needed to produce s end is bounded by O(|S|T C ) in our new result and by O(|S| 2 ) in the result from ).

The upper bound in the unrestricted case
In the previous subsection, we assumed that a single copy CRN can produce the target signal molecule s end . Here we study the case without this assumption. We have the following weaker result: Theorem 7 Consider a CRN C ¼ hS; R; S 0 i with the maximum bandwidth 1. If s end can be produced by an 1-copy CRN of C, then the length of the shortest trace that produces s end is at most O(2 |R| ) in the 1-copy CRN of C.
Proof Partition R as follows. In an 1-copy CRN, we can assume that we have an unlimited supply of signal molecules in S 0 . Let R 1 be the set of all reactions in R which can be applied in the initial configuration. Let S 1 be the set of signal molecules in S 0 and those produced by reactions in R 1 . Repeat this procedure until S k contains s end . Let r i be the size of R i . We want to estimate how many reaction steps are needed until we can apply the reaction in R k that produces s end . In the worst case, to apply any reaction in R i , we might need signal molecules produced by each reaction in R 1 [ . . . [ R iÀ1 . Let b i be an upper bound on the number of reaction steps which will produce all signal molecules required to apply a reaction in R i . Hence, we can set b 1 = 0 and b i = P j=1 i-1 r j (b j ? 1). Note that b i?1b i = r i (b i ? 1), and hence, b i?
To upper bound b k we will argue that the value of b k is maximized if r j = 1 for each j ¼ 1; . . .; k, and k = |R|. This is because for any n 1 ,n 2 C 1 such that n 1 ? n 2 = n, it holds that n ? 1 \ (n 1 ? 1)(n 2 ? 1), i.e., the product could always be increased by replacing the term r j ? 1 C 3 in the product with two terms r 0 j ? 1 and r 00 j ? 1, where r j = r 0 j ? r 00 j . The claim follows by induction. Therefore, we can upper bound the number of reactions needed to produce s end by b k þ 1 ¼ Q kÀ1 j¼1 ðr j þ 1Þ 2 jRjÀ1 . h The following example shows that the bound in Theorem 7 cannot be improved.
Example 2 Consider the following CRN with the maximum bandwidth 1: This CRN contains k distinct reactions and the number of reaction steps required to produce s k is 2 k-1 , which exactly matches the bound in Theorem 7. Indeed, if we denote the number of reactions needed to produce s i by n i , then we have n 0 = 0 and n i ¼ n 0 þ n 1 þ Á Á Á þ n iÀ1 þ 1, and it is easy to check that n i = 2 i-1 , for every i C 1.

Reachability upper bound for uncooperative DSDs
In this section we first define the type of DSD to which our results apply, along with related notation needed for our results. We then provide our main upper bound, and conclude with a restatement of this result to obtain our reachability upper bound theorem for copy-tolerant DSDs.

Definition of uncooperative DSDs
In this section we formalize standard features of DSDs as described in the literature and some additional features, so that we can reason rigorously about them in our proofs. Since our model does not allow cooperative strand displacement, we call this model ''uncooperative DSD '' model (UDSD).
In our definition of UDSDs, we will assume that the basic building blocks are domains where each domain d has its complementary domain d* and (d*)* = d. In practice, domains are built from nucleotide sequences, and it is usually assumed that these are designed in a way so that there are no interactions between domains which are not complementary. In addition, domains are usually divided into two groups, ''toeholds'' and ''long-domains'', based on their lengths (the number of nucleotides). Strands are built by concatenating these basic building blocks. The purpose of toeholds is to initiate branch migration [replacement of one strand (signal) attached to a long strand (template) by another strand (signal)]. The purpose of long-domains is exactly the opposite: to prevent signal strands from detaching from the template strands without being replaced by another signal strand (as this would require a prohibitive amount of energy). Consistent with existing research, we are working at the domain level of abstraction, and we consider the actual sequence design of domains as future work.
An Uncooperative DNA strand displacement system (UDSD) is a pair D ¼ ðS; C init Þ of strands and an initial configuration (secondary structure) for those strands, plus allowable positional displacements, defined as follows.
-S is a finite multiset of strands. Strands are composed of subsequences of finite strings of symbols, called domains. Domains are partitioned into two groups: toeholds and long-domains. Corresponding to each domain x is a complementary domain x*; x is a toehold if and only if x* is. S may contain many strands of a given type, where the type of a strand is its sequence of domains. The strands are partitioned into two groups: signals and templates. A template strand is a sequence of domains beginning and ending with a toehold that alternates between toeholds and long-domains. A signal strand is an arbitrary sequence of domains. There is no bound on the number of toeholds and long-domains of a template or a signal. We say that the UDSD D has simple signals, if each signal in S is composed of exactly one toehold and one long-domain.
-A configuration of S is a circular graph 2 with the vertex set containing all domains in S and the edge set consisting of two types of edges: (i) adjacency edges connecting all adjacent domains in the strands of S and (ii) binding edges connecting some complementary domains, which satisfy the following conditions: (1) Every domain is incident to at most one binding edge. A domain incident to a binding edge, is called bound, otherwise, it is called unbound. unbound, in which case we say that the signal strand is unbound, or exactly two of its domains which are adjacent are bound to two adjacent domains on one template strand, in which case we say that the signal strand is bound.
In addition, since we assume that a domain is a toehold if and only if the complementary domain is a toehold, and all binding edges are between complementary domains, there are no binding edges between toeholds and longdomains. We will call the connected components of this graph complexes. Note that conditions (2), (3) and (5) imply that the configuration is a circular graph, hence we could have omitted it from the above definition. However, we choose to include it so that omitting condition (5) from the above definition yields a valid more general model of DSDs, which we would like to consider in future work.
For example, Fig. 7 shows two configurations, the initial (top) and final (bottom) configurations of a UDSD. This are drawn, not as a typical circular graph, but with domains (vertices) represented by lines (short dark lines represent toeholds and long gray lines represent long-domains), adjacency edges by connected domains and binding edges indicated by complementary domains that are juxtaposed. Most of the signals in these configurations are simple, and there is one complex signal that can bind to two different positions of the first template. The PDs are lined up horizontally with their template positions and given by circles that are numbered according to the order in which they occur.
Let us now provide some intuition behind these conditions. Condition (1) comes from the fact that each nucleotide can form a (hydrogen) bond with only one another nucleotide, and thus the same applies to domains which are sequences of nucleotides. Conditions (2) and (3) are typical assumptions made for the systems which divide strands into templates and signals (as we do). The advantage of such a design is better control of what can and cannot happen in the system. If the UDSD is designed in such a way that no domains in the signals are complementary to each other and similarly, no domains in templates are complementary to each other, then these two conditions are implied and could be dropped from the definition of the configuration. Note that these two conditions imply that the subgraph containing only binding edges is a bipartite graph.
Conditions (4) and (5) are two additional assumptions which we make to prove our results. It is possible that our results hold even if any of these two conditions or both of them are dropped. We leave that as an open problem. Condition (4) guarantees that each configuration is at the minimum free energy. Condition (5) limits how signal strands and template strands interact. If the UDSD is designed in such a way that for each signal and each template there is no scattered substring of the signal of length more than two which is complementary to a substring of the template, then the part of condition (5), which states that a signal binds to a template with exactly two adjacent domains, is implied. For example, consider a signal a*b*c*d*e* and a template uvabdexy. Then a scattered substring a*b*d*e* of the signal of length four could bind to a substring abde of the template, thus breaking condition (5). The second part of condition (5), which states that a signal strand does not simultaneously bind to two different templates, is commonly assumed in any system which we have seen in the literature and is necessary for our proofs to work.
As a consequence of these conditions we have that the only way one configuration can be transformed to another configuration is through ''positional strand displacement'' described below, which for example, does not allow cooperative displacement, thus the name ''uncooperative DSD'' for our model. (As we will see later, a sequence of strand displacements can ''walk'' back and forth in templates, with each displacement using toeholds that become open as a result of the previous displacement in the sequence, but such walks are necessarily restricted to remain within a template. For example, see Fig. 6.) -C init is an initial configuration.
Starting with the initial configuration, DSDs can progress through a sequence of configurations via positional strand displacements (PDs). PDs can move the open toehold of the template to the right or to the left. A PD moving the open toehold to the right is specified by a positive even number k, a template strand T with at least k ? 1 domains and a signal strand called the invader, say of type I, see Fig. 2a, where we can now assume that only positions k -1, k, k ? 1 of template T are shown. The domain d at position k of the template is a long-domain and the domain at position k -1 is a toehold, say t. For the displacement to be applicable to a given configuration C; it must be that in C an additional signal strand, which we refer to as the releasee, is bound to d at position k and to a toehold at position k ? 1 of the template T, and the toehold at position k -1 is unbound (open). The invader is unbound in C and contains the substring t*d*.
A displacement models the following steps in Fig.  2b,c,d, when toeholds and long-domains are actual DNA sequences. First, toehold t* of the invader binds to the toehold t of the template at position k -1. Then a branch migration ensues, whereby long-domain d* of the invader binds to d at position k of the template and the releasee is no longer bound at this position. Finally, if it exists, the bond between the releasee and the toehold at position k ? 1 is broken. Thus in the resulting configuration C 0 ; substring t*d* of the invader is bound to td on the template at positions k -1 and k and the releasee is unbound, see Fig. 2e.
Formally a positional displacement (PD) of UDSD D is a tuple of the form (I, T, k, z), where I is a signal strand type, T is a template strand, k is a positive even integer and z 2 fL; Rg. PD (I, T, k, z) is applicable to a configuration C if the following conditions hold: 1. Strand T has at least k ? 1 domains and the kth domain, say d, is a long-domain. Also a signal strand, called the releasee, is bound to the kth domain of T. 2. In the configuration C; a strand of type I is unbound. 3. If z = R the following conditions hold. (Conditions for z = L are symmetric, with k ? 1 swapped with k -1 and d*t* replacing t*d*.) The PD must release exactly one signal strand. Suppose that PD (I, T, k, z) is applicable to C. Let C 0 be obtained from C by removing the bonds between T and the releasee and by adding bonds either between any substring t*d* of an unbound strand of type I of C and the domains td at positions k -1 and k of T if z = R, or between any substring d*t* of I and the substring dt at positions k and k ? 1 of T if z = L. Then we say that (I, T, k, z) induces C 0 from C. This definition excludes cooperativity where two invading strands release a single releasee or one invading strand releases two releasees, because, by definition, every PD must be initiated by one invader and release exactly one releasee.
A sequence of PDs q ¼ p 1 ; p 2 ; . . .; p jqj is valid with respect to C init if there is a sequence C 1 ; C 2 ; . . .; C jqjþ1 of configurations of D with C 1 ¼ C init such that for all i, 1 B i B jqj, p i is applicable to C i and induces C iþ1 from C i . When C init is clear from the context, we simply say that q is valid. A valid sequence produces a strand s 2 S if in C jqjþ1 ; the strand s is unbound. Let Invaders(q) be the set of types of invaders of q. Let Unboundðq; C init Þ be the set of types of unbound signals in C jqjþ1 and Unbound(q) the set of types of unbound signals in C 1 [ . . . [ C jqjþ1 . For Fig. 6 This figure shows the initial configuration C init (top) and the final configuration (bottom) of a small UDSD. The UDSD has two templates and nine signals with one of them being a complex signal. The final configuration is characterized by the release of the signal s end = d end * t*. The middle portion of the figure illustrates the sequence of PDs that moves the UDSD from C init to the release of s end . The PDs are ordered according to the sequence in which they occur, and the number for the PD is located horizontally over/under the template domain that is affected by the PD. The complex signal is active in two PDs, 2 and 5. PDs 1-5 interact with the first template by walking first to the right and then to the left along the template domains. This behavior is discussed in detail in Fig. 8. A more detailed illustration of the signals that participate in each PD is shown in Fig. 7 Reachability bounds for chemical reaction 509 example, Fig. 6 shows an initial configuration (top) and a final configuration (bottom) for a PD. There are two templates and nine signals, one of which is a complex signal. Each configuration shows the signals bound to the templates and the unbound signals above them. Let q ¼ p 1 ; p 2 ; . . .; p jqj be a sequence of PDs. The template subsequence q(T) is the subsequence of q with PDs of the form The volume of UDSD D is the number of domains in S.

The upper bounds
First, we use the fact that a UDSD with simple signals can be simulated by a tagged CRN with volume that is polynomial in the volume of the UDSD, and thus we can use the bound in Theorem 1 to obtain the following result. If D ¼ ðS; C init Þ is a UDSD, we define D ðxÞ to be the UDSD ðx Á S; x Á C init Þ; where x Á C init denotes the configuration that contains x copies of each complex in C init .
where T[2i -1]*T[2i]* and T[2i]*T[2i ? 1]* are simple signal strands and where the notation * indicates that T[k]* can bind to the template at position k. We express all PDs of D as reversible chemical reactions above and construct the initial multiset of CRN C as follows. Each initially unbound signal is added to the initial multiset of C. For each template T, we add molecule T i corresponding to the initial configuration of T to the initial multiset of C. It is easy to see that the constructed CRN C exactly simulates UDSD D.
However, in order to apply the bound for CRNs from Sect. 2, we need to convert C to a tagged CRN C 0 . We express each PD acting on the domain T[2i] of T [u, v] as follows as a chemical reaction: where s þ T i and s À T i are unique tags of this reaction. The tagged CRN C 0 exactly simulates CRN C under the assumption that there are sufficiently many tags. Assume that the template T has t copies in D. For one template, a single copy of each tag is enough to guarantee that the template can transform from one state to another. Therefore, we add t copies of tags s þ T i and s À T i over all configurations T i of all templates T to the initial multiset of tags of C 0 . This number of tags is sufficient as it allows each simulated templates to freely transform between their configurations (assuming the required simulated signal strands are available). Note that the total number of tags added for one copy of domain T is exactly 2s.
Finally, we need to determine the parameters of the constructed tagged CRN C 0 . The number of types of signal molecules which are not initially present in the initial configurations, i.e., jSj À j½½S 0 j; is the number of types of Fig. 7 This figure shows more detail for the sequence of PDs outlined in Fig. 6. The initial configuration C init is shown at the top and the final configuration with the release of signal s end = d end * t* is shown at the bottom. Each PD is indicated by a number in a circle where the numbers give the order in which the PDs occur. Each PDs circle has an incoming edge and an outgoing edge. The incoming edge indicates which signal is the invader and the outgoing edge indicates which signal is the release initially bound signal strands in D plus the sum of the numbers of configurations over all templates. Since the number of configurations of a template with s longdomains is s ? 1, this number can be upper bounded by B ? 2D. The number of tags is exactly 2D. The bandwidth of C 0 is 1. The theorem follows by Theorem 1.
h As shown in Fig. 3, the proof of Theorem 8 will not work in the case of general signal strands, since the number of configurations of some templates can be exponential. Instead of simulating a UDSD by a tagged CRN, in Theorem 9 we will prove a bound for general (i.e., not with simple signals) UDSDs directly, reusing some ideas of the proof for tagged CRNs.
Let D be a UDSD. Our goal is to show that if there is a valid sequence of PDs a ¼ q 1 ; q 2 ; . . .; q jaj that produces a given signal s end in D; for example Fig. 6, then there is a ''shorter'' valid sequence, c, that produces s end in a multicopy version of D; i.e., a version that initially has many copies of C init . Moreover, the number of copies of C init and the length of c will be bounded by a polynomial in B, the number of types of signals that are initially-bound (i.e., every copy is bound) in C init but are released by a; and D, the total number of long-domains of all templates. We first provide some intuition for our proof while introducing some useful definitions, and then provide the formal details in a series of claims.
To build intuition for our proof, we present three possible strategies for constructing c. The first two strategies are flawed but provide motivation for the details of the third, correct, strategy.
Strategy 1: Let c be the sequence of PDs that, starting from the initially open toehold of a template in which s end is bound, ''walks'', i.e., displaces the bound signals one at a time, between this open toehold and s end . For example, in Fig. 6, the signal t*d 3 * would be used to initiate a sequence of PDs starting at the left of the second template and finally releasing s end at the far right.
The c of Strategy 1 has length at most D. However, the multiset of invader signals needed for the displacements may not be in C init . To overcome this problem, we need c to release (enough copies of) each signal that is not in C init but that is released by a. For each type s of signal strand in Unbound (a) that is bound in C init ; let index(s) be the index of the first PD of a that releases s. Let s 1 ; . . .; s B ð¼ s end Þ be the sequence of all such signals ordered by their indexes, i.e., indexðs 1 Þ\indexðs 2 Þ\ Á Á Á \indexðs B Þ; until s end is produced. Let S i ¼ fs 1 ; . . .; s i g. Let a i ¼ q 1 ; q 2 ; . . .; q indexðs i Þ . For example in Fig. 6, s 1 is the signal d 1 *t* and s end is d end * t*.
Strategy 2: Using Strategy 1, and taking advantage of the fact that multiple copies of C init are available initially, the PDs in c first produce (sufficiently many) copies of signal s 1 . This is possible because by definition of s 1 , there is a walk of length at most D to some s 1 that only uses invaders in C init . In a similar manner, use signals in yet additional copies of C init plus the newly released signals s 1 to release signal s 2 , and so on. For example in Fig. 6, s 1 is the signal d 1 *t*, and by using multiple copies of the initial configuration, we can get copies of s 1 which help us get copies of s 2 , etc.
The problem with this strategy is that the number of copies of C init available initially may need to be exponential in D, in order to release s B ð¼ s end Þ. Specifically, HðDÞ copies of C init would be needed to produce one copy of s 1 , e.g., in a scenario where all of the needed invaders on the walk to s 1 are identical, there is only one copy of this invader in C init and s 1 has distance HðDÞ from the initially free toehold in its template. Thus we would need HðDXÞ copies of C init to produce X copies of s 1 using Strategy 2. By the same argument we may need HðDXÞ copies of ðC init [ s 1 Þ to get X copies of s 2 , leading to a total of HðD 2 XÞ copies of C init to produce X copies of s 2 , and so on. To overcome this problem, we need c to take a walk that, while still being short, is more effective in releasing needed invaders and more conservative about using them up.
Strategy 3: This strategy first releases a copy of s 1 via a short walk b 1 that uses invaders from just a single copy of C init but that can also ''borrow'' signals from a reserve of extra copies of C init ; as long as the signals are returned to the reserve by the end of the walk. For example in Fig. 6, we would have many copies of the initial configuration (top) which give us a reserve of signals. We construct b 1 by adapting a 1 (the prefix of a that causes s 1 to be released, see above). Note that a 1 releases s 1 without needing to borrow from a reserve, but may be too long for our result. In contrast, b 1 will have length O(D 2 ) and at the same time, the set of initially-bound signals that are released by b 1 will be the same as that of a 1 and the set of signals that are finally-bound by b 1 will also be the same as that of a 1 . In particular, all other signals, e.g., from the reserve, that may temporarily be bound during the walk taken by b 1 are also released during the walk. The sequence of PDs b 1 sweeps across the region traversed by a 1 in a zig-zag fashion (for a specific example, see Fig. 6), so as to visit each domain for (Fig. 7) the last time in the same order as does a 1 . Figure 8 provides a general example. When visiting a domain for the last time, b 1 uses the last PD of a 1 that visits that domain-these PDs are called marked PDs in the formal description to come later. This ensures that the set of signals that are finally-bound by b 1 is the same as that of a 1 . Also in b 1 , between the marked PDs, are intermediate ''connector'' PDs that ensure that b 1 is a valid sequence of PDs. The connector PDs are also chosen so that the first PD of b 1 that releases a signal at a given domain is the same as the first PD of a 1 that releases a signal at that domain. This ensures that the set of initially-bound signals that are released by the end of b 1 is the same as that of a 1 .
The walk b 1 X can produce X copies of s 1 using X copies of C init plus a ''reserve'' of jb 1 j copies of C init that is still available at the end of the walk. In a similar fashion, copies of s 2 can then be produced by consuming one additional copy of C init per copy of s 2 , and also borrowing from the growing reserve of signals, namely multiple copies of all signals in C init [ fs 1 g. Continuing in this way, s B = s end can be generated from an initial number of copies of C init that is bounded by a polynomial in B and D.
We now present the formal details. Let T be a template, and let a i ðTÞ ¼ p 1 ; p 2 ; . . .; p ja i ðTÞj be the template subsequence of a i , where p j = (I j , T, k j , z j ) for every j ¼ 1; . . .; ja i ðTÞj. Let u and v the first and last toeholds of T affected by a i (T), respectively, and d = (vu)/2 the number of affected long-domains in T. We construct a subsequence b i (T) of the PDs in a i (T). The PDs in this subsequence will be of two types, marked and connector.

Marked PDs
Mark the first PD p 1 of a i (T), and then mark, for each affected long-domain in the template T, the last PD of a i (T) that binds to it. Let p m 1 ; . . .; p m dþ1 be the subsequence of all marked PDs (1 ¼ m 1 \m 2 \. . .\m dþ1 ). It is easy to see that the sequence of marked PD positions, k m 2 ; . . .; k m d ; consists of two interleaved monotonic subsequences: U ¼ u þ 1; u þ 3; . . .; k m dþ1 À 2 and V ¼ v À 1; v À 3; . . .; k m dþ1 þ2; where k m dþ1 is the long-domain position of the last PD in a i (T). Furthermore, the marked PDs with the longdomains in the first subsequence have direction R and in the second subsequence direction L. Depending on the direction z m dþ1 of the last marked PD, we add the longdomain position k m dþ1 at the end of U if z m dþ1 = R or at the end of V, if z m dþ1 = L.

Connector sequences
Now, we must connect the marked PDs by introducing connector sequences of PDs between each consecutive pair of marked PDs with the goal being for each subsequent PD to use the toehold opened by the previous PD. Let " z indicate the opposite direction from z.
For the connector sequence connecting p m 1 and p m 2 , select as a connector the first PD in a i (T) with direction " z m 2 that binds to each long-domain of T between positions k m 2 and k m 2 inclusive. It is easy to see that either all selected connector PDs are before p m 2 in the sequence a i (T), or m 1 = m 2 and the connector sequence is empty. In the second case, k m 1 is either u ? 1 or v -1, and there is no other PD in a i (T) with the same long-domain position.
Consider j ¼ 2; . . .; d. Each PD of the connector sequence connecting p m j to p m jþ1 will be between p m j and p m jþ1 in the sequence a i (T). We will consider two cases.
1. If z m j = z m jþ1 , then no connector PDs are needed (longdomain positions k m j and k m jþ1 are from the same subsequence-either U or V-and hence they differ by exactly 2). 2. If z m j = z m jþ1 , then we select the connectors as follows.
In the subsequence of a i (T) between PDs p m j and p m jþ1 , choose as a connector the first PD that binds to each position between k m j and k m jþ1 , excluding position k m j and including position k m jþ1 . Note that each PD in this connector sequence must have direction z m j .
The construction is illustrated in Fig. 8. The sequence b i (T) contains all the marked PDs and all the connector PDs, with distinct indices. Note that this is a subsequence of a i (T) since for every j ¼ 1; . . .; d; the connector sequence connecting p m j to p m jþ1 contains only PDs between between p m j and p m jþ1 . Finally, we define b i as a concatenation of b i (T)'s over all templates T in C init .
We next state and prove a sequence of claims that we use to prove our main result.
Claim 2 The first PD in the sequence b i (T) can use the initially open toehold. Every other PD in the sequence can use the toehold opened by the previous PD in the sequence.
Proof The first part of the claim is straightforward since the first PD of b i (T), i.e., p m 1 , is also the first PD of a i (T).
For the second part of the claim, first, we note that each connector sequence connecting two consecutive marked PDs consists of PDs with the same direction such that for all two consecutive PDs in the connector sequence, their long-domain positions differ by the same value in {-2,2}. Therefore, all but the first PD in the connector sequence uses a toehold open by the previous PD in the sequence. It is enough to show that this condition is satisfied also (a) between the first PD of a connector sequence and the preceding marked PD; and (b) between the last PD of a connector sequence and the following marked PD, for each non-empty connector sequence. In the case that some connector sequence is empty, we need to check that the condition is satisfied between the marked PDs preceding and following the empty connector sequence. Consider the later case first: assume that the connector sequence connecting p m j to p m jþ1 is empty. Then k m j and k m jþ1 belong to the same monotonic subsequence (either U or V), i.e., k m jþ1 = k m j ± 2, and hence, p m jþ1 uses the toehold opened by p m j . Consider the connector sequence connecting p m 1 to p m 2 . If m 1 = m 2 , both conditions are trivially satisfied. Otherwise, PD p m 1 may or may not be in this connector sequence. If p m 1 is a connector, the first PD of the connector sequence is p m 1 , hence condition (a) is trivially satisfied. If PD p m 1 is not a connector then z m 1 = z m 2 and either the connector sequence is empty, or the long-domain position of the first PD of the connector sequence is k m 1 , that is, the first PD of the connector sequence uses the toehold opened by p m 1 , condition (a) holds. The longdomain position of the last PD of the non-empty connector sequence is k m 2 and the direction of the last PD is " z m 2 ; hence condition (b) is satisfied.
Next, consider the connector sequence connecting p m j to p m jþ1 , for j ¼ 2; . . .; d.
1. If z m j ¼ z m jþ1 , then the connector sequence is empty. 2. If z m j 6 ¼ z m jþ1 , then the long-domain position of the first PD in the connector sequence is k m j ? 2 if z m j = R and k m j -2 if z m j = L. In either case, the condition (a) is satisfied. Furthermore, the long-domain position of the last PD of the connector sequence is k m jþ1 and its direction is " where d is the number of long-domains in T.
Proof Let u and v be the first and last affected toeholds of T by b i (T) and d = (vu)/2 B d the number of affected long-domains. The number of marked PDs is d ? 1. The first connector sequence has at most d PDs. For each j ¼ 2; . . .; d; consider the connector sequence connecting marked PDs p m j and p m jþ1 . If z m j ¼ z m jþ1 , the sequence is empty. Otherwise, the number of PDs in the sequence is at most jk m jþ1 À k m j j=2 and k m j and z m d and k m jþ1 belong to different monotonic subsequences of positions. Without loss of generality, assume k m j is at index r in U and k m jþ1 is at index r 0 in V. Since each marked PD advances by one element in exactly one of the sequences U and V, we have r ? r 0 = j, and therefore jk m jþ1 À k m j j=2 ¼ j½v À ð2r 0 À 1Þ À½u þ ð2r À 1Þj=2 ¼ jv À u À 2j þ 1j=2 ¼ d À j þ 1 (the last equality follows since j B d). Hence, the number of connector PDs is at most d ? P contains only types of unbound strands of C init or strand types in S iÀ1 ¼ fs 1 ; . . .; s iÀ1 g.
Proof By Claim 3, for each template T, the number of PDs of b i (T) is at most (d ? 1)(d ? 2)/2, where d is the number of long-domains in T. Summing through all domains, we obtain that the length of b i is at most (D ? 1)(D ? 2)/2.
By definition of a i , Invaders(a i ) contains only types of unbound strands of C init or strand types in fs 1 ; . . .; s iÀ1 g. Since b i is a subsequence of a i , it must also be that Invaders(b i ) also contains only types of unbound strands of C init or strand types in S i-1 . h Claim 5 b i is valid with respect to To prove the first part of the claim, we need to show that there is a sequence 0 is applicable to C j and induces C jþ1 from C j . We can prove this by induction on j. The base case when j = 1 is trivial. Suppose that j [ 1, and that p 0 j-1 is applicable to C jÀ1 and induces C j from C jÀ1 . Let p j 0 = (I, T, k, z). Since (I, T, k, z) is also a PD of a i and a i is valid, it is straightforward to check that condition 1 of the definition of ''applicable'' must hold. Condition 2 also holds because j B (D ? 1)(D ? 2)/2 and there are (D ? 1)(D ? 2)/2 copies of all unbound signals used by b i initially present in ðD þ 1ÞðD þ 2Þ=2 Á ðC init [ S iÀ1 Þ. So, we assume that z = R and show that condition 3 holds (the argument is similar when z = L). Condition 3a and 3b also follow simply from the fact that (I, T, k, z) is a PD of a.
Condition 3c, that the releasee is not bound to any domain except the neighboring toehold, must be true because (I, T, k, z) is a PD of a. The condition 3d follows by Claim 2.
The final multiset of signals after executing PDs in a i on C init is the multiset consisting of all signals of C init plus all signals initially bound to domains that appear in PDs of a i minus all signals that are finally bound to domains that appear in PDs of a i . By construction, PDs in b i operate on exactly the same set of long-domains as PDs in a i and the last PD applied to each long-domain of a i is exactly the same as those of b i . Therefore, no matter whether we execute PDs in a i or PDs in b i , exactly the same set of signals are released and bound, and hence, the final multiset of unbound signals is the same as well. It follows that Claim 6 Let b i (D?1)(D?2)/2 denote the sequence b i concatenated (D ? 1)(D ? 2)/2 times, modified just so that the PDs of each copy refer to templates of different copies of ðD þ 1ÞðD þ 2Þ=2 Á C init . Then b i (D?1)(D?2)/2 is valid with respect to the configuration Proof By Claim 5, b i is valid with respect to Moreover, the final multiset of signals is the same as if we were to execute PDs in a i on C init and then add ðD þ 1ÞðD þ 2Þ=2 Á ðC init [ S iÀ1 Þ. Thus, if we repeat b i (D ? 1)(D ? 2)/2 times and execute each b i on a different copy of C init ; we will still have at least (D ? 1)(D ? 2)/2 copies of signals in C [ S iÀ1 plus (D ? 1)(D ? 2)/2 copies of s i . h The proof of our main technical result, Theorem 9, follows from the preceding claim.
Theorem 9 Let D be a UDSD with B types of initially bound signal strands and let D be the total number of longdomains of all templates. If D can produce s end , then D ððDþ1ÞðDþ2ÞðBþ1Þ=2Þ can produce s end via a sequence of at most (D ? 1) 2 (D ? 2) 2 B/4 PDs.
Proof Let a, a i and b i , 1 B i B B be defined as above. Let c be the sequence of PDs obtained by concatenating (D ? 1)(D ? 2)/2 copies of sequence b 1 followed by (D ? 1)(D ? 2)/2 copies of b 2 and so on up to (D ? 1)(D ? 2)/2 copies of b B , and modifying each copy just so that the PDs of each copy refer to templates of different copies of ðD þ 1ÞðD þ 2ÞB=2 Á C init .
By applying Claim 6, we will show by induction on i that is valid with respect to ðD þ 1ÞðD þ 2Þði þ 1Þ=2 Á C init and that It follows that c is valid with respect to ðD þ 1ÞðD þ 2Þ ðB þ 1Þ=2 Á C init and that c produces s end (=s B ). The base case is when i = 1. It follows directly from Claim 6 that b 1 (D?1)(D?2)/2 is valid with respect to the configuration ðD þ 1ÞðD þ 2Þ Á C init and that ðD þ 1ÞðD þ 2Þ=2 Á ðC init [ is valid with respect to ðD þ 1ÞðD þ 2Þði þ 1Þ =2 Á C init and that The induction step then follows easily from Claim 6 because after the PDs in have been applied on ðD þ 1ÞðD þ 2Þði þ 1Þ=2 Á C init ; the resulting configuration includes both ðD þ 1ÞðD þ 2Þ=2 Á ðC init [ S iÀ1 Þ (by the induction hypothesis) and (D ? 1)(D ? 2)/2 additional copies of C init needed for sequence b i (D?1)(D?2)/2 . Also, each of the (D ? 1)(D ? 2)/ 2 b i sequences produces a single s i that remains unbound when the remaining b i 's are applied.
h Finally, we restate Theorem 9 for copy-tolerant UDSDs. We say that a UDSD is x-copy-tolerant if the length of the shortest PD sequence that produces any signal strand s in D and in D ðxÞ is the same. A UDSD is copy-tolerant if it is xcopy-tolerant for all x.
Theorem 10 Let D be a UDSD with B types of initially bound signal strands and let D be the total number of longdomains of all templates. If D can produce s end and D is (D ? 1)(D ? 2)(B ? 1)/2-copy tolerant, then D can produce s end via a sequence of at most (D ? 1) 2 (D ? 2) 2 B/4 PDs.

Concatenated templates
The result above may seem to be limited, due to the definition of templates beginning and ending with toehold domains and consisting of alternating toehold and long-domains. Let a generalized template consist of several templates concatenated together. In fact, the result as stated in Theorem 9 also applies to generalized templates. This is because a UDSD with generalized templates can be simulated w.l.o.g. by a UDSD with a sufficient number of templates. This makes our result more general.

Irreversible reactions
If irreversible reactions are considered, then we must allow for there to be no toehold to either the left or right of a long-domain on the template. If we are to keep the condition that every PD has a releasee, then we must allow for some releasee to contain only the long-domain, rather than the toehold. This complicates the proofs, because the current development maintains that at any time there is only one open toehold in each template. In order to both allow irreversible reactions and use the current proofs, we must require that in C init one-domain releasees only appear where there is no toehold to either the right or the left. Because we find this restriction somewhat artificial, we conjecture that there is some generalization of these proof that allows for irreversible reactions.

Conclusions and open questions
In this paper, we have considered three models of biomolecular programs, namely tagged CRNs, DSDs, and DSDs with simple signals. We have shown that, when multiple copies of all initial molecules are present, such programs fail to work correctly if the number of reactions of the program is sufficiently large relative to the volume of initial reagents. A natural question is: how do these models relate to each other, in the sense that one can be simulated by another? Soloveichik et al. showed how CRNs (and thus also tagged CRNs) could be simulated by DSDs, in the sense that CRN species are mapped to DSD signals, CRN reactions can be simulated by a cascade of DSD strand displacements, and the dynamical properties of the CRN are reproduced. As a consequence, programs specified as CRNs can be compiled into real, DNA-based chemical systems and there are several examples to date. We are not aware of general methods for simulating DSDs by CRNs. Such simulations are possible in principle, for example by mapping each multi-stranded complex that could arise in a configuration of the DSD to be simulated, to distinct abstract species of the simulating CRN. However, the number of species could be exponential in the size of the DSD, and it's not clear what purpose such a simulation would serve.
There are many open questions about the potential for CRNs and DSDs to be correct in the multi-copy setting. First, can our reachability upper bound results be strengthened? There are two possible ways to strengthen our result for CRNs (Theorem 2): either by reducing the length of the shortest computation needed to produce s end or to show that the system is not x-copy tolerant for some x\jSjb C T C =2 þ 1 ð Þ . Similarly, there are two ways to strengthen the reachability upper bounds for DSDs.
Also, can our result on DSDs be extended to DSDs with more complex primitives, such as cooperative strand displacement (Zhang 2011) or irreversible reactions? What if long-domains can form intra-molecular bonds, e.g., forming hairpins, in addition to inter-molecular bonds?
This paper considers only reachability bounds, i.e., bounds on the number of reactions (steps) needed to reach (produce) a given product. However, real CRNs behave stochastically, with rates that depend on relative quantities of species. It is plausible that the lack of robustness implied by our theorems, i.e., errors that occur in the multi-copy setting in CRNs that fail to satisfy the conditions of the theorem, would be very unlikely to occur in some CRNs and thus would not be an issue in a real system. Analyses of robustness of CRNs under stochastic assumptions, perhaps computing expected hitting times, would help us better understand the degree to which robustness issues are a problem.