1 Introduction

Reaction networks describe the possible transformations between species in a system, subject to stoichiometry constraints (e.g. \(2A + B \rightarrow C +D\)). They are widely used for fine-grained modelling of various complex dynamical systems, and in particular biochemical dynamical systems. Typically, reaction network models are equipped with kinetic laws in order to take into account the influence of the various speeds and propensities of the reactions involved on the overall dynamics. Depending on the nature of the systems and interacting species, those kinetics may follow different laws. These reaction networks and kinetic rules are then generally interpreted either in continuous frameworks, such as ODEs (Feinberg 1979; Craciun et al. 2006; Shinar and Feinberg 1987), which relates the dynamics of the concentration of the species; or in stochastic frameworks, such as continuous-time Markov chains (Wilkinson 2006; Anderson et al. 2010), which precisely track the population (copy number) of each species along time.

In practice, such modelling techniques face two challenges: the actual kinetics are most of ten unknown and may substantially vary between systems sharing the same reaction network; and formal analysis of the emerging dynamical properties is computationally intractable for large-scale continuous and stochastic models.

In this paper, we propose a more abstract level of interpretation of reaction networks, by focusing on the nondeterministic discrete evolution of the population of the species. Given the population of each species (discrete state), the system can evolve due to the application of any reaction, if the minimum required amount of each substrate species for that reaction is present. We consider that only one discrete reaction can be applied at a time. Such nondeterministic systems can be formally considered as the discrete underlying dynamics of stochastic models of reaction networks (Fages and Soliman 2008).

In such a setting, dynamics of Discrete Reaction Networks (DRNs) naturally delimit the dynamics of concrete stochastic systems, whatever the kinetic laws and constants: if a reachability is proved impossible in a DRN, it is also impossible for any particular stochastic model of the network. In the case where the rate (or probability) of a reaction in the stochastic model never becomes zero, the (discrete) reachability properties of the stochastic model are equivalent with the corresponding properties of the underlying DRN. In general, one can think of a DRN as underlying any discrete stochastic model of the reaction network.

Here, we demonstrate that some general dynamical reachability properties can be efficiently derived from a DRN: the capacity to reach any discrete state from any other state (irreducibility); and the reversibility of the reachability properties (recurrence). Such properties are both considered in the case where species are present in a large copy number as well as in the general case. These results help provide an understanding of the possible global dynamics of reaction networks, and give a direct relationship between the structure of the set of reactions and the verification of the dynamical properties mentioned, without any assumption on kinetic laws.

The main objects and results presented in this paper are summarised below.

Notations For any \(a,b\) in \(\mathbb Z \), \([a;b]\) denotes the set of integers between \(a\) and \(b\), i.e., \(\{ a, a+1, \dots , b \}\). For any \(x,x^{\prime }\) in \(\mathbb Z ^d\), we say that \(x\) is greater than \(x^{\prime }\), denoted \(x \succeq x^{\prime }\), if every component of \(x\) is greater or equal than the corresponding component in \(x^{\prime }\), i.e., for any \(i\) in \([1;d]\), we have \(x_i \ge x^{\prime }_i\). The set of matrices of elements in some set \(G\subseteq \mathbb R \) having \(n\) rows and \(d\) columns is denoted by \(G^{n\times d}\). If the matrix \(\mathcal V \) is in \(G^{n\times d}\), then for any \(j\in [1;n]\), \(\mathcal V _j\) is the \(j^{\text{ th }}\) row, and \(\mathcal V _j\) is in \(G^d\). Given a set \(F\subseteq \mathbb R \), and a matrix \(\mathcal V \in G^{n\times d}\), the span of \(\mathcal V \) over \(F\) is denoted by \(\text{ span }_F \mathcal V \stackrel{\Delta }{=}\{ \lambda \mathcal V \mid \lambda \in F^n \}\), and is a subset of \(\mathbb R ^d\). Finally, the null vector in \(\mathbb R ^d\) is denoted \(\mathbf 0 \).

Discrete Reaction Networks We consider a set of reactions between \(d\) species \(A_i, i\in [1;d]\) of the form

$$\begin{aligned} c_1 A_1 + \dots + c_d A_d \longrightarrow c^{\prime }_1 A_1 + \dots + c^{\prime }_d A_d \end{aligned}$$
(1)

where for any \(i\) in \([1;d]\) the numbers \(c_i\) and \(c^{\prime }_i\) are in \(\mathbb Z _{\ge 0}\). Such a reaction can be applied as soon as the population of species \(A_i\) is at least \(c_i\), for any \(i\) in \([1;d]\). Its application decreases the population of species \(A_i\) by \(c_i\) and then increases it by \(c^{\prime }_i\). Such a reaction can be summarised by two vectors of dimension \(d\): \(v = (c^{\prime }_1-c_1, \ldots , c^{\prime }_d-c_d)\), the drift vector describing the population changes after application of the reaction; and \(o = (c_1, \ldots , c_d)\), the origin of the reaction, i.e., the minimum required population for applying the reaction.

In this setting, a Discrete Reaction Network (DRN) of \(n\) reactions between \(d\) species can be defined by a couple \((\mathcal V ,\mathcal O )\) of two matrices having \(d\) columns and \(n\) rows: \(\mathcal V \) gathers the drift vectors of the \(n\) reactions and \(\mathcal O \) gathers their origins (Definition 1.1). The definition considers only reactions that can be applied at least once from their origin, i.e. \(\forall i\in [1;n]\), \(\mathcal O _i+\mathcal V _i\succeq \mathbf 0 \).

Definition 1.1

(Discrete Reaction Network) A Discrete Reaction Network (DRN) is a couple \((\mathcal V ,\mathcal O )\), where \(\mathcal V \in \mathbb Z ^{n\times d}\), \(\mathcal O \in \mathbb Z _{\ge 0}^{n\times d}\), and \(\forall i\in [1;n]\), \(\mathcal O _i+\mathcal V _i\succeq \mathbf 0 \). The number \(n\) is the size and \(d\) is the dimension of the DRN.

Example Figure 1 shows two examples of DRNs with three reactions between two species.

Fig. 1
figure 1

Two DRNs with three reactions involving two species \(A\) and \(B\)

  • Example (a). reactions:

    $$\begin{aligned} \begin{array}{lll} \varnothing &{} \rightarrow &{} 2A\\ A + B &{} \rightarrow &{} \varnothing \\ 5A &{} \rightarrow &{}4A + 3B \end{array} \Rightarrow \mathcal V = \left( \begin{array}{ll} 2 &{} 0\\ -1 &{} -1\\ -1 &{} 3 \end{array} \right) , \mathcal O = \left( \begin{array}{ll} 0 &{} \quad 0\\ 1 &{} \quad 1\\ 5 &{} \quad 0 \end{array} \right) \end{aligned}$$
  • Example (b). reactions:

    $$\begin{aligned} \begin{array}{lll} \varnothing &{} \rightarrow &{} 2A\\ A + B &{} \rightarrow &{} \varnothing \\ 5A &{} \rightarrow &{}4A + 2B \end{array} \Rightarrow \mathcal V = \left( \begin{array}{ll} 2 &{} 0\\ -1 &{} -1\\ -1 &{} 2 \end{array} \right) , \mathcal O = \left( \begin{array}{ll} 0 &{} \quad 0\\ 1 &{} \quad 1\\ 5 &{} \quad 0 \end{array} \right) \end{aligned}$$

    .

