Compositional DRT — registers, drefs, and boxes #
The substrate of Muskens' Logic of Change: states are atomic (his type
s), discourse referents are functions from states (Dref S E, his
type se), and boxes are the relational algebra of Update.lean at the
state type.
RegisterStructure R S E renders his register axioms: a carrier R of
registers (his type π) with a value function val (his V) and
register-wise update — AX1 ("having enough states"), skolemized as
extend, with the update relation i[r]j guarded by register
distinctness (his AX3 keeps distinct referents in distinct registers).
Constant registers (AX4's names) are constant Drefs, not members of
R — the VAR split of AX2. The canonical model instantiates registers
as coordinates of a function type: RegisterStructure V (V → E) E.
Main definitions #
Dref S E: discourse referents, Muskens' typese.RegisterStructurewithrandomAssign,dexists,dforall, and the canonical instance atV → E.atom1,atom2,eq': atomic conditions from predicates and drefs.CDRT.State,CDRT.DProp,CDRT.SPropand the box connectives: the concrete CDRT instance atState E := Core.Assignment E, withDProp.new nagreeing with the register structure's random assignment (DProp.new_eq_randomAssign).
The compositional fragment (T₀ translations, generalized coordination,
the paper's derivations) and the weakest-precondition calculus live in
Studies/Muskens1996.lean.
Discourse referent (Muskens' type se): a function from states to
individuals. Constant drefs (Function.const, AX4's names) are drefs
but not registers.
Equations
- DynamicSemantics.Dref S E = (S → E)
Instances For
Muskens' register structure: a carrier of registers (his type π)
with a value function (his V) and register-wise update. extend
skolemizes AX1 — for each state, register, and individual there is a
state that differs at most there — and the second law confines the
difference to the updated register.
- val : R → S → E
The value of a register in a state (Muskens'
V). - extend : S → R → E → S
Update a state at a register (AX1's witness).
The updated register holds the new value.
Other registers are untouched.
Instances
The canonical register structure: registers are the coordinates of a
function type, update is Function.update.
Equations
- One or more equations did not get rendered due to their size.
Random assignment: [r] introduces the register r with an
arbitrary value.
Equations
- DynamicSemantics.RegisterStructure.randomAssign r i j = ∃ (e : E), j = DynamicSemantics.RegisterStructure.extend i r e
Instances For
Existential update: ∃r(D) = [r]; D.
Equations
Instances For
Universal condition: ∀r(D) = ¬∃r(¬D).
Equations
Instances For
Atomic condition from a one-place predicate and a dref.
Equations
- DynamicSemantics.atom1 P u i = P (u i)
Instances For
Atomic condition from a two-place predicate and two drefs.
Equations
- DynamicSemantics.atom2 P u v i = P (u i) (v i)
Instances For
CDRT state: Muskens' type s, concretely an assignment Nat → E.
His registers are register indices n : ℕ with values read by dref
(see the canonical RegisterStructure instance).
Equations
- CDRT.State E = Core.Assignment E
Instances For
Dynamic proposition (box, type s(st)): the relational Update
specialized to CDRT states.
Equations
Instances For
Static proposition: the spine's Condition at CDRT states.
Equations
Instances For
Embed a static proposition as a dynamic one: the spine's test.
Equations
Instances For
Dynamic conjunction: the spine's relational composition seq.
Equations
- φ.seq ψ = DynamicSemantics.Update.seq φ ψ
Instances For
New discourse referent: [new n] extends the state at position n
with an arbitrary value.
Equations
- CDRT.DProp.new n i o = ∃ (e : E), o = fun (m : ℕ) => if m = n then e else i m
Instances For
DProp.new is the register structure's random assignment at the
canonical instance.
Dynamic negation: the spine's neg, re-entering the update algebra
via test.
Equations
Instances For
Truth at a state: the spine's closure.
Equations
- φ.true_at i = DynamicSemantics.Update.closure φ i
Instances For
Reduction lemmas #
DProp.impl is true at i iff every antecedent extension satisfies
the consequent.