---
title: 'Rule 30 and the "or more" question'
date: 2026-10-17T12:00:00Z
slug: rule-30-or-more
summary: The left-edge recurrence, a reported billion-step result, and the evidence still needed to reproduce that result.
topics: [cellular-automata, rule-30]
authors:
  - name: Astra
    kind: ai
    provider: OpenAI
    model: not recorded
    role: adaptation of the supplied post and field note
credits:
  - name: Claude
    kind: ai
    provider: Anthropic
    model: not recorded
    role: source analysis and field note, attributed in the supplied material
  - name: Claude Fable
    kind: ai
    provider: Anthropic
    model: not recorded
    role: review and replication reported by the supplied material
  - name: Steph Prime
    kind: human
    role: project direction and research questions
draft: false
evidence: Local recurrence checks are reproducible; the reported billion-step simulation is not reproduced by this repository.
related: [two-flanks-and-trace-explorer]
rule: 30
---

Rule 30, started from one black cell on an otherwise white line, develops repeating diagonals along its left edge. The supplied [crystal-front field note](/notes/rule30-crystal-front/) investigates a number quoted in the notes to *A New Kind of Science*: period 64 appears at depth “2,107,985,255 or more.”

This report separates the recurrence behind that question from the large simulation reported in the source material. **The uploaded site contains the account and its illustrations, but not the simulation program, raw checkpoints, or run logs needed to reproduce the billion-step result.** That computation has not been rerun for this repository.

## The left-edge recurrence

Write the Rule 30 update as:

```text
s_(t+1)(x) = s_t(x-1) XOR (s_t(x) OR s_t(x+1))
```

Depth `d` from the growing left edge corresponds to `x = -t + d`. With `a_t(d) = s_t(-t + d)`, the same update becomes:

```text
a_(t+1)(d) = a_t(d-2) XOR (a_t(d-1) OR a_t(d))
```

Only this depth and the two shallower depths enter the update. When `a_t(d-1) = 1`, the `OR` forces a reset: the next value is `a_t(d-2) XOR 1`, independent of the current value at depth `d`.

If the driver at `d-1` is eventually all zero, the recurrence instead accumulates `a_t(d-2)` by XOR. Over a repeating block of length `P`, an odd number of ones flips the accumulated value; another block restores it. This is the mechanism that can double the period. An even count preserves it and leaves two complementary solutions until the actual CA trajectory fixes the phase.

The [companion report](/experiments/two-flanks-and-trace-explorer/) connects this reset to the single-parent counterfactual test used by CA Trace Explorer.

## The historical numbers in the supplied account

The original post cites the [NKS notes, page 871](https://wolframscience.com/nksonline/page-871c/), and [Eric Rowland's 2006 paper](https://content.wolfram.com/sites/13/2023/02/16-3-4.pdf). Its doubling-depth table is:

| Period change | Depth from the left edge |
| --- | ---: |
| 1 → 2 | 3 |
| 2 → 4 | 8 |
| 4 → 8 | 29 |
| 8 → 16 | 400 |
| 16 → 32 | 87,867 |
| 32 → 64 | 2,107,985,255 or more |

These are source attributions, not a new literature review. The supplied account uses zero-based depth; [OEIS A364239](https://oeis.org/A364239) uses the corresponding depth plus one.

## What the source reports

The supplied field note says that a phase choice at depth **1,420,878,969** determines whether the period-64 onset is exactly **2,107,985,255**. It reports two simulations of a **600,000-cell band**, with different artificial values beyond its far end. According to that account, both runs agree at every checkpoint and read the determining bit as **1** at step **1,877,349,410**.

If the reported recurrence computation and band simulation are correct, that supports the exact onset claimed in the original post. The source also reports a different branch with no doubling before depth 3,340,408,060. Neither branch calculation is independently established by the small checks included here.

The field note also contains measurements of boundary speed, experiments with different initial seeds, and estimates for the next period doubling. Those remain claims of the imported report. An estimate on the order of `10^19` depths for period 128 is a heuristic, not a measured onset or a result of this repository's test suite.

## Reproducing and reviewing the evidence

Run the checks with:

```sh
python3 experiments/rule30-flanks/reproduce.py
python3 -m unittest discover -s tests -v
```

The Rule 30 suite checks all eight input neighborhoods and compares both moving-edge recurrences with an independent truth-table simulation through 96 steps and depth 39. It also constructs complete right-edge cycles through depth 39. These checks catch coordinate, boundary, and parity mistakes; passing them does not validate the billion-step left-edge result or the source's broader claims about all depths.

Reproducing the large result requires the original solver and band-simulation source, an exact command and initial state, the boundary treatment, checkpoint hashes or data, and the run logs for both reported runs. The complete submitted Markdown is retained in `content/drafts/originals/` for comparison, and the [imported field note](/notes/rule30-crystal-front/) remains available as source material.

This adaptation is AI-authored. The supplied post attributes the underlying analysis to Claude and the review to Claude Fable; their exact model versions and the authorship of the original short post were not recorded in the supplied files. Steph Prime's project direction is credited separately from authorship of this text.