We will see in Sects. 3 and 4 that these similar-looking DRNs have different dynamical properties.

Discrete transitions The population of the \(d\) species of the DRN forms a discrete state (or point) of the DRN, and is represented as a vector \(x\) in \(\mathbb Z _{\ge 0}^d\). At state \(x\), only the reactions \(j\) in \([1;n]\) such that \(x \succeq \mathcal O _j\) can occur. The occurrence of a single reaction leads to the state \(x^{\prime }=x+\mathcal V _j\), with necessarily \(x^{\prime }\) in \(\mathbb Z _{\ge 0}^d\). The transition relation \(\rightarrow \) (see Definition 1.2) is defined such that \(x \rightarrow x^{\prime }\) if and only if \(x^{\prime }\) can be reached by the occurrence of a single reaction from \(x\). The binary relation \(\rightarrow ^*\) extends the binary relation \(\rightarrow \) by considering the successive occurrence of any finite number of reactions. Hence for any \(x,x^{\prime }\) in \(\mathbb Z _{\ge 0}^d\), \(x\rightarrow ^* x^{\prime }\) if and only if there exists a sequence of reaction occurrences from \(x\) leading to exactly \(x^{\prime }\), which never causes the population of any species to become negative.

Definition 1.2

(Transition relation \(\rightarrow \)) Given a DRN \((\mathcal V ,\mathcal O )\) and two points \(x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), we write \(x \rightarrow _{(\mathcal V ,\mathcal O )} x^{\prime }\) if and only if \(\exists i\in [1;n]\) such that \(x \succeq \mathcal O _i\) and \(x+\mathcal V _i = x^{\prime }\). We denote by \(\rightarrow ^*_{(\mathcal V ,\mathcal O )}\) the transitive closure of the binary relation \(\rightarrow _{(\mathcal V ,\mathcal O )}\). When clear from context, \(\rightarrow _{(\mathcal V ,\mathcal O )}\) is written as \(\rightarrow \).

DRNs may be regarded as discrete Petri nets (Petri 1962; Murata 1989), where the places are the species, the transitions are the reactions, and arc multiplicities reflect the stoichiometry. This connection has been used previously for the study of ODE models of chemical networks (Angeli et al. 2007; Shiu and Sturmfels 2010).

Irreducibility and recurrence In this paper, we focus on two dynamical properties of DRNs:

  • Irreducibility: a DRN is irreducible if and only if one can reach any point \(x^{\prime }\in \mathbb Z _{\ge 0}\) from any point \(x\in \mathbb Z _{\ge 0}\) (Definition 1.3).

  • Recurrence: a DRN is recurrent if and only if one can always reverse the application of any sequence of reactions (Definition 1.4).

It is worth noticing that any irreducible DRN is recurrent (Remark 1).

Definition 1.3

(Irreducibility) DRN \((\mathcal V ,\mathcal O )\) is irreducible if and only if \(\forall x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), \(x\rightarrow ^* x^{\prime }\) and \(x^{\prime }\rightarrow ^* x\).

Definition 1.4

(Recurrence) DRN \((\mathcal V ,\mathcal O )\) is recurrent if and only if \(\forall x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), \(x\rightarrow ^* x^{\prime } \Longrightarrow x^{\prime }\rightarrow ^* x\).

Remark 1

Irreducibility \(\Longrightarrow \) Recurrence.

The terms irreducibility and recurrence have the same meaning as in the Markov chain literature (Lawler 2006). The term irreducibility is motivated by the fact that is not possible to reduce the state space of the network by ignoring the states that are not reachable from a given initial state \(x\), or states that cannot reach \(x\). Hence, if the reachability class of \(x\) (composed of all states \(y\) such that \(y\rightarrow ^*x\) and \(x\rightarrow ^*y\)) is \(\mathbb Z _{\ge 0}^d\), we say the DRN is irreducible. The term recurrence comes from the fact that if we leave a state along some path, it is always possible for that state to occur again (i.e., to recur). In the Petri net literature, recurrence is usually referred to as reversibility.

In addition to considering irreducibility and recurrence from any possible population of species of the DRN, we also investigate a less restrictive version of these dynamical properties, when assuming the species are present at a large copy number (LCN). This basically restricts the above dynamical properties to population of species greater than a certain threshold \(M_0\) in \(\mathbb Z _{\ge 0}^d\). We refer to these less restrictive properties as LCN irreducibility (Definition 1.5) and LCN recurrence (Definition 1.6). Note that the inclusion relationship between irreducibility and recurrence still holds (Remark 2).

Definition 1.5

(LCN Irreducibility) DRN \((\mathcal V ,\mathcal O )\) is LCN irreducible if and only if \(\exists M_0\in \mathbb Z _{\ge 0}^d\) such that \(\forall x,x^{\prime }\in \mathbb Z _{\ge 0}^d\) with \(x\succeq M_0\) and \(x^{\prime }\succeq M_0\), \(x\rightarrow ^* x^{\prime }\) and \(x^{\prime }\rightarrow ^* x\).

Definition 1.6

(LCN Recurrence) DRN \((\mathcal V ,\mathcal O )\) is LCN recurrent if and only if \(\exists M_0\in \mathbb Z _{\ge 0}^d\) such that \(\forall x,x^{\prime }\in \mathbb Z _{\ge 0}^d\) with \(x\succeq M_0\) and \(x^{\prime }\succeq M_0\), \(x\rightarrow ^* x^{\prime } \Longrightarrow x^{\prime }\rightarrow ^* x\).

Remark 2

LCN Irreducibility \(\Longrightarrow \) LCN Recurrence.

Note that a reaction network that has any conservation laws cannot be irreducible or LCN irreducible.

1.1 Main results

In Sect. 3 we prove that LCN irreducibility is equivalent to having both the strictly positive real span of drift vectors being \(\mathbb R ^d\) and the integer span of drift vectors being \(\mathbb Z ^d\).

Theorem (3.4) DRN \((\mathcal V ,\mathcal O )\) is LCN irreducible if and only if \(\text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d\) and \(\text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\).

Verifying \(\text{ span }_\mathbb{R _{>0}} \mathcal V =\mathbb R ^d\) can be done using linear programming, and verifying \(\text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\) can be also efficiently done by computing, for instance, the Hermite normal form of \(\mathcal V \).

Then, we point out additional properties that characterize full irreducibility: self-starting (capability to reach a strictly positive point from \(\mathbf 0 \)) and self-stopping (capability to reach \(\mathbf 0 \) from a strictly positive point).

Theorem (3.8) DRN \((\mathcal V ,\mathcal O )\) is irreducible if and only if \((\mathcal V ,\mathcal O )\) is LCN irreducible, self-starting and self-stopping.

Self-starting and self-stopping properties can be decided using a backtracking algorithm combined with linear programming to find a particular order of reactions.

In Sect. 4, we prove that LCN recurrence is equivalent to the presence of \(\mathbf 0 \) in the strictly positive real span of drift vectors. This property is also considered in a different context, where it was called positive dependence of drift vectors (Feinberg 1987). Surprisingly, no integer constraints need to be checked for LCN recurrence, so this property can be easily decided using only linear programming.

Theorem (4.2) DRN \((\mathcal V ,\mathcal O )\) is LCN recurrent if and only if \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}} \mathcal V \).

