SCENARIOS / SC-024 / WOLFRAM (2,3) MACHINE
SC-024 Turing Machine

Wolfram (2,3) Machine

Wolfram's 2-state, 3-symbol machine — proved universal in 2007 — running on an infinite alternating tape.

Sync Tick Turing
Machine replay — the (2,3) head over an alternating background FULLSCREEN ⤢
Clock Tick — one step per turn
Update Synchronous
States 2 (A, B)
Symbols 3 (0, 1, 2)
Background Infinite alternating 0 1
Halts Never
OVERVIEW

Wolfram's (2,3) machine, number 596440, as a true Turing machine. Its two states A and B over symbols { 0, 1, 2 } never halt. The distinctive feature is the tape itself: rather than a blank background it runs over an infinite alternating 0 1 0 1 … pattern. Each cell remembers the background digit it was born holding and hands the opposite digit to any neighbour it grows, so the revealed tape always alternates correctly in both directions — even behind the head, where the background is preserved separately from the symbol the head has overwritten.

A demonstration of weak universality — a machine that is universal only over a structured, non-blank background. It motivates the self-growing-tape pattern's one real variation: each cell stores an immutable background digit alongside its current symbol, so an infinite periodic environment can be revealed on demand without ever being pre-populated. The Concepts guide's Turing Machines page covers the background trick and the limits of the universality claim in full.

TRAITS
Sync
Advances on a single global clock
Tick
Discrete fixed-step time
Turing
A head reads & writes an unbounded tape
SCHEMA

Linked tables with guaranteed referential integrity.

TABLECOLUMNSDESCRIPTION
cell ID, symbol, bg, has_left, has_right, left_id, right_id, current_state One row per tape square: the current symbol, the immutable background digit (bg) it reveals to grown neighbours, and self-built neighbour references in both directions.
head ID, current_id, nc, current_state The read/write head: the cell beneath it and its A/B control state.
LIVE API

Generated REST endpoints. Also exposed as MCP tools.

POST /scenarios/wolfram-23/experiments Seed a fresh tape and head
POST /scenarios/wolfram-23/experiments/{eid}/run Advance the machine N steps
GET /scenarios/wolfram-23/experiments/{eid}/entities/cell Read the tape, one row per square
GET /scenarios/wolfram-23/experiments/{eid}/events Append-only step log
GET /scenarios/wolfram-23/experiments/{eid}/dataset Download the exported dataset
SEMANTIC LAYER

OSI-compatible definition, emitted with the dataset.

# wolfram-23.osi.yaml — emitted automatically
semantic_model:
  name: "wolfram-23"
  source: "duckdb://wolfram-23.db"
  entities:
    - name: cell
      primary_key: id
  dimensions:
    - name: state
      type: categorical
    - name: t
      type: time
  measures:
    - name: row_count
      agg: count
    - name: active
      agg: sum
      filter: "state = 'ACTIVE'"