Documentation

Linglib.Theories.Semantics.Dynamic.Effects.State.Basic

State Effect: Assignment Threading #

@cite{heim-1982} @cite{heim-1983} @cite{veltman-1996}

The state effect underlies anaphora resolution in dynamic semantics. It threads variable assignments through interpretation, allowing one sentence to bind variables that later sentences can access.

This module collects state-based semantic frameworks:

Both are instances of the state effect: they differ in whether the state tracks assignments (FCS) or just worlds (Update Semantics).

File Change Semantics #

Heim's File Metaphor:

⟦φ⟧ : File → File (sentences are context change potentials)

@[reducible, inline]
abbrev Semantics.Dynamic.FileChangeSemantics.File (W : Type u_1) (E : Type u_2) :
Type (max u_2 u_1)

A File is an information state: set of (world, assignment) pairs.

This is Heim's "file metaphor" - each pair is a "file card".

Equations
Instances For
    @[reducible, inline]
    abbrev Semantics.Dynamic.FileChangeSemantics.FileCard (W : Type u_1) (E : Type u_2) :
    Type (max u_1 u_2)

    A File Card is a single possibility: (world, assignment).

    Equations
    Instances For
      def Semantics.Dynamic.FileChangeSemantics.File.novel {W : Type u_1} {E : Type u_2} (f : File W E) (x : ) :

      Variable x is NOVEL in file f iff f doesn't constrain x.

      Indefinites require their variable to be novel - this prevents the same variable being reused inappropriately.

      Equations
      Instances For

        Variable x is FAMILIAR in file f iff f constrains x uniquely.

        Definites require their variable to be familiar - the discourse must have already established who "the X" refers to.

        Equations
        Instances For
          def Semantics.Dynamic.FileChangeSemantics.File.updateProp {W : Type u_1} {E : Type u_2} (f : File W E) (φ : WBool) :
          File W E

          Update file with proposition: eliminate cards where φ fails.

          f[φ] = { c ∈ f | φ(c.world) }

          Equations
          Instances For
            def Semantics.Dynamic.FileChangeSemantics.File.introduce {W : Type u_1} {E : Type u_2} (f : File W E) (x : ) (dom : Set E) :
            File W E

            Introduce new discourse referent (indefinite).

            f[x:=?] adds cards for each possible entity value of x. Requires x to be NOVEL (precondition).

            Equations
            Instances For
              @[reducible, inline]
              abbrev Semantics.Dynamic.FileChangeSemantics.FCP (W : Type u_1) (E : Type u_2) :
              Type (max u_2 u_1)

              File Change Potential (FCP): the semantic type for sentences in FCS.

              Equations
              Instances For
                def Semantics.Dynamic.FileChangeSemantics.FCP.atom {W : Type u_1} {E : Type u_2} (pred : WBool) :
                FCP W E

                Atomic predicate update.

                Equations
                Instances For
                  def Semantics.Dynamic.FileChangeSemantics.FCP.indefinite {W : Type u_1} {E : Type u_2} (x : ) (dom : Set E) (body : FCP W E) :
                  FCP W E

                  Indefinite introduction: requires novelty.

                  This models "a man" - introduces a new discourse referent.

                  Equations
                  Instances For
                    def Semantics.Dynamic.FileChangeSemantics.FCP.definite {W : Type u_1} {E : Type u_2} (x : ) (body : FCP W E) :
                    FCP W E

                    Definite reference: requires familiarity.

                    This models "the man" - presupposes the referent is established.

                    Equations
                    Instances For
                      def Semantics.Dynamic.FileChangeSemantics.FCP.conj {W : Type u_1} {E : Type u_2} (φ ψ : FCP W E) :
                      FCP W E

                      Conjunction: sequential file update.

                      f[φ ∧ ψ] = f[φ][ψ]

                      Delegates to Core.CCP.seq.

                      Equations
                      Instances For
                        noncomputable def Semantics.Dynamic.FileChangeSemantics.FCP.neg {W : Type u_1} {E : Type u_2} (φ : FCP W E) :
                        FCP W E

                        Negation: test-based (standard FCS).

                        f[¬φ] = f if f[φ] = ∅, else ∅

                        Note: This does NOT validate DNE. Delegates to Core.CCP.neg.

                        Equations
                        Instances For

                          Novelty precondition for indefinites.

                          Attempting to introduce a non-novel variable is undefined behavior (typically modeled as returning ∅ or crash).

                          Equations
                          Instances For

                            Familiarity precondition for definites.

                            Equations
                            Instances For

                              Relation to Semantics.Dynamic.Core.Basic #

                              The Semantics.Dynamic.Core.Basic module provides the canonical infrastructure. This module provides FCS-specific vocabulary as aliases:

                              This ModuleSemantics.Dynamic.Core
                              FileInfoState
                              FileCardPossibility
                              novelnovelAt
                              familiardefinedAt
                              introducerandomAssign
                              updatePropupdate

                              Update Semantics #

                              In Update Semantics:

                              ⟦φ⟧ : State → State where State = Set World

                              @[reducible, inline]

                              Update Semantics state: a set of possible worlds.

                              Unlike DPL/DRT, no assignment component - US focuses on propositional content.

                              Equations
                              Instances For

                                Propositional update: eliminate worlds where φ fails.

                                ⟦φ⟧(s) = { w ∈ s | φ(w) }

                                Equations
                                Instances For

                                  Conjunction: sequential update.

                                  ⟦φ ∧ ψ⟧ = ⟦ψ⟧ ∘ ⟦φ⟧

                                  Delegates to Core.CCP.seq.

                                  Equations
                                  Instances For
                                    noncomputable def Semantics.Dynamic.UpdateSemantics.Update.neg {W : Type u_1} (φ : Update W) :

                                    Negation: test and possibly fail.

                                    ⟦¬φ⟧(s) = s if ⟦φ⟧(s) = ∅, else ∅

                                    Delegates to Core.CCP.neg.

                                    Equations
                                    Instances For
                                      noncomputable def Semantics.Dynamic.UpdateSemantics.Update.might {W : Type u_1} (φ : Update W) :

                                      Epistemic "might": compatibility test.

                                      ⟦might φ⟧(s) = s if ⟦φ⟧(s) ≠ ∅, else ∅

                                      Delegates to Core.CCP.might.

                                      Equations
                                      Instances For
                                        noncomputable def Semantics.Dynamic.UpdateSemantics.Update.must {W : Type u_1} (φ : Update W) :

                                        Epistemic "must": universal test.

                                        ⟦must φ⟧(s) = s if ⟦φ⟧(s) = s, else ∅

                                        Delegates to Core.CCP.must.

                                        Equations
                                        Instances For
                                          theorem Semantics.Dynamic.UpdateSemantics.might_is_test {W : Type u_1} (φ : Update W) (s : State W) (h : Set.Nonempty (φ s)) :
                                          φ.might s = s

                                          Might is a TEST: it doesn't change the state (if it passes).

                                          Order matters for epistemic might.

                                          "It's raining and it might not be raining" is contradictory: after learning rain, the might-not-rain test fails (no ¬rain worlds remain). But "it might not be raining and it's raining" can succeed: the might test passes on the initial state, then learning eliminates ¬rain worlds.

                                          Requires Nontrivial W: for empty or singleton W, no state has both p-worlds and ¬p-worlds, making the second conjunct unsatisfiable.

                                          State s supports φ iff updating with φ doesn't change s.

                                          s ⊨ φ iff ⟦φ⟧(s) = s

                                          Equations
                                          Instances For

                                            State s accepts φ iff updating with φ yields a non-empty state.

                                            s accepts φ iff ⟦φ⟧(s) ≠ ∅

                                            Equations
                                            Instances For