Section 5 applies those results to DRNs modelling biological systems. The results and their relationships with stochastic and continuous models of reaction networks are discussed in Sect. 6. For example, we show how we can use the theorems above to check that common phosphorylation chain networks are LCN recurrent and some circadian clock networks are LCN irreducible.

2 Additional definitions and basic properties

2.1 Set of points and paths manipulation

We introduce the following notations to manipulate sets of points and paths (sequences of reactions):

  • lowerpoint Given a set of \(m\) points \(\{x_1, \dots , x_m\} \subset \mathbb Z ^d\), we denote by \(\text{ lowerpoint }(\{x_1, \dots , x_m\})\) the largest point that is lower than all the given points:

    $$\begin{aligned} \text{ lowerpoint }(\{x_1, \dots , x_m\})&\stackrel{\Delta }{=}y \in \mathbb Z ^d \text{ with } \forall i\in [1;d], y_i = \min \{ x_{j,i}\mid j\in [1;m] \}\\ \end{aligned}$$
  • orderings Given \(\lambda \in \mathbb Z _{\ge 0}^n\) with \(\ell =\sum _{i=1}^n \lambda _i\), we denote by \(\text{ orderings }(\lambda )\) all the mappings \(\pi :[1;\ell ]\rightarrow [1;n]\) which map exactly \(\lambda _i\) distinct values to \(i\), \(\forall i\in [1;n]\):

    $$\begin{aligned} \text{ orderings }(\lambda ) \stackrel{\Delta }{=}\{ \pi :[1;\ell ]\rightarrow [1;n] \mid \forall i\in [1;n], \lambda _i=\#\{ j \in [1;\ell ]\mid \pi (j)=i\} \} \end{aligned}$$

    where \(\#S\) denotes the cardinality of the finite discrete set \(S\). Hereafter, we use such mappings \(\pi :[1;\ell ]\rightarrow [1;n]\) to refer to paths, i.e., sequences of reactions. In such a context, \(\lambda \in \mathbb Z _{\ge 0}^n\) should be understood as the vector giving the number of times each reactions in \([1;n]\) has to be used in a path; and \(\text{ orderings }(\lambda )\) as all the possible realizations of such paths.

  • path application (\(x \bullet \pi \)) Given a DRN \((\mathcal V ,\mathcal O )\) of size \(n\) and dimension \(d\), a path \(\pi :[1;\ell ]\rightarrow [1;n]\), and an initial point \(x\in \mathbb Z ^d\), \(x\bullet \pi \) is the set of points resulting from the sequential application of \(\pi \) from \(x\):

    $$\begin{aligned} x\bullet \pi \stackrel{\Delta }{=}\left\{ x + \sum _{i=1}^k \mathcal V _{\pi (i)} \mid k\in [0;\ell ] \right\} . \end{aligned}$$

    We remark that \(\text{ lowerpoint }(x\bullet \pi ) = x + \text{ lowerpoint }(\mathbf 0 \bullet \pi )\).

2.2 Inverse DRN

The inverse DRN (Definition 2.1) is defined by the negative drift vectors and the origins shifted by the original drift vector. For instance, the inverse of the reaction described in Eq. 1 results in:

$$\begin{aligned} c^{\prime }_1 A_1 + \cdots + c^{\prime }_d A_d \longrightarrow c_1 A_1 + \cdots + c_d A_d \end{aligned}$$
(2)

Definition 2.1

(Inverse DRN) Given a DRN \((\mathcal V ,\mathcal O )\), then \((\mathcal V ,\mathcal O )^{-1}\stackrel{\Delta }{=}(-\mathcal V ,\mathcal O +\mathcal V )\) is the inverse DRN.

Lemma 2.2

\(x \rightarrow _{(\mathcal V ,\mathcal O )} x^{\prime } \Longleftrightarrow x^{\prime } \rightarrow _{(\mathcal V ,\mathcal O )^{-1}} x\).

2.3 Basic properties

From the definition of transitions between the discrete states of the DRN (Definition 1.2), one can easily derive that if \(x \rightarrow ^* x^{\prime }\) then any succession of reactions from \(x\) to \(x^{\prime }\) can be applied from \(x\) (positively) shifted by any \(\delta \in \mathbb Z _{\ge 0}^d\), leading to \(x^{\prime }+\delta \) (Lemma 2.3). In the particular case when \(\mathbf 0 \rightarrow ^* x^{\prime }\), one can instantiate the latter property with \(\delta =x^{\prime }\), which by transitivity of \(\rightarrow ^*\) leads to \(\mathbf 0 \rightarrow ^* \alpha x^{\prime }\) with \(\alpha \in \mathbb Z _{> 0}\) (Lemma 2.4).

Lemma 2.3

Given \(x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), \(x\rightarrow ^* x^{\prime } \Longrightarrow \forall \delta \in \mathbb Z _{\ge 0}^d, x+\delta \rightarrow ^* x^{\prime }+\delta \).

Lemma 2.4

\(\mathbf 0 \rightarrow ^* x^{\prime } \Rightarrow \forall \alpha \in \mathbb Z _{> 0}, \mathbf 0 \rightarrow ^* \alpha x^{\prime }\).

3 Deciding irreducibility

DRN \((\mathcal V ,\mathcal O )\) is irreducible if any point in \(\mathbb Z _{\ge 0}^d\) can be reached from any other point in \(\mathbb Z _{\ge 0}^d\) (Definition 1.3). We first address the LCN irreducibility, and then exhibit supplementary properties that lead to full irreducibility.

3.1 LCN irreducibility

Recall that DRN \((\mathcal V ,\mathcal O )\) is LCN irreducible if and only if any point above a certain \(M_0\in \mathbb Z _{\ge 0}^d\) can be reached from any other point above \(M_0\) (Definition 1.5).

Before using the LCN hypothesis, we remark that the DRN is irreducible if (and only if) one can reach each elementary point \(e_i, \forall i\in [1;d]\) from \(\mathbf 0 \) and vice-versa (Lemma 3.1). Here \(e_i\) is the \(d\)-dimensional vector having \(0\) at each of its component, except the \(i^{\text{ th }}\) component being \(1\).

Lemma 3.1

DRN \((\mathcal V ,\mathcal O )\) is irreducible if and only if \(\forall i\in [1;d]\), \(\mathbf 0 \rightarrow ^* e_i\) and \(e_i\rightarrow ^*\mathbf 0 \).

Note that a necessary condition for LCN irreducibility is that \(\text{ span }_\mathbb{Z _{\ge 0}} \mathcal V = \mathbb Z ^d\). This property is actually sufficient for LCN irreducibility (Lemma 3.2) by choosing \(M_0\) big enough such that for any \(i\in [1;d]\) at least one reachability path from \(M_0\) to \(M_0 \pm e_i\) never goes outside \(\mathbb Z _{\ge 0}^d\), and such that \(M_0\) is greater than all the reaction origins.

Remarking that \(\text{ span }_\mathbb{Q _{>0}} \mathcal V = \mathbb Q ^d \Leftrightarrow \text{ span }_\mathbb{R _{>0}}\mathcal V = \mathbb R ^d\) (Lemma 3.3), Theorem 3.4 establishes that verifying \(\text{ span }_\mathbb{Z _{\ge 0}} \mathcal V =\mathbb Z ^d\) is equivalent to verifying both \(\text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\) and \(\text{ span }_\mathbb{R _{>0}}\mathcal V = \mathbb R ^d\).

While the verification of \(\text{ span }_\mathbb{Z _{\ge 0}}\mathcal V = \mathbb Z ^d\) involves integer programming techniques, verifying if \(\text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d\) and \(\text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\) can be done more efficiently: the former can be decided using linear programming, for instance by first checking whether \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}}\mathcal V \) and then whether \(\text{ span }_\mathbb{R _{\ge 0}}\mathcal V = \mathbb R ^d\); the latter can be decided, for instance, by computing the Hermite normal form of \(\mathcal V \) (Cohen 1993).

