Equational language
The definition of a dynamical system is done using a grammar that follow standard mathematical notation to define sets of equations over a set of language of standard terms.
The terms are similar to those you will find over a multiplicative ring equipped with a differenttial operator, its inverse as well as application and abstration operators, similar to standard lambda calculus.
As previously mentioned, the language is only an intermediate step towards the final computational networks but it allows us to express systems in a manner similar to standard mathematical notation and so gives us an easy way to describe systems and a good understanding of what types of systems we are ultimately deal with.
The grammar used to define the language of equations is a follows:
\[
\begin{array}{rl}
\verb+EQUATION:+ & \verb+<TERM>+ = \verb+<TERM>+ \\
\verb+TERM:+ & \verb+<IDENTIFIER>+ \\
& |\ \verb+<NUMBER>+ \\
& |\ \verb+<ARITHMETIC_OPERATION>+ \\
& |\ \verb+<INTEGRAL>+ \\
& |\ \verb+<DERIVATIVE>+ \\
& |\ \verb+<APPLICATION>+ \\
& |\ \verb+<ABSTRACTION>+ \\
& |\ (\ \verb+<TERM>+\ ) \\
\verb+IDENTIFIER:+ & \verb%[a-zA-Z][a-zA-Z0-9_]*% \\
\verb+NUMBER:+ & x \in \mathbb{R} \\
\verb+ARITHMETIC_OPERATION:+ & \verb+<TERM> <OPERATOR> <TERM>+ \\
\verb+OPERATOR:+ & \verb% + | - | * | / | ^ % \\
\verb+APPLICATION:+ & \verb+<ABSTRACTION>+ @ (\verb+<IDENTIFIER> | <NUMBER> | <TERM> +) \\
\verb+ABSTRACTION:+ & λ \verb+<IDENTIFIER>+.\verb+<TERM>+ \\
\verb+INTEGRAL:+ & ∫\ \verb+<TERM>+\ \partial \verb+<IDENTIFIER>+ \\
\verb+DERIVATIVE:+ & \frac{\partial}{\partial}\ \verb+<IDENTIFIER>+\ \verb+<TERM>+ \\
\end{array}
\]
As you can see, and as mentioned earlier, this grammar does reference any particular underlying calculus and hence is independent of some of the underlying dynamics.
Rewrite system
We define a set of rewrite rules for rewriting any sentence in the above equational language into a more suitable normal form.
This normal form will allow us to more easily translate any sentence into a computational network.
The rewrite rules can be divided into two groups, namely differentiation rules and ring rules.
Together they form a subset of the standard defining equations of a real ring with a inverse differential operator.
Not all rules makes sense in our setting so we have selected only a subset.
Integration/differentiation rules
Integral Distribution
\[
\int(\verb+<1>+ + \verb+<2>+)\ \partial \verb+<3>+ \Rightarrow \int \verb+<1>+\ \partial \verb+<3>+ + \int \verb+<2>+\ \partial \verb+<3>+
\]
Derivative Distribution
\[
\frac{\partial}{\partial}\verb+<3>+\ (\verb+<1>+ + \verb+<2>+) \Rightarrow \frac{\partial}{\partial}\verb+<3>+\ \verb+<1>+ + \frac{\partial}{\partial}\verb+<3>+\ \verb+<2>+
\]
Integral Commutative
\[
\int(\int\ \verb+<1>+\ \partial \verb+<2>+)\ \partial \verb+<3>+ \land \verb+<2>+ > \verb+<3>+ \Rightarrow \int(\int\ \verb+<1>+\ \partial \verb+<3>+)\ \partial \verb+<2>+
\]
Derivative Commutative
\[
\frac{\partial}{\partial}\verb+<3>+(\frac{\partial}{\partial}\verb+<2>+\ \verb+<1>+) \land \verb+<2>+ > \verb+<3>+ \Rightarrow \frac{\partial}{\partial}\verb+<2>+(\frac{\partial}{\partial}\verb+<3>+\ \verb+<1>+)
\]
Integral-Derivative Commutative
\[
\int (\frac{\partial}{\partial}\verb+<2>+\ \verb+<1>+)\ \partial \verb+<3>+ \land \verb+<2>+ > \verb+<3>+ \Rightarrow \frac{\partial}{\partial}\verb+<2>+ (\int \verb+<1>+\ \partial \verb+<3>+)
\]
Derivative-Integral Commutative
\[
\frac{\partial}{\partial}\verb+<3>+ (\int \verb+<1>+\ \partial \verb+<2>+) \land \verb+<2>+ > \verb+<3>+ \Rightarrow \int (\frac{\partial}{\partial}\verb+<3>+\ \verb+<1>+)\ \partial \verb+<2>+
\]
Real elimination
\[
\frac{\partial}{\partial} \verb+<2>+\ \verb+NUMBER(<1>)+ \Rightarrow \verb+NUMBER(0.0)+
\]
Real ring rules
Additive identify left and right
\[
0 + \verb+<1>+ \lor \verb+<1>+ + 0 \Rightarrow \verb+<1>+
\]
Substraction identify left
\[
\verb+<1>+ - 0 \Rightarrow \verb+<1>+
\]
Additive inverse left
\[
\verb+<1>+ - \verb+<1>+ \Rightarrow 0
\]
Multiplicative identity left and right
\[
1 * \verb+<1>+ \lor \verb+<1>+ * 1 \Rightarrow \verb+<1>+
\]
Multiplicative zero left and right
\[
0 * \verb+<1>+ \lor \verb+<1>+ * 0 \Rightarrow 0
\]
Left distributive
\[
\verb+<1>+ * (\verb+<2>+ + \verb+<3>+) \Rightarrow (\verb+<1>+ * \verb+<2>+) + (\verb+<1>+ * \verb+<3>+)
\]
Right distributive
\[
(\verb+<1>+ + \verb+<2>+) * \verb+<3>+ \Rightarrow (\verb+<1>+ * \verb+<3>+) + (\verb+<2>+ * \verb+<3>+)
\]
Parenthesis Elimination
\[
(\verb+<1>+) \Rightarrow \verb+<1>+
\]
Additive commutative over reals
\[
\verb+<1>+ + \verb+<2>+ + \verb+<3>+ \land \verb+<2>+, \verb+<3>+ \in \mathbb{R} \Rightarrow \verb+<1>+ + (\verb+<2>+ + \verb+<3>+)
\]
Reals evaluation
\[
\verb+<1>+ + \verb+<2>+ \land \verb+<1>+, \verb+<2>+ \in \mathbb{R} \Rightarrow \verb%eval(<1> + <2>)% \in \mathbb{R}
\]
\[
\verb+<1>+ * \verb+<2>+ \land \verb+<1>+, \verb+<2>+ \in \mathbb{R} \Rightarrow \verb%eval(<1> * <2>)% \in \mathbb{R}
\]
\[
\verb+<1>+ - \verb+<2>+ \land \verb+<1>+, \verb+<2>+ \in \mathbb{R} \Rightarrow \verb%eval(<1> - <2>)% \in \mathbb{R}
\]
\[
\verb+<1>+ / \verb+<2>+ \land \verb+<1>+, \verb+<2>+ \in \mathbb{R} \Rightarrow \verb%eval(<1> / <2>)% \in \mathbb{R}
\]
\[
\verb+<1>+ ^ \verb+<2>+ \land \verb+<1>+, \verb+<2>+ \in \mathbb{R} \Rightarrow \verb%eval(<1> ^ <2>)% \in \mathbb{R}
\]
where \(\verb+eval+\) evaluates the given term under the real ring \(\mathbb{R}\).
With these rules we can rewrite any equational system expressed in the above grammar into what we all a normal form equation.
This is an equational system in which we have exhausted the ability apply any rewrite rule, ie we have repeatedly applied rewrite rules until no more rules can be applied.
How we choose the rules to apply come down to the strategy that we use to rewrite, see more here.
Which strategy we choose matters little for this equational form, since the translation will always produce equivalent networks independent to the rewrite strategy choosen.
However, when it comes to rewriting networks it matters.