Causal Graphs

Once things start happening, some happenings depend on others. That web of "what had to happen before what" is the causal graph — and it's where time comes from.

So far the universe is a structure that keeps getting rewritten. But here’s a question: when the rule fires in two different places, does one firing depend on the other, or not? Answering that everywhere gives us the causal graph — and it turns out to be where our notion of time comes from.

To keep things easy to see, this page uses a string of letters instead of a hypergraph. Wolfram does the same — strings are just the simplest version of the same idea, and everything here carries straight over to hypergraphs.

Every rewrite is an “event”

Take the tiny rule BA → AB (“if you ever see BA, you may swap it to AB”). Each time we actually apply it somewhere is one event. Some events only become possible because an earlier event produced the letters they need — and that’s a genuine dependency: the earlier one had to happen first.

What depends on what

Below, each numbered circle is an event, and an arrow A → B means “event B used a letter that event A produced” — so A had to come first. Step through it, and hover any event to light up its entire causal history:

123
startBABABA
step 1ABABAB
step 2AABABB
step 3AAABBB
Each numbered circle is an event (one firing of the rule). An arrow A → B means B used a letter A produced. Hover an event to light up its causal history.
step 0 / 2events 3

Try this: step to the end, then hover the last event. Notice how the highlighted “past” fans out — and notice that the events sitting side by side in a row have no arrow between them. Nothing in the system says which of those happened first. They’re causally independent.

That last point is quietly enormous: there’s no master clock ticking. The only “time” that exists is the ordering forced by the arrows. Two observers could disagree about the order of two unrelated events and both be right — which is exactly the door into relativity (a later note).

A web of glowing connected points sliced by two different sets of translucent layered surfaces — one set level, one tilted — grouping the same points into different layers
One causal web, two equally valid ways to slice it into successive moments — independent events land in different layers depending on the slicing, and neither is wrong.
The precise version (and the catch)

In the Wolfram model an event is a single application of the update rule, and the causal graph has a directed edge from event A to event B exactly when B’s input uses elements that A’s output produced. [setup] It’s the discrete stand-in for the causal structure of spacetime.

Two honest caveats:

  • The specific set of events depends on an updating scheme (here: non-overlapping matches, left to right). Different schemes can give different event sets. The claim that the causal graph nonetheless comes out the same is a special property called causal invariance — a separate concept, not shown here. [setup]
  • Calling the causal graph “spacetime” and deriving relativity from it is a stronger, model-internal claim — see the grounding below before repeating it as fact.

Grounded in the technical paper and Wolfram’s 2020 announcement.

Where this is heading: relativity

Because independent events have no built-in order, you’re free to “slice” the causal graph into successive moments of time in many ways — and Wolfram identifies each consistent slicing with a reference frame. Special relativity (time dilation, a maximum speed) is then argued to follow. [derived-in-model] This is developed formally — and far more carefully than in the blog essays — in Gorard’s relativity paper, which is the source to trust when we write that note.


Sources for this page: Technical paper · 2020 announcement · Gorard — relativity

← All concepts