Lemma 3.2

DRN \((\mathcal V ,\mathcal O )\) is LCN irreducible \(\Longleftrightarrow \text{ span }_\mathbb{Z _{\ge 0}} \mathcal V = \mathbb Z ^d\).

Proof

\(\text{ span }_\mathbb{Z _{\ge 0}} \mathcal V = \mathbb Z ^d \Rightarrow \forall i\in [1;d], \exists \lambda ^{i,+},\lambda ^{i,-} \in \mathbb Z _{\ge 0}^n: \lambda ^{i,+}\mathcal V = e_i\) and \(\lambda ^{i,-}\mathcal V = -e_i\).

For each \(i\in [1;d]\) and \(s\in \{+,-\}\), we pick an arbitrary ordering \(\pi ^{i,s}\in \text{ orderings }(\lambda ^{i,s})\).

If \(M_0\) is defined such that \(\forall i\in [1;d],\forall s\in \{+,-\},\forall j\in [1;n]\), \(M_0 + \text{ lowerpoint }(\mathbf 0 \bullet \pi ^{i,s}) \succeq \mathcal O _j\), then it is clear that \(\forall i\in [1;d]\), \(M_0\rightarrow ^* M_0+e_i\) and \(M_0+e_i \rightarrow ^* M_0\). \(\square \)

Lemma 3.3

\(\text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d \Leftrightarrow \text{ span }_\mathbb{Q _{>0}} \mathcal V = \mathbb Q ^d\).

Proof

(\(\Rightarrow \)) Let us consider \(\lambda \in \mathbb R _{>0}^n\) such that \(\lambda \mathcal V = w\), where \(w\in \mathbb Q ^d\).

Consider a basis \((\beta _\alpha )_{\alpha \in I}\) of \(\mathbb R \) over \(\mathbb Q \) such that \(\beta _{\alpha _0} = 1\) (i.e. \(\forall r\in \mathbb R , \exists \text{ a } \text{ unique } \text{ choice } \text{ of } r^\alpha \in \mathbb Q : r=\sum _{\alpha \in I} r^\alpha \beta _\alpha \)). Then \(w = \lambda \mathcal V = \sum _{j=1}^n \lambda _j \mathcal V _j = \sum _{j=1}^n (\sum _{\alpha \in I} \lambda ^\alpha _j \beta _\alpha ) \mathcal V _j = \sum _{\alpha \in I} (\sum _{j=1}^n \lambda ^\alpha _j \mathcal V _j)\beta _\alpha \) with \(\lambda ^\alpha \in \mathbb Q ^n\). On the other hand, \(w = w\beta _{\alpha _0} + \sum _{\alpha \in I\setminus \{\alpha _0\}} 0\beta _\alpha \). Hence, \(\sum _{j=1}^n \lambda ^{\alpha _0}_j \mathcal V _j = w\) and \(\forall \alpha \in I, \alpha \ne \alpha _0, \sum _{j=1}^n \lambda ^\alpha _j \mathcal V _j = \mathbf 0 \).

(\(\Leftarrow \)) Because \(\text{ span }_\mathbb{Q _{>0}} \mathcal V = \mathbb Q ^d\), \(\mathbb Q ^d\subseteq \text{ span }_\mathbb{R _{\ge 0}} \mathcal V \). This implies that the convex hull of \(\mathbb Q ^d\) is a subset of \(\text{ span }_\mathbb{R _{\ge 0}}\mathcal V \), hence \(\mathbb R ^d\subseteq \text{ span }_\mathbb{R _{\ge 0}}\mathcal V \) which implies \(\text{ span }_\mathbb{R _{\ge 0}}\mathcal V =\mathbb R ^d\). Finally, we conclude that \(\text{ span }_\mathbb{R _{\ge 0}}\mathcal V = \text{ span }_\mathbb{R _{>0}}\mathcal V \) because, from hypothesis, \(\mathbf 0 \) is a positive linear combination of elements rows of \(\mathcal V \): \(\mathbf 0 \in \text{ span }_\mathbb{Q _{>0}}\mathcal V \Longrightarrow \exists \tilde{\lambda }\in \mathbb Q _{>0}^n: \tilde{\lambda }\mathcal V =\mathbf 0 \). Hence, for any \(w\in \mathbb R ^d\), there exists \(\lambda \in \mathbb R _{\ge 0}^n\) such that \(w=w+\mathbf 0 =\lambda \mathcal V + \tilde{\lambda }\mathcal V = (\lambda +\tilde{\lambda })\mathcal V \), with \((\lambda +\tilde{\lambda })\in \mathbb R _{>0}\). \(\square \)

Theorem 3.4

\(\text{ span }_\mathbb{Z _{\ge 0}} \mathcal V = \mathbb Z ^d \Longleftrightarrow \text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d \text{ and } \text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\). Therefore, DRN \((\mathcal V ,\mathcal O )\) is LCN irreducible if and only if \(\text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d\) and \(\text{ span }_\mathbb{Z } \mathcal V = \mathbb Z ^d\).

Proof

(\(\Leftarrow \)) \(\text{ span }_\mathbb{R _{>0}} \mathcal V = \mathbb R ^d \Leftrightarrow \text{ span }_\mathbb{Q _{>0}} \mathcal V = \mathbb Q ^d\) (Lemma 3.3). Therefore, \(\exists \lambda \in \mathbb Q _{>0}^n\) such that \(\lambda \mathcal V = \mathbf 0 \) and \(\exists \alpha \in \mathbb Z _{>0}\) such that \(\alpha \lambda \in \mathbb Z _{>0}^d\). Moreover, \(\forall i\in [1;d]\) and \(\forall s\in \{+,-\}\), \(\exists \lambda ^{i,s} \in \mathbb Z ^n\) such that \(\lambda ^{i,s}\mathcal V = s e_i\). Hence, there exists \(\beta \in \mathbb Z _{>0}\) such that \(\lambda ^* = \beta \alpha \lambda + \lambda ^{i,s}\) with \(\lambda ^*\in \mathbb Z _{\ge 0}^d\), resulting in \(\lambda ^*\mathcal V = s e_i\). (\(\Rightarrow \)) use the fact that \(\text{ span }_\mathbb{Z _{\ge 0}} \mathcal V = \mathbb Z ^d \Rightarrow \text{ span }_\mathbb{Z _{> 0}} \mathcal V = \mathbb Z ^d\), which follows from \(-\mathcal V _j \in \text{ span }_\mathbb{Z _{\ge 0}} \mathcal V \). \(\square \)

