Reversal-Addition Related Systems

Initializing live version
Download to Desktop

Requires a Wolfram Notebook System

Interact on desktop, mobile and cloud with the free Wolfram Player or other Wolfram Language products.

Take a number in binary, reverse its digits, and then add it to the original number. Iterating this process produces interesting behavior. This particular system is called "reversal-addition" and was considered by Stephen Wolfram in A New Kind of Science.


This Demonstration looks at generalizations of this system, where additional Mathematica list primitives (Accumulate, Append, Differences, Flatten, ListConvolve, ListCorrelate, Most, Partition, Rest, RotateLeft, RotateRight, and Sort) are used instead of Reverse. Even with these basic operations on lists of 0's and 1's, we immediately recognize complex behavior, demonstrating that small sets of Mathematica primitives are enough to produce such behavior.


Contributed by: Enrique Zeleny (March 2011)
Open content licensed under CC BY-NC-SA



All programs have the structure IntegerDigits[FromDigits[primitive[#], 2] + FromDigits[#1, 2], 2] &; otherwise they are no longer reversal-addition-like systems.

Only commands that produce interesting cases with linear growth are shown. Commands that need more than one argument are introduced with their simplest arguments.

This Demonstration was created during the New Kind of Science Summer School 2008 (NKS|Online) in Burlington, Vermont.

Feedback (field required)
Email (field required) Name
Occupation Organization
Note: Your message & contact information may be shared with the author of any specific Demonstration for which you give feedback.