Proof of Life
Formal verification · Lean 4 · Computational Life

Proof of Life.

Self-replicating programs appear on their own in a soup of random code. Testing one on a few thousand partners is evidence. We wanted certainty, so we asked Lean to check, for every one of the 25664 possible partners, which of them really copy themselves, and to certify the exact collision where life began in one world.

World 52 · epoch 5,858

A birth, certified

parent A · does not copy itselfstep 0
parent B · does not copy itself

The two programs are glued into one 128-byte tape and run, exactly as the soup did it. Watch the right half.

What the proof checks

Run it on a partner that could be anything

Instead of trying partners one by one, run the program once against a partner whose 64 bytes are all unknown (?). A byte becomes known only when the program writes it. If the run never has to look at an unknown byte to decide what to do next, its outcome is the same for all 25664 partners. Lean’s kernel replays exactly this run, all 8,192 steps, and a separate proof shows the shortcut is sound.

parentstep 0 of 8,192
partner: 25664 possibilities
64partner bytes still unknown
0loop tests, all on known bytes
0decisions that depend on the partner
? unknown partner byte ≠0 unknown, but not zero ▢ loop test on a known byte ▢ test on an unknown byte: the proof stops [ ] loop . , copy < > { } move
Every organism, checked

The certificate wall

Heads start at 0 (the paper’s rule)

Heads set by the genome

What the proofs say about life

Copying backwards is not only cheaper. It is safer.

The statements

What Lean actually proved

The theorems are about a Lean transcription of BFF, cross-checked against our Python and C interpreters on 240 test tapes. Each certificate is one kernel computation per organism plus a soundness proof shared by all of them.

Methods and limits

How to read this