Rule 30 can be represented in algebraic normal form (ANF) as

\[x+y+z+yz \pmod 2\ .\]

This means if you have three cells \(x,y,z\) with Boolean values of 0 or 1, the middle cell on the next row, below \(y\), would have the value above.

Furthermore, you can compose this rule as much you like to attain direct algebraic representations for cells \(n\) rows deep, given in terms of the \(2n+1\) cells on the first row that are necessary for the calculation. The algebraic expressions required very quickly become untenably complex, however, which is one argument in favor of the irreducible complexity of Rule 30.

Let us refer to the initial cells in the first row as \(\ldots, a_{-2},a_{-1},a_0,a_1,a_2,\ldots\), where \(a_0\) is the cell in which we assign a \(1\) value to start, with all others being \(0\). I know the negative subscripts are a little awkward, but they make a lot more sense.

We can now fill out as many rows as we like in terms of \(a_i\) variables. Here are the first two rows:

\begin{array}{|l|l|l|l|} \hline
\dots & a_{-2} & a_{-1} & a_{0} & a_{1} & a_{2} & a_{3} & \dots \\ \hline
\dots & \dots & a_{-2}+a_{-1}+a_{0}+a_{-1}a_{0} & a_{-1}+a_{0}+a_{1}+a_{0}a_{1} & a_{0}+a_{1}+a_{2}+a_{1}a_{2} & a_{1}+a_{2}+a_{3}+a_{2}a_{3} & \dots & \dots \\ \hline

As you can see, each cell on the second row is defined in terms of the three cells above it, in the \(x+y+z+yz\) form described. As you can also see, every cell on a given row will have the exact same algebraic form with suitably shifted subscripts. Rather than fill out a whole table in this manner, then, it suffices to show a single column.

We now compose the rule again on three values in the second row to describe the third row, and we get:

\begin{array}{|l|} \hline
a_0 \\ \hline
a_{-1}+a_{0}+a_{1}+a_{0}a_{1} \\ \hline