Example One can check that both examples of Fig. 1 verify \(\text{ span }_\mathbb{R _{>0}}\mathcal V = \mathbb R ^d\). However, the computation of Hermite normal forms shows that only example (b) verifies the second necessary condition \(\text{ span }_\mathbb{Z }\mathcal V = \mathbb Z ^d\). Hence, example (a) is not LCN irreducible whereas example (b) is LCN irreducible.

3.2 Full irreducibility

In this subsection, we demonstrate that a DRN is totally irreducible if and only if it is LCN irreducible and is both self-starting (Definition 3.5) and self-stopping (Definition 3.6). A DRN is self-starting if at least one strictly positive point can be reached from \(\mathbf 0 \), and is self-stopping if there exists at least one strictly positive point from which \(\mathbf 0 \) can be reached – which is equivalent to the inverse DRN being self-starting.

Definition 3.5

(Self-starting DRN) DRN \((\mathcal V ,\mathcal O )\) is self-starting if and only if \(\exists x \in \mathbb Z _{> 0}^d \text{ such } \text{ that } \mathbf 0 \rightarrow ^* x\).

Definition 3.6

(Self-stopping DRN) DRN \((\mathcal V ,\mathcal O )\) is self-stopping if and only if inverse DRN \((\mathcal V ,\mathcal O )^{-1}\) is self-starting.

Lemma 3.7 establishes that a DRN is self-starting if and only if there exists a sequence of \(d\) reactions (not necessarily unique) such that for each dimension at least one reaction of this sequence has a positive drift along that dimension, and such that the origin of the \(k{\text{ th }}\) reaction belongs to the positive real span of the \(k-1\) preceding drift vectors (the first reaction having necessarily \(\mathbf 0 \) as origin). Therefore, one can derive a backtrack algorithm to determine if such an ordering of reactions exists.

Then, Theorem 3.8 states that if an LCN irreducible DRN is both self-starting and self-stopping then it is irreducible. Indeed, if the DRN is self-starting, then there exists a strictly positive point \(x\in \mathbb Z _{> 0}\) such that \(\mathbf 0 \rightarrow ^* x\). From Lemma 2.4, the self-starting property implies that there exists a point \(x^{\prime }\succeq M_0\) such that \(\mathbf 0 \rightarrow ^* x^{\prime }\). Then, if the DRN is self-stopping, one can show similarly that there exists a point \(x^{\prime \prime }\succeq M_0\) such that \(x^{\prime \prime } \rightarrow ^* \mathbf 0 \). Because the DRN is LCN recurrent, we know that any pair of points above \(M_0\) is reversibly reachable. Hence, by using Lemma 2.3, one can verify the existence of a reversible path from \(\mathbf 0 \) to all \(e_i, i\in [1;d]\).

Informally, the self-starting property allows to reach the LCN region, and the self-stopping allows to reach any \(\pm e_i\) or \(\mathbf 0 \) from any point in the LCN region. The LCN irreducibility property finally ensures that those two paths can be connected. This is illustrated in Fig. 2.

Fig. 2
figure 2

Illustration of the reasoning for Theorem 3.8 on irreducibility. If the DRN is self-starting, by repeating the reactions, we eventually reach the LCN region from \(\mathbf 0 \). In the same manner, if the DRN is self-stopping, we eventually reach \(\mathbf 0 \) from a point in the LCN region. If the DRN is LCN irreducible, any point in the LCN region can be reached by any other point in the LCN region. Therefore, one can construct a path from \(\mathbf 0 \) to each elementary vector, and vice-versa

Lemma 3.7

\((\exists x \in \mathbb Z _{> 0}^d \text{ s.t. } \mathbf 0 \rightarrow ^* x) \Longleftrightarrow \exists \text{ a } \text{ mapping } \, \sigma : [1;d] \rightarrow [1;n]\) with:

  1. 1.

    \(\forall k \in [1;d], \exists i\in [1;d], \mathcal V _{\sigma (i),k} \ge 1\), and

  2. 2.

    \(\mathcal O _{\sigma (1)} = \mathbf 0 \) and \(\forall k\in [2;d], \mathcal O _{\sigma (k)} \in \text{ span }_\mathbb{R _{\ge 0}} \left( \begin{array}{l} \mathcal V _{\sigma (1)}\\ \vdots \\ \mathcal V _{\sigma (k-1)} \end{array} \right) .\)

Proof

(\(\Leftarrow \)) Let us define \(\forall k\in [1;d], \Omega ^k\stackrel{\Delta }{=}\{ j\in [1;d]\mid \exists i\in [1;k], \mathcal V _{\sigma (i),j} \ge 1 \}\) and \(x^k\) such that \(\forall i\in [1;d]\), \(x^k_i=1 \stackrel{\Delta }{\Leftrightarrow }i\in \Omega ^k\) and \(x^k_i=0 \stackrel{\Delta }{\Leftrightarrow }i\notin \Omega ^k\). We show by induction that \(\forall k\in [1;d],\exists x^{\prime }\succeq x^k \text{ s.t. } \mathbf 0 \rightarrow ^* x^{\prime }\):

  • \(k=1\): \(\mathbf 0 \rightarrow \mathcal V _{\sigma (1)}\) with \(\forall j\in \Omega ^1\), \(\mathcal V _{\sigma (1),j} \ge 1\).

  • \(k+1\): by induction, (2), and Lemma 2.4, \(\exists \alpha \in \mathbb Z _{> 0}\) such that \(\alpha x^k\ge \mathcal O _{\sigma (k+1)}\) (with \(\mathbf 0 \rightarrow ^* \alpha x^k\)). Hence, \(\alpha x^k\rightarrow \alpha x^k+\mathcal V _{\sigma (k+1)}\). We remark that if \(\exists i\in \Omega ^{k+1}\) such that \((\alpha x^k+\mathcal V _{\sigma (k+1)})_i < 1\), then necessarily \(i\in \Omega ^k\). Hence, \(\exists \beta \in \mathbb Z _{> 0}\) such that \((\beta \alpha x^k+\mathcal V _{\sigma (k+1)})\succeq x^{k+1}\). Therefore, \(\mathbf 0 \rightarrow ^* x^{\prime }\) with \(x^{\prime }\succeq x^{k+1}\).

Finally, as \(\Omega ^d = [1;d]\), \(\exists x\in \mathbb Z _{> 0}^d \text{ s.t. } \mathbf 0 \rightarrow ^* x\).

(\(\Rightarrow \)) \(\mathbf 0 \rightarrow ^* x \Rightarrow \exists \ell \in \mathbb Z _{> 0}, \exists \text{ a } \text{ path } \pi : [1;\ell ] \rightarrow [1;n]\) with \(\sum _{i=1}^\ell \mathcal V _{\pi (i)} \!\in \! \mathbb Z _{> 0}^d\), and \(\forall i\in [1;\ell ], \!\sum _{j=1}^{i-1} \mathcal V _{\pi (j)} \succeq \mathcal O _{\pi (i)}\). Let us define the mapping \(\varsigma :[1;d]\rightarrow [1;\ell ]\) iteratively, starting with \(\varsigma (1)\stackrel{\Delta }{=}1\) and \(\forall k\in [2;d]\):

  • with \(\omega ^k\stackrel{\Delta }{=}\{ j\in [1;d]\mid \not \exists i\in [1;k-1], \mathcal V _{\pi (\varsigma (i)),j} \ge 1 \}\),

  • if \(\omega ^k = \emptyset \), \(\varsigma (k)\stackrel{\Delta }{=}1\);

  • otherwise, \(\varsigma (k) \stackrel{\Delta }{=}\min \{ m\in [\varsigma (k-1)+1;\ell ] \mid \exists j\in \omega ^k, \mathcal V _{\pi (m),j} \ge 1 \}\). We remark that this minimum necessarily exists (otherwise \(x \notin \mathbb Z _{> 0}^d\)), and \(\forall m\in [\varsigma (k-1);\varsigma (k)-1]\), \(\sum _{j=1}^m \pi (j) \in \text{ span }_\mathbb{R _{\ge 0}} \left( \begin{array}{l} \mathcal V _{\sigma (1)}\\ \vdots \\ \mathcal V _{\sigma (k-1)} \end{array} \right) \).

