CDRT state: a register/assignment function.
Muskens names them "registers" but the type is Core.Assignment E;
this alias preserves Muskens's vocabulary while sharing the simp set
(Assignment.update_at, update_ne, update_overwrite, update_self)
with H&K composition, DPL, Charlow continuations, and Spector's plural
substrate.
Equations
Instances For
Dynamic proposition: relates input and output states.
⟦φ⟧ : Register E → Register E → Prop
Equations
Instances For
Static proposition (for embedding classical logic).
Equations
Instances For
Embed a static proposition as a dynamic one (test).
⟦p⟧(i, o) iff i = o ∧ p(i)
Equations
- Semantics.Dynamic.CDRT.DProp.ofStatic p i o = (i = o ∧ p i)
Instances For
Dynamic conjunction: relational composition.
⟦φ; ψ⟧(i, o) iff ∃k. ⟦φ⟧(i, k) ∧ ⟦ψ⟧(k, o)
Equations
- (φ ;; ψ) i o = ∃ (k : Semantics.Dynamic.CDRT.Register E), φ i k ∧ ψ k o
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
New discourse referent introduction.
[new n] extends the register at position n with an arbitrary value.
Equations
- Semantics.Dynamic.CDRT.DProp.new n i o = ∃ (e : E), o = fun (m : ℕ) => if m = n then e else i m
Instances For
Dynamic negation: test for failure.
⟦¬φ⟧(i, o) iff i = o ∧ ¬∃k. ⟦φ⟧(i, k)
Equations
- φ.neg i o = (i = o ∧ ¬∃ (k : Semantics.Dynamic.CDRT.Register E), φ i k)
Instances For
Dynamic implication: if φ succeeds, ψ must succeed.
⟦φ → ψ⟧(i, o) iff i = o ∧ ∀k. (⟦φ⟧(i, k) → ∃m. ⟦ψ⟧(k, m))
Equations
- φ.impl ψ i o = (i = o ∧ ∀ (k : Semantics.Dynamic.CDRT.Register E), φ i k → ∃ (m : Semantics.Dynamic.CDRT.Register E), ψ k m)
Instances For
Dynamic disjunction: φ or ψ.
⟦φ or ψ⟧(i, o) iff i = o ∧ (∃k. ⟦φ⟧(i, k) ∨ ⟦ψ⟧(i, k))
Disjunction is a test: it checks whether either disjunct is satisfiable without changing state. Corresponds to SEM2 (@cite{muskens-1996}, p. 148).
Equations
- φ.ddisj ψ i o = (i = o ∧ ∃ (k : Semantics.Dynamic.CDRT.Register E), φ i k ∨ ψ i k)
Instances For
Entity type: individuals.
Equations
Instances For
Generalized quantifier type.
Equations
Instances For
Indefinite "a/an": introduces dref and applies predicate.
⟦a⟧ = λP.λQ. new n; P(rn); Q(rn)
where rn is the register lookup at n.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pronoun: lookup register value.
⟦heₙ⟧ = rn (returns the value at register n)
Equations
- Semantics.Dynamic.CDRT.pronoun n r = r n
Instances For
A dynamic proposition is TRUE at state i if it can transition somewhere.
Equations
- φ.true_at i = ∃ (o : Semantics.Dynamic.CDRT.Register E), φ i o
Instances For
Dynamic entailment: φ entails ψ if ψ is true after φ.
Equations
- φ.entails ψ = ∀ (i o : Semantics.Dynamic.CDRT.Register E), φ i o → ψ.true_at o
Instances For
DProp.impl is true at i iff every antecedent extension satisfies the consequent.
CDRT-as-Dynamic-Ty2 #
CDRT's Register E = Nat → E is the same type as @cite{muskens-1996}'s
state space S in Dynamic Ty2 with discourse referents Dref S E = S → E.
Drefs in CDRT are register-lookups; DProp E and DRS (Register E) are
the same type, so the embedding is a pair of identity functions.
CDRT register lookup as a Dynamic Ty2 dref.
Equations
- Semantics.Dynamic.CDRT.dref n r = r n