The 5 Proved Laws
Proved in quilt-substrate-meta (C99, theorem-checked). Each law constrains an opcode. Add a new opcode ⇒ must prove it obeys at least one law.
Law 1 — BIND is idempotent
BIND(BIND(c, p), p) ≡ BIND(c, p)
Applying a payload twice equals applying it once. Witness: every test in test_bind_idempotent.
Law 2 — LINK is transitive
LINK(LINK(a,b), LINK(b,c)) ≡ LINK(a,c)
If A links to B and B links to C, then A links to C transitively. The lattice connectivity follows from this alone.
Law 3 — EFFECT is associative
EFFECT(EFFECT(a, e1), e2) ≡ EFFECT(a, MERGE(e1, e2))
Combining effects on a cell equals applying the combined effect. The witness log can be flat-merged.
Law 4 — VIEW is pure
VIEW(c) ≡ VIEW(c)
Same cell always views to the same value. The proof of (4) is "no side effects in the implementation". This is what allows caching.
Law 5 — TICK is monotonic
∀ n: TICKⁿ⁺¹(c) ≢ TICKⁿ(c)
TICK never returns to a previous state. No cycles. Time is one-way. This is the basis for tamper detection.
There are 6 more theoretical laws (CRDT-confluence, ROUTE-shortest, FORGET-irreversibility, PROOF-verifiable, WORLD-counterfactual-preserving, TIME-causal) but they have proofs-in-progress in quilt-substrate-meta.