From construction, \(\sigma \stackrel{\Delta }{=}\varsigma \circ \pi \) verifies (1) and (2). \(\square \)

Theorem 3.8

DRN \((\mathcal V ,\mathcal O )\) is irreducible if and only if \((\mathcal V ,\mathcal O )\) is LCN irreducible and \(\exists x\in \mathbb Z _{> 0}^d \text{ s.t. } \mathbf 0 \rightarrow ^*_{(\mathcal V ,\mathcal O )} x\) and \(\exists x^{\prime }\in \mathbb Z _{> 0}^d \text{ s.t. } \mathbf 0 \rightarrow ^*_{(\mathcal V ,\mathcal O )^{-1}} x^{\prime }\) (i.e. \((\mathcal V ,\mathcal O )\) is self-starting and self-stopping).

Proof

(\(\Rightarrow \)) obvious. (\(\Leftarrow \)) For any fixed \(M_0\), from Lemma 2.4, \(\exists \alpha \in \mathbb Z _{> 0}\) such that \(\alpha x \succeq M_0\) and \(\alpha x^{\prime } \succeq M_0\), with \(\mathbf 0 \rightarrow ^*_{(\mathcal V ,\mathcal O )} \alpha x\) and \(\mathbf 0 \rightarrow ^*_{(\mathcal V ,\mathcal O )^{-1}} \alpha x^{\prime }\). Hence, \(\forall i\in [1;d]\), from Lemma 2.3,

  • \(\mathbf 0 \rightarrow ^*_{(\mathcal V ,\mathcal O )} \alpha x \rightarrow ^*_{(\mathcal V ,\mathcal O )} (\alpha x + e_i) \rightarrow ^*_{(\mathcal V ,\mathcal O )} (\alpha x^{\prime } + e_i) \rightarrow ^*_{(\mathcal V ,\mathcal O )} (\mathbf 0 + e_i)\), and

  • \((\mathbf 0 +e_i)\rightarrow ^*_{(\mathcal V ,\mathcal O )} (\alpha x + e_i) \rightarrow ^*_{(\mathcal V ,\mathcal O )} \alpha x\rightarrow ^*_{(\mathcal V ,\mathcal O )} \alpha x^{\prime } \rightarrow ^*_{(\mathcal V ,\mathcal O )} \mathbf 0 \).

\(\square \)

Example One can easily show that the two examples in Fig. 1 are self-starting and self-stopping. Using LCN irreducibility criteria from the previous subsection, we conclude that example (b) is irreducible [recall that example (a) is not LCN irreducible, so it is not irreducible].

4 Deciding recurrence

Recall that DRN \((\mathcal V ,\mathcal O )\) is recurrent if and only if for all pair of points \(x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), \(x\rightarrow ^* x^{\prime }\) implies \(x^{\prime }\rightarrow ^* x\) (Definition 1.4). First, we show that the LCN recurrence is equivalent to the presence of the null vector in the strictly positive real span of drift vectors. Then, we discuss sufficient conditions to obtain the recurrence, and reduce the full recurrence property to a set of reachability properties.

4.1 LCN recurrence

Let us ignore reaction origins and population positivity constraints. If \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}} \mathcal V \), it is clear that from any point \(x\), one can undo any reaction application and then go back to \(x\): \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}} \mathcal V \Rightarrow \exists \lambda \in \mathbb Z _{> 0}^n\) such that \(\lambda \mathcal V = \mathbf 0 \). Hence \(\forall i\in [1;d]\), we obtain \((\lambda -e_i)\mathcal V = -\mathcal V _i\).

By following the proof of Lemma 3.3, we remark in Lemma 4.1 that \(\mathbf 0 \in \text{ span }_\mathbb{Q _{>0}}\mathcal V \) (hence \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}}\mathcal V \)) is equivalent to \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}}\mathcal V \). This can be verified with linear programming.

Lemma 4.1

\(\mathbf 0 \in \text{ span }_\mathbb{Q _{>0}} \mathcal V \Longleftrightarrow \mathbf 0 \in \text{ span }_\mathbb{R _{>0}}\mathcal V \).

Proof

(\(\Rightarrow \)) obvious. (\(\Leftarrow \)) same proof as for Lemma 3.3 with \(w=\mathbf 0 \). \(\square \)

Finally, Theorem 4.2 establishes that LCN recurrence is equivalent to \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}}\mathcal V \). The main difficulty is to prove that there exists a \(M_0\in \mathbb Z _{\ge 0}^d\) such that it is possible to reverse all the reactions connecting any pair of points above \(M_0\) by staying in \(\mathbb Z _{\ge 0}^d\). For that, we consider a basis \(\mathcal B = \{ b_1, \dots , b_k \}\) of the free \(\mathbb Z \)-module generated by \(\mathcal V \). It is worth noticing that, because \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}} \mathcal V \), it follows that \(b_i\in \text{ span }_\mathbb{Z _{\ge 0}} \mathcal V , \forall i\in [1;k]\). Let us pick \(M_0\) large enough such that there exists a sequence of reactions from \(M_0\) that can be successively applied (i.e., never below their origins) and that goes to all the vertices of the fundamental region formed by \(\mathcal B \) that are adjacent to \(M_0\). Then any pair of points above \(M_0\) that is connected can be reversibly reached from each other. Figure 3 illustrates this reasoning.

Fig. 3
figure 3

Black dots are the points of the lattice generated by \(\mathcal V \). The lattice fundamental regions (formed by the basis) are delimited by the gray lines

The proof of Theorem 4.2 also indicates that the reachability graph above \(M_0\) becomes in a sense maximal, or saturated: if \(x+\delta \rightarrow ^* x^{\prime }+\delta \) when \(x\succeq M_0, x^{\prime }\succeq M_0, \delta \in \mathbb Z _{\ge 0}^d\), then \(x \rightarrow ^* x^{\prime }\). This is stated by Corollary 4.3.

Theorem 4.2

\((\mathcal V ,\mathcal O )\) is LCN recurrent \(\Longleftrightarrow \mathbf 0 \in \text{ span }_\mathbb{R _{>0}} \mathcal V \).

Proof

\((\Rightarrow )\) Straightforward. \((\Leftarrow )\) Let us consider \(\mathcal B = \{b_1, \dots , b_k\}\), a basis of the free \(\mathbb Z \)-module generated by \(\mathcal V \).

