4 Invariants
Matching is structural and read-only; elements are immutable. The only way memory changes is through right-hand-side actions.
One firing per cycle, always; a program’s behavior does not depend on batch effects.
The engine is deterministic: same rules, same asserts, same outcome — no hidden randomness.