Documentation

Linglib.Semantics.Dynamic.ICDRT

Intensional CDRT #

Muskens's compositional DRT with intensional discourse referents. An individual dref is an individual concept, a function from worlds to individuals or the universal falsifier ⋆ (type s(we)); a propositional dref is a set of worlds (type s(wt)) and stores the local context of some embedded content. This is the flat update of Stone and Brasoveanu in Hofmann's formulation: a discourse state is a single assignment, updated relationally, and an individual dref has a referent only at the worlds of its local context.

A state has two sorts of registers, IVar and PVar, each with its RegisterStructure, so the variable update [δ] is CDRT's Update.randomAssign at either sort and a DRS [δ | C] is Update.box {δ} C. Over these sit the relative variable update [φ : υ], after which υ has a referent at exactly the φ-worlds, predication relative to a local context, local entailment, and maximization over a propositional dref, CDRT's Update.maxAt.

Main definitions #

Main results #

Implementation notes #

⋆ is none. The typed drefs are two register sorts rather than one register carrier, since a RegisterStructure has one value type. The relative variable update is Hofmann's biconditional form; Stone's has only the implication from φ-worlds to referents.

References #

structure ICDRT.PVar :

A propositional variable, the name of a propositional dref.

  • idx : ℕ
Instances For
    def ICDRT.instDecidableEqPVar.decEq (x✝ x✝¹ : PVar) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      @[instance_reducible]
      instance ICDRT.instReprPVar :
      Repr PVar
      Equations
      def ICDRT.instReprPVar.repr :
      PVar → ℕ → Std.Format
      Equations
      • ICDRT.instReprPVar.repr x✝ prec✝ = Std.Format.bracket "{ " (Std.Format.nil ++ Std.Format.text "idx" ++ Std.Format.text " := " ++ (Std.Format.nest 7 (repr x✝.idx)).group) " }"
      Instances For
        structure ICDRT.IVar :

        An individual variable, the name of an individual dref.

        • idx : ℕ
        Instances For
          def ICDRT.instDecidableEqIVar.decEq (x✝ x✝¹ : IVar) :
          Decidable (x✝ = x✝¹)
          Equations
          Instances For
            @[instance_reducible]
            instance ICDRT.instReprIVar :
            Repr IVar
            Equations
            def ICDRT.instReprIVar.repr :
            IVar → ℕ → Std.Format
            Equations
            • ICDRT.instReprIVar.repr x✝ prec✝ = Std.Format.bracket "{ " (Std.Format.nil ++ Std.Format.text "idx" ++ Std.Format.text " := " ++ (Std.Format.nest 7 (repr x✝.idx)).group) " }"
            Instances For
              structure ICDRT.State (W : Type u_1) (E : Type u_2) :
              Type (max u_1 u_2)

              A discourse state assigns an individual concept to each individual dref and a proposition to each propositional dref. An individual dref is none, the falsifier ⋆, at the worlds where it has no referent.

              • indiv : IVar → W → Option E
              • prop : PVar → Set W
              Instances For
                theorem ICDRT.State.ext_iff {W : Type u_1} {E : Type u_2} {x y : State W E} :
                x = y ↔ x.indiv = y.indiv ∧ x.prop = y.prop
                theorem ICDRT.State.ext {W : Type u_1} {E : Type u_2} {x y : State W E} (indiv : x.indiv = y.indiv) (prop : x.prop = y.prop) :
                x = y
                def ICDRT.State.updateIndiv {W : Type u_1} {E : Type u_2} (g : State W E) (v : IVar) (e : W → Option E) :
                State W E

                Reassign an individual dref.

                Equations
                Instances For
                  def ICDRT.State.updateProp {W : Type u_1} {E : Type u_2} (g : State W E) (p : PVar) (s : Set W) :
                  State W E

                  Reassign a propositional dref.

                  Equations
                  Instances For
                    @[simp]
                    theorem ICDRT.State.updateProp_prop_self {W : Type u_1} {E : Type u_2} (g : State W E) (p : PVar) (s : Set W) :
                    (g.updateProp p s).prop p = s
                    @[simp]
                    theorem ICDRT.State.updateProp_prop_of_ne {W : Type u_1} {E : Type u_2} (g : State W E) {p q : PVar} (h : q ≠ p) (s : Set W) :
                    (g.updateProp p s).prop q = g.prop q
                    @[simp]
                    theorem ICDRT.State.updateProp_indiv {W : Type u_1} {E : Type u_2} (g : State W E) (p : PVar) (s : Set W) :
                    (g.updateProp p s).indiv = g.indiv
                    @[simp]
                    theorem ICDRT.State.updateIndiv_prop {W : Type u_1} {E : Type u_2} (g : State W E) (v : IVar) (e : W → Option E) :
                    (g.updateIndiv v e).prop = g.prop
                    @[simp]
                    theorem ICDRT.State.updateIndiv_indiv_self {W : Type u_1} {E : Type u_2} (g : State W E) (v : IVar) (e : W → Option E) :
                    (g.updateIndiv v e).indiv v = e
                    @[simp]
                    theorem ICDRT.State.updateIndiv_indiv_of_ne {W : Type u_1} {E : Type u_2} (g : State W E) {v u : IVar} (h : u ≠ v) (e : W → Option E) :
                    (g.updateIndiv v e).indiv u = g.indiv u

                    Registers and variable update #

                    @[instance_reducible]

                    Individual drefs are registers holding individual concepts.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[instance_reducible]

                    Propositional drefs are registers holding propositions.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    @[simp]
                    theorem ICDRT.val_ivar {W : Type u_1} {E : Type u_2} (i : State W E) (v : IVar) :
                    @[simp]
                    theorem ICDRT.val_pvar {W : Type u_1} {E : Type u_2} (i : State W E) (p : PVar) :
                    theorem ICDRT.updateIndiv_mem_randomAssign {W : Type u_1} {E : Type u_2} (i : State W E) (v : IVar) (e : W → Option E) :
                    theorem ICDRT.updateProp_mem_randomAssign {W : Type u_1} {E : Type u_2} (i : State W E) (p : PVar) (s : Set W) :
                    theorem ICDRT.mem_randomAssign_indiv {W : Type u_1} {E : Type u_2} {i j : State W E} {v : IVar} :
                    (i, j) ∈ DynamicSemantics.Update.randomAssign v ↔ (∀ (p : PVar), j.prop p = i.prop p) ∧ ∀ (u : IVar), u ≠ v → j.indiv u = i.indiv u

                    The update [υ] relates i to the states j that differ from it at most in the value of υ ([Hof25] App. B (9a)).

                    theorem ICDRT.mem_randomAssign_prop {W : Type u_1} {E : Type u_2} {i j : State W E} {φ : PVar} :
                    (i, j) ∈ DynamicSemantics.Update.randomAssign φ ↔ (∀ (q : PVar), q ≠ φ → j.prop q = i.prop q) ∧ ∀ (u : IVar), j.indiv u = i.indiv u

                    The update [φ] relates i to the states j that differ from it at most in the value of φ ([Hof25] App. B (9a)).

                    theorem DynamicSemantics.Update.Fixes.prop_eq {W : Type u_1} {E : Type u_2} {i j : ICDRT.State W E} {φ : ICDRT.PVar} {D : Update (ICDRT.State W E)} (h : Fixes φ D) (hD : (i, j) ∈ D) :
                    j.prop φ = i.prop φ

                    A fixed propositional dref keeps its value across the update.

                    theorem ICDRT.updateProp_mem_box {W : Type u_1} {E : Type u_2} {i : State W E} {C : DynamicSemantics.Condition (State W E)} (p : PVar) (s : Set W) (h : i.updateProp p s ∈ C) :

                    Introducing p with the value s runs the DRS [p | C] when the result satisfies C.

                    An individual variable update fixes every propositional dref.

                    theorem ICDRT.mem_maxAt_prop {W : Type u_1} {E : Type u_2} {i j : State W E} {φ : PVar} {D : DynamicSemantics.Update (State W E)} :
                    (i, j) ∈ DynamicSemantics.Update.maxAt φ D ↔ (i, j) ∈ D ∧ ∀ (k : State W E), (i, k) ∈ D → ¬j.prop φ ⊂ k.prop φ

                    Maximization max_φ(D) over a propositional dref ([Hof25] (40)) is CDRT's maxAt, keeping the outputs of D at which no other output gives φ a proper superset.

                    Relative variable update #

                    def ICDRT.relUpdate {W : Type u_1} {E : Type u_2} (φ : PVar) (v : IVar) :

                    The relative variable update [φ : υ] ([Hof25] (25), App. B (9b)) updates υ so that it has a referent at all and only the φ-worlds.

                    Equations
                    Instances For
                      theorem ICDRT.mem_relUpdate {W : Type u_1} {E : Type u_2} {i j : State W E} {v : IVar} {φ : PVar} :
                      (i, j) ∈ relUpdate φ v ↔ (i, j) ∈ DynamicSemantics.Update.randomAssign v ∧ ∀ (w : W), w ∈ j.prop φ ↔ j.indiv v w ≠ none
                      theorem ICDRT.updateIndiv_mem_relUpdate {W : Type u_1} {E : Type u_2} {i : State W E} {v : IVar} {φ : PVar} (e : W → Option E) (h : ∀ (w : W), w ∈ i.prop φ ↔ e w ≠ none) :
                      (i, i.updateIndiv v e) ∈ relUpdate φ v

                      Introducing υ as the concept e is a relative update [φ : υ] when e has a referent at exactly the φ-worlds.

                      theorem ICDRT.fixes_relUpdate {W : Type u_1} {E : Type u_2} (ψ φ : PVar) (v : IVar) :

                      Conditions #

                      def ICDRT.pred {W : Type u_1} {E : Type u_2} (R : E → W → Prop) (φ : PVar) (v : IVar) :

                      Predication R_φ(υ) ([Hof25] (27), App. B (7a)) holds if R holds of υ's referent at every world of the local context φ; ⋆ satisfies no relation.

                      Equations
                      Instances For
                        def ICDRT.incl {W : Type u_1} {E : Type u_2} (φ₁ φ₂ : PVar) :

                        Inclusion φ₁ ⋐ φ₂ (App. B (7c)).

                        Equations
                        Instances For
                          def ICDRT.eqCompl {W : Type u_1} {E : Type u_2} (φ₁ φ₂ : PVar) :

                          φ₁ ≡ φ̄₂ (App. B (7b), (8a)), the condition negation places on its context.

                          Equations
                          Instances For
                            def ICDRT.localEntailment {W : Type u_1} {E : Type u_2} (φ : PVar) (v : IVar) :

                            A dref υ is entailed in the local context φ ([Hof25] (28)) if it has a referent at every φ-world.

                            Equations
                            Instances For
                              theorem ICDRT.not_mem_pred_of_eq_none {W : Type u_1} {E : Type u_2} {i : State W E} {v : IVar} {φ : PVar} {R : E → W → Prop} {w : W} (hw : w ∈ i.prop φ) (h : i.indiv v w = none) :
                              i ∉ pred R φ v

                              ⋆ falsifies predication ((29a)).

                              theorem ICDRT.mem_localEntailment_of_mem_pred {W : Type u_1} {E : Type u_2} {i : State W E} {v : IVar} {φ : PVar} {R : E → W → Prop} (h : i ∈ pred R φ v) :
                              i ∈ localEntailment φ v

                              Predication entails local entailment ((29b)), since a referent satisfying R is not ⋆.

                              theorem ICDRT.mem_localEntailment_iff_of_relUpdate {W : Type u_1} {E : Type u_2} {i j : State W E} {v : IVar} {φ ψ : PVar} (h : (i, j) ∈ relUpdate φ v) :
                              j ∈ localEntailment ψ v ↔ j.prop ψ ⊆ j.prop φ

                              After [φ : υ], υ is entailed in a local context exactly when the context lies within φ, the subset requirement of [Hof25] (39).