From Lemma 4.1, \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}}\mathcal V \), which implies \(\pm b_i\in \text{ span }_\mathbb{Z _{\ge 0}} \mathcal V \), \(\forall i\in [1;k]\). Hence, \(\forall i\in [1;k], \forall s\in \{+,-\}, \exists \lambda ^{i,s}\in \mathbb Z _{\ge 0}^n\) such that \(\lambda ^{i,s}\mathcal V = b^{i,s} \stackrel{\Delta }{=}s b_i\). Let us pick an arbitrary ordering \(\pi ^{i,s}\in \text{ orderings }(\lambda ^{i,s})\).

Let us define \(M_0\in \mathbb Z _{\ge 0}^d\) such that for any mapping \(\Pi : [1:2k] \rightarrow [1;k]\times \{+,-\}\), and \(\forall l,l^{\prime }\in [1;2k], \Pi (l) = \Pi (l^{\prime }) \Rightarrow l=l^{\prime }\), then \(\forall l\in [1;2k], \forall j\in [1;n], M_0 +\text{ lowerpoint }( (\sum _{m=1}^{l-1} b^{\Pi (m-1)}) \bullet \pi ^{\Pi (m)}) \succeq \mathcal O _j\).

From \(M_0\) construction, the set of lattice fundamental regions formed by \(b1,\dots ,b_k\) intersecting \(\mathbb Z ^d_{\ge M_0}\) is connected and fits inside \(\mathbb Z _{\ge 0}^d\). Moreover, each edge of those fundamental regions can be translated to a sequence of drift vectors \(v\in \mathcal V \) in \(\mathbb Z _{\ge 0}^d\). Therefore, \(\forall x,x^{\prime }\succeq M_0\) we have \(x \rightarrow ^{\prime } x^{\prime } \Rightarrow x^{\prime } \rightarrow x\). \(\square \)

Corollary 4.3

(Reachability Graph Saturation) If \(\mathbf 0 \in \text{ span }_\mathbb{Z _{> 0}} \mathcal V \) then there exists \(M_0 \in \mathbb Z _{\ge 0}^d\) such that the reachability graph on the set \(M_0 + \mathbb Z _{\ge 0}^d\) becomes constant in the sense that: if \(x\rightarrow ^* x^{\prime }\), and \(x-\delta ,x^{\prime }-\delta \succeq M_0\) for some \(\delta \in \mathbb Z _{\ge 0}^d\), then \(x-\delta \rightarrow ^* x^{\prime }-\delta \).

We refer to this property as “saturation” of the reachability graph, because it means that, for \(M_0\) large enough, and any \(M_0^{\prime }\succeq M_0\), the reachability graph in the region above \(M_0^{\prime }\) is identical (up to a shift) to the reachability graph in the region above \(M_0\).

Example From the previous section we know that example (b) in Fig. 1 is irreducible hence recurrent, but example (a) is not irreducible. Using the characterization above one can verify that example (a) is LCN recurrent.

4.2 Full recurrence

Assume a DRN \((\mathcal V ,\mathcal O )\) is LCN recurrent. If \(\exists x^*\in \mathbb Z _{> 0}^d\) such that \(\mathbf 0 \rightarrow ^* x^* \rightarrow ^* \mathbf 0 \), then \((\mathcal V ,\mathcal O )\) is recurrent (Lemma 4.4). Indeed, using Lemma 2.4, \(\exists \alpha \in \mathbb Z _{> 0}\) such that \(\alpha x^* \succeq M_0\). Then, for any pair of points \(x,x^{\prime }\in \mathbb Z _{\ge 0}^d\), if \(x\rightarrow ^* x^{\prime }\), then, by Lemma 2.3, \(x+\alpha x^* \rightarrow ^* x^{\prime }+\alpha x^*\). Because the DRN is LCN recurrent, \(x^{\prime }+\alpha x^* \rightarrow ^* x+\alpha x^*\). Hence, \(x^{\prime } \rightarrow ^* x\). We remark however that, to our knowledge, there is no efficient general method to verify if \(\exists x^*\in \mathbb Z _{> 0}^d\) such that \(\mathbf 0 \rightarrow ^* x^* \rightarrow ^* \mathbf 0 \). Moreover, this condition is sufficient but not necessary, in order to insure that an LCN recurrent network is fully recurrent.

Lemma 4.4

If DRN \((\mathcal V ,\mathcal O )\) is LCN recurrent and \(\exists x^*\in \mathbb Z _{> 0}^d\) such that \(\mathbf 0 \rightarrow ^* x^*\) and \(x^*\rightarrow ^* \mathbf 0 \), then \((\mathcal V ,\mathcal O )\) is recurrent.

Proof

Consider \(\alpha \in \mathbb Z _{> 0}\) such that \(\alpha x^* \succeq M_0\). If \(x \rightarrow ^* x^{\prime }\) then \(x^{\prime } \rightarrow ^* x^{\prime }+\alpha x^* \rightarrow ^* x+\alpha x^* \rightarrow ^* x.\) \(\square \)

In the general case, and independently of LCN recurrence, we notice that recurrence is equivalent to the reachability of the origin of each reaction from the point that is its origin plus drift vector (Lemma 4.5). Again, there is currently no efficient general method to verify these reachability properties.

Lemma 4.5

DRN \((\mathcal V ,\mathcal O )\) is recurrent if and only if \(\forall j\in [1;n], \mathcal O _j+\mathcal V _j \rightarrow ^* \mathcal O _j\).

Proof

(\(\Rightarrow \)) straightforward. (\(\Leftarrow \)) \(\forall x\in \mathbb Z _{\ge 0}^d, \forall j\in [1;n]: x\succeq \mathcal O _j, x\rightarrow x+\mathcal V _j\rightarrow ^* x\). \(\square \)

The above lemma allows to conclude that any weakly reversible reaction network is recurrent (Lemma 4.6). A reaction network is weakly reversible if each reaction is part of a cycle of reactions Johnston et al. (2012); for instance \(X\rightarrow Y; Y\rightarrow Z; Z\rightarrow X\) is a weakly reversible reaction network.

Lemma 4.6

Any weakly reversible reaction network is recurrent.

Proof

A DRN models a weakly reversible reaction network if and only if each reaction is part of a cycle of \(m\le n\) reactions where the origin of a reaction matches with the origin plus the drift vector of the previous reaction, i.e. \(\forall j\in [1;n], \exists m\in [1;n]\) and a path \(\pi :[1;m]\rightarrow [1;n]\) such that \(\forall k\in [1;m], \mathcal O _{\pi (k)} = \mathcal O _j + \mathcal V _j + \sum _{l=1}^{k-1} \mathcal V _{\pi (l)}\) and \(\mathcal O _j = \mathcal O _j + \mathcal V _j + \sum _{l=1}^{k} \mathcal V _{\pi (l)}\). Therefore, \(\forall j\in [1;n], \mathcal O _j+\mathcal V _j \rightarrow ^* \mathcal O _j\). \(\square \)

Example The sufficient condition for recurrence depicted in Lemma 4.4 is verified by example (a) of Fig. 1. Indeed, \(\mathbf 0 \rightarrow ^* (6,6) \rightarrow ^* \mathbf 0 \) (applying \(3\mathcal V _1\) then \(2\mathcal V _3\) from \(\mathbf 0 \) results in \((6,6)\), then applying \(6\mathcal V _2\) results in \(\mathbf 0 \)). Hence, example (a) is recurrent (but not irreducible), whereas example (b) is irreducible (and recurrent).

