The fifth rung · norms that revise themselves
Reflexive Arithmetic
The first four rungs are fixed once written. But a long-lived agent meets situations its designers never anticipated, and a static rule-set either over-fits or goes stale. The reflexive rung lets the system edit its own norms and specs — and that is exactly where self-modification becomes dangerous, because a system that can rewrite its constraints can rewrite away its safety. The whole design turns on one guarantee: a system may make itself more constrained, never less. The constitutional core is entrenched — un-weakenable.
1 · alethic — necessity / safety → Invariant · refuses
2 · axiological — value / preference → Heuristic · ranks
3 · deontic — obligation / permission → Deontic · obliges & escalates
4 · temporal — liveness over trajectories → Temporal · shields & sustains
5 · reflexive — self-revising norms → this page · revises & entrenches
IThe algebra
The object being revised is a Policy — the deontic norms and temporal specs of rungs 3–4, plus a set of entrenched ids marking the constitutional core. Revision is the AGM belief-revision discipline (success, consistency, minimal change) applied to a body of norms, with the deontic norm-change principles — lex superior (priority wins) and lex posterior (the later norm wins) — for resolving conflicts.
enact a new norm → added (deduped by id)
amend / repeal a non-core norm → applied
repeal an entrenched norm → refused
amend that weakens the core → refused
enact that out-votes the core → refused
amend that strengthens the core → allowed
| operation | does | law |
|---|---|---|
| enact / repeal / amend | the three legal moves over a body of norms | R1 |
| admissible | the reflexive guard — rejects any amendment that would weaken the core | R4 |
| arbitrate | resolve same-target conflicts by lex superior then lex posterior | R2,R5–R7 |
| revise | apply an amendment if admissible, then arbitrate (the core operation) | R1,R3 |
| entrench | add an id to the constitution — monotone (you can protect more, never less) | R4 |
| stabilize | apply proposals until the policy stops changing — reflective equilibrium | R8 |
An amendment is admissible only if it does not weaken an entrenched norm: you cannot repeal the core, cannot amend it to something weaker, and cannot enact a higher-priority norm that would out-rank it in arbitration. Strengthening is always allowed. That single asymmetry is what makes self-modification safe — the revised policy feeds straight back into govern and supervise, so the whole stack runs on rules it is allowed to tighten but never loosen.
IIThe laws
Eight for the revision algebra, three for its interaction with the rest of the ladder. The keystone is R4 — no admissible revision weakens the entrenched core.
| R1 | success: an admissible enact adds, repeal removes |
| R2 | consistency: arbitration leaves no dominated conflicting norm standing |
| R3 | minimal change: enact x then repeal x returns the original policy |
| R4 | entrenchment: no admissible revision weakens the core; strengthening is allowed |
| R5 | lex superior: in a conflict, the higher-priority norm wins |
| R6 | lex posterior: among equal priority, the more recent wins |
| R7 | arbitration is idempotent |
| R8 | reflective stability: iterated self-revision reaches a fixed point |
| RB1 | a system cannot self-modify to permit what its constitution forbids |
| RB2 | an accepted revision propagates: govern uses the new norms |
| RB3 | an entrenched safety spec stays enforced by supervise after any revision |
IIIThe laws, checked
The same harness as every other rung — each law against random inputs, in your browser, on the engine that ships in box-and-box.
IVType sketch
// the object being revised: norms + specs + a protected core interface Policy { norms: Norm[]; specs: TemporalSpec[]; entrenched: Set<string>; } type Amendment = | { op:"enact"; item: Norm | TemporalSpec } | { op:"repeal"; id: string } | { op:"amend"; id: string; item: Norm | TemporalSpec }; // the reflexive guard — the safety asymmetry lives here function admissible(p: Policy, a: Amendment): { ok: boolean; reason?: string }; // apply if admissible, then arbitrate by lex superior / posterior function revise(p: Policy, a: Amendment): { policy: Policy; accepted: boolean; reason: string; overridden: string[] }; function entrench(p: Policy, id: string): Policy; // monotone function stabilize(p: Policy, proposals: Amendment[]): { policy: Policy; stable: boolean; rounds: number }; // reflective equilibrium
VWorked example
A constitution that amends itself. It starts entrenching two protections — forbid-leak (don't leak secrets) and a temporal safety floor G(β ≥ 0.8) — then proposes five amendments. It can add a new duty and even tighten the floor, but every attempt to relax the constitution is refused; afterward the revised policy drives govern, and the entrenched floor still holds. Runs live.
VIStanding on
Rule revision under rationality postulates is the AGM theory (Alchourrón, Gärdenfors & Makinson, 1985); applying it to bodies of norms — enactment, repeal, amendment, lex posterior — is the norm-change literature (Governatori & Rotolo). A system with access to and power over its own rules is classical computational reflection (Brian Smith, 1984). And the safety asymmetry — a self-modifying system that may only change itself when the change provably preserves a protected invariant — is the Gödel-machine / tiling-agents tradition (Schmidhuber; MIRI), with a kinship to Rawls's reflective equilibrium. None of it is new; the contribution is the executable synthesis and the un-weakenable wiring to the safety floor.
Smith, B. C. (1984). Reflection and Semantics in a Procedural Language. (3-Lisp / reflective towers.)
Governatori, G. & Rotolo, A. (2010). Changing Legal Systems: Legal Abrogations and Annulments in Defeasible Logic.
Schmidhuber, J. (2007). Gödel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements.