Documentation

Linglib.Semantics.Dynamic.DRS.Semantics

Model-theoretic semantics of DRSs #

[KR93]

DRS truth via verifying embeddings into a mathlib FirstOrder.Language.Structure — exactly Kamp & Reyle's Def. 1.4.4–1.4.5. An embedding is an assignment v : V → M of discourse referents to the model domain; the discourse referents introduced by a sub-DRS are existentially (re)assigned when that sub-DRS is entered, which is what (∀ x ∉ K.referents, v' x = v x) expresses (v' extends v on K's universe).

Main declarations #

def DRT.DRS.Realize {L : FirstOrder.Language} {V : Type w} {M : Type x} [L.Structure M] (v : VM) :
DRS L VProp

v verifies K ([KR93], Def. 1.4.4): every condition of K holds under the assignment v.

Equations
Instances For
    def DRT.Condition.Realize {L : FirstOrder.Language} {V : Type w} {M : Type x} [L.Structure M] (v : VM) :
    Condition L VProp

    v verifies a condition (Def. 1.4.4(ii)). A sub-DRS K is entered by existentially (re)assigning the referents of its universe (v' agrees with v off K.referents). For imp, the consequent witness v'' extends the antecedent assignment v' (not the host v): antecedent referents are visible in the consequent — the accessibility asymmetry.

    Equations
    Instances For
      def DRT.Condition.RealizeAll {L : FirstOrder.Language} {V : Type w} {M : Type x} [L.Structure M] (v : VM) :
      List (Condition L V)Prop

      Every condition in the list is verified by v. A List helper (not List.Forall (Condition.Realize v)) because Lean's structural-recursion checker for the nested List (Condition …) rejects the higher-order argument.

      Equations
      Instances For
        def DRT.DRS.trueIn {L : FirstOrder.Language} {V : Type w} (M : Type x) [L.Structure M] (K : DRS L V) :

        K is true in M iff some embedding verifies it ([KR93], Def. 1.4.5).

        Equations
        Instances For