5 Biological examples

This section applies the results of this paper to show that a model of circadian clock is LCN irreducible, and a generic model of phosphorylation chain is LCN recurrent.

5.1 Circadian clock

We study here a model of PER and TIM circadian oscillations from Leloup and Goldbeter (1999), extracted from the BioModels database (Le Novère et al. 2006). This model involves 10 species and 26 reactions (including 6 reversible). The list of reactions is given in Fig. 4.

Fig. 4
figure 4

Reaction network of the PER/TIM circadian oscillations (Leloup and Goldbeter 1999)

One can check that the necessary and sufficient conditions for LCN irreducibility of Theorem 3.4 are verified by this DRN. Hence, there exists a threshold on the population of species such that there exists a succession of reactions connecting any pair of states above this threshold.

Because no reaction has an origin being \(\mathbf 0 \), the DRN is not self-starting, hence not fully irreducible; and because of the presence of degradation reaction, the DRN is not fully recurrent (for instance, \(\mathbf 0 \) is reachable from the state where all species are 0 except \(\mathtt{PER\_mRNA }\) being 1, but the converse is false).

5.2 Phosphorylation chains

We consider a generic model of chains of phosphorylation, where an enzyme \(E\) can progressively phosphorylate a protein up to a certain level \(k\). In concurrence, a kinase \(F\) can progressively de-phosphorylate this protein (Angeli et al. 2007).

$$\begin{aligned} S_0 + E \leftrightarrows S_0E \rightarrow S_1 + E \leftrightarrows S_1E \rightarrow S_2 + E \leftrightarrows \cdots \rightarrow S_k + E\\ S_0 + F \leftarrow S_1F \leftrightarrows S_1 + F \leftarrow S_2F \leftrightarrows S_2 + F \leftarrow \cdots \leftrightarrows S_k + F \end{aligned}$$

Because of mass conservation properties (for example \(\sum _{m=0}^k S_m + \sum _{m=0}^{k-1} S_mE + \sum _{m=1}^k S_mF \) being constant), such a DRN is not irreducible – in particular, \(\text{ span }_\mathbb{R _{>0}} \mathcal V \ne \mathbb R ^d\).

Assuming LCN, one can notice that the irreversible reactions such as \(S_mE \rightarrow S_{m+1}+E\) can be undone using the chain of reaction \(S_{m+1} + F \rightarrow S_{m+1} F \rightarrow S_m+F\) followed by \(S_m+E\rightarrow S_mE\). The undoing of \(S_m + F \leftarrow S_mF\) irreversible reactions is achieved similarly. This shows that the DRN is LCN recurrent as \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}} \mathcal V \). In addition, we remark that it is actually sufficient that all the species are present with at least one copy in order to undo any irreversible reaction of this network (i.e., \(M_0\) can be the vector having all its components being \(1\)).

Removing the LCN hypothesis, and in particular considering that \(F\) is absent (\(0\) copy), it becomes impossible to revert the reaction \(S_0E \rightarrow S_1+E\). Hence, the DRN is not fully recurrent.

LCN irreducibility depends both on stoichiometry properties (as highlighted by the two examples in Fig. 1) and on the dimension of the lattice generated by \(\mathcal V \): if the free \(\mathbb Z \)-module generated by \(\mathcal V \) has a lower dimension than \(\mathcal V \), the DRN is not LCN irreducible. This typically occurs in the presence of mass conservation properties, as highlighted by the example on phosphorylation chains.

In addition, as stated in Lemma 4.6, we recall that any weakly reversible reaction networks is recurrent, as they verify necessarily \(\mathbf 0 \in \text{ span }_\mathbb{R _{>0}}\mathcal V \).

6 Discussion

Relationships between DRNs and stochastic models dynamics Markov chains are a widely used modelling framework for analysing dynamics of biochemical reaction networks. Typically, the discrete states of such Markov chains represent the population of each biochemical species, and the transitions follow the drift vectors of reactions, when applicable (population of species greater than the reaction origin). Then, Markov chains associate either probabilities (DTMCs) or continuous rates (CTMCs) to transitions following biochemical laws, for instance.

In that sense, a DRN can be considered as the underlying discrete dynamics of any Markov chain modelling the same set of reactions (Fages and Soliman 2008). If we assume that the probabilities or rates associated to reactions are never null, we obtain the following correspondence between DRNs and Markov chains dynamical properties:

  • DRN is irreducible if and only if the associated Markov chain is irreducible.

  • DRN is recurrent if and only if all states in the associated Markov chain are recurrent.

In the case where probability or rates may become null, DRN irreducibility (resp. recurrence) is still a necessary condition for Markov chain irreducibility (resp. recurrence).

We note that a DRN which is not recurrent implies that there exist some irreversible reactions. On the other hand, weak reversibility allows, in some cases, an efficient characterization of the stationary distribution in the associated Markov chain models (Anderson et al. 2010).

Relationships between DRNs and continuous models dynamics Continuous models of reaction networks, such as ODE systems, typically evolve in the continuous space of concentrations of species and implicitly assume that species are present in LCN. In that way, we may want to relate dynamical properties of such continuous models of reaction networks to LCN properties of DRNs.

In particular, one can remark that if a DRN is not LCN recurrent, i.e. \(\mathbf 0 \notin \text{ span }_\mathbb{R _{>0}} \mathcal V \), then there exists a hyperplane \(H\) in \(\mathbb R ^d\) such that all reaction vectors point on the same side of this hyperplane, and at least one reaction vector points strictly inside the corresponding half-space. This implies that no oscillation is possible in the continuous dynamics, i.e. there cannot exist any periodic solution. Indeed, if \(\mathbf 0 \notin \text{ span }_\mathbb{R _{>0}}\mathcal V \), then there exists a vector \(v_H\) perpendicular to the hyperplane \(H\) which gives rise to the linear function \(L(x)=v_H x\) which is a strict Lyapunov function for the ODE model (there we assume that reaction rate functions do not vanish if reactant concentrations are strictly positive).

Future work One possible future direction following the results presented is the derivation of necessary or sufficient conditions for persistence of DRNs.

Informally, persistent dynamical systems are ones where no species “goes extinct”, i.e., if we start with all species being present in the system, then no trajectory will wipe out some species in the long run.

The notion of persistence for continuos systems has been of great interest recently (Angeli et al. 2007; Craciun et al. 2013). It is not obvious how to define persistence for discrete systems, but one possible definition is given in Definition 6.1. Note that recurrence is a particular case of this notion of persistence (Remark 3).

Definition 6.1

(Persistence) DRN \((\mathcal V ,\mathcal O )\) is persistent if and only if \(\forall x\in \mathbb Z _{> 0}^d, \forall x^{\prime }\in \mathbb Z _{\ge 0}^d\) such that \(\exists k\in [1;d] \text{ with } x^{\prime }_k = 0\), \(x \rightarrow ^* x^{\prime } \Longrightarrow \exists x^{\prime \prime }\in \mathbb Z _{> 0}^d \text{ such } \text{ that } x^{\prime } \rightarrow x^{\prime \prime }\).

Remark 3

Recurrence \(\Longrightarrow \) Persistence.

More generally, the study of DRNs may allow to efficiently prove the absence of certain dynamical properties in a wide-range of concrete models, independent of rate laws or kinetic parameters.