Chapter 11: The Notion of Computation

Section 2: Computations in Cellular Automata

[Rules for the] squaring cellular automaton

The rules are

{{0,_,3}->0, {_,2,3}->3, {1,1,3}->4, {_,1,4}->4, {1|2,3,_}->5,{p:0|1,4,_}->7-p, {7,2,6}->3, {7,_,_}->7, {_,7,p:1|2}->p, {_,p:5|6,_}->7-p, {5|6,p:1|2,_}->7-p, {5|6,0,0}->1, {_,p:1|2,_}->p, {_,_,_}->0}

and the initial conditions consist of Append[Table[1, {n}], 3] surrounded by 0's. The rules can be implemented using GeneralCARule as given on page 867. (See also page 1186.)

From Stephen Wolfram: A New Kind of Science [citation]