Chapter 2: The Crucial Experiment

Section 1: How Do Simple Programs Behave?

[Patterns from] bitwise functions

Bitwise functions typically yield nested patterns. (As discussed above, any cellular automaton rule can be represented as an appropriate combination of bitwise functions.) Note that BitOr[x, y] + BitAnd[x, y] == x + y and BitOr[x, y] - BitAnd[x, y] == BitXor[x, y].

[Patterns from] bitwise functions image 1

The patterns below show where BitXor[x,y]<=t for successive t and correspond to steps in the "munching squares" program studied on the PDP-1 computer in 1962.

[Patterns from] bitwise functions image 2

Nesting is also seen in curves obtained by applying bitwise functions to n and 2n for successive n. Note that 2n has the same digits as n, but shifted one position to the left.

[Patterns from] bitwise functions image 3

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