Documentation

Linglib.Theories.Semantics.Dynamic.DiscourseRef

inductive Semantics.Dynamic.Core.Entity (E : Type u_1) :
Type u_1

Entities extended with the universal falsifier ⋆.

In Hofmann's system, individual drefs map to ⋆ in worlds where the referent doesn't exist. For example, in "There's no bathroom", the bathroom variable maps to ⋆ in all worlds.

The falsifier ⋆ satisfies: R(⋆) = false for all predicates R.

Instances For
    @[implicit_reducible]
    instance Semantics.Dynamic.Core.instReprEntity {E✝ : Type u_1} [Repr E✝] :
    Repr (Entity E✝)
    Equations
    def Semantics.Dynamic.Core.instReprEntity.repr {E✝ : Type u_1} [Repr E✝] :
    Entity E✝Std.Format
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def Semantics.Dynamic.Core.Entity.liftPred {E : Type u_1} (p : EBool) :
      Entity EBool

      Lift a predicate to handle ⋆ (false for ⋆)

      Equations
      Instances For
        def Semantics.Dynamic.Core.Entity.liftPred₂ {E : Type u_1} (p : EEBool) :
        Entity EEntity EBool

        Lift a binary predicate (false if either is ⋆)

        Equations
        Instances For

          Is this a real entity (not ⋆)?

          Equations
          Instances For
            @[implicit_reducible]
            Equations
            • One or more equations did not get rendered due to their size.
            def Semantics.Dynamic.Core.Entity.toOption {E : Type u_1} :
            Entity EOption E

            Extract entity if present

            Equations
            Instances For
              @[simp]
              theorem Semantics.Dynamic.Core.Entity.star_falsifies {E : Type u_1} (p : EBool) :
              liftPred p star = false

              ⋆ is the universal falsifier: any lifted predicate yields false for ⋆. Formal statement of @cite{hofmann-2025} §2.1: "R(⋆) = 0 for all R".

              @[simp]
              theorem Semantics.Dynamic.Core.Entity.star_falsifies₂_left {E : Type u_1} (p : EEBool) (e : Entity E) :
              liftPred₂ p star e = false

              ⋆ falsifies binary predicates from the left.

              @[simp]
              theorem Semantics.Dynamic.Core.Entity.star_falsifies₂_right {E : Type u_1} (p : EEBool) (e : Entity E) :
              liftPred₂ p e star = false

              ⋆ falsifies binary predicates from the right.

              @[implicit_reducible]
              instance Semantics.Dynamic.Core.Entity.instInhabited {E : Type u_1} [Inhabited E] :
              Inhabited (Entity E)
              Equations
              @[implicit_reducible]

              Entity is a functor: f <$> .some e = .some (f e) and f <$> .star = .star. This is just Option's functor structure under the renaming someEntity.some, none ↔ Entity.star. Used by the effect-functor-parameterized lookup interface in Theories/Semantics/Dynamic/Context.lean.

              Equations
              • One or more equations did not get rendered due to their size.
              @[implicit_reducible]
              instance Semantics.Dynamic.Core.Entity.instFintype {E : Type u_1} [Fintype E] :
              Fintype (Entity E)
              Equations
              • One or more equations did not get rendered due to their size.
              structure Semantics.Dynamic.Core.ConceptDRef (W : Type u_1) (E : Type u_2) :
              Type (max u_1 u_2)

              A concept discourse referent value: a property annotated with a morphosyntactic count feature.

              Introduced by the NP of an antecedent DP. For example, dog in John owns a dog introduces a concept dref anchored to the property λi.λx[dog(i)(x)] with feature [COUNT].

              Kind anaphors pick up concept drefs and derive kind individuals via Chierchia's ∩ (down) operator:

              • ⟦it⟧ = λP[MASS]. λi. ∩P(i)
              • ⟦they⟧ = λP[COUNT]. λi. ∩(⊔P)(i)

              The ⊔-closure for count nouns introduces pluralization, allowing for the number mismatch between a spider (singular) and they (plural). For mass nouns, ⊔-closure is vacuous (mass predicates are already cumulative), so the singular it is used.

              • property : WEBool

                The property this concept is anchored to: λi.λx[P(i)(x)]

              • feature : MassCount

                Morphosyntactic count feature

              Instances For
                inductive Semantics.Dynamic.Core.DRefVal (W : Type u_1) (E : Type u_2) :
                Type (max u_1 u_2)

                Values that discourse referent indices can map to.

                Standard dynamic semantics restricts assignments to map indices to entities. @cite{krifka-2026} §4 extends this: assignments are partial functions from ℕ to a heterogeneous universe including entities, concepts (properties with count features), and world-time indices.

                • .entity e: an individual referent (standard entity dref)
                • .concept c: a concept dref — the NP property with [MASS]/[COUNT]
                • .index w: a world-time index dref
                • .undef: index not in the domain (models assignment partiality)

                Key property: concept drefs project past operators like negation, disjunction, and modals — they are introduced in the global assignment, not in local sub-assignments. This is what licenses kind anaphora out of anaphoric islands:

                John doesn't own a dog. He is afraid of them.

                The entity dref for a dog is trapped under negation, but the concept dref for 'dog' projects to the global context.

                Instances For
                  def Semantics.Dynamic.Core.DRefVal.getEntity {W : Type u_1} {E : Type u_2} :
                  DRefVal W EOption E

                  Extract entity value, if present.

                  Equations
                  Instances For
                    def Semantics.Dynamic.Core.DRefVal.getConcept {W : Type u_1} {E : Type u_2} :
                    DRefVal W EOption (ConceptDRef W E)

                    Extract concept dref, if present.

                    Equations
                    Instances For
                      def Semantics.Dynamic.Core.DRefVal.getIndex {W : Type u_1} {E : Type u_2} :
                      DRefVal W EOption W

                      Extract world-time index, if present.

                      Equations
                      Instances For

                        Is this index in the domain of the assignment?

                        Equations
                        Instances For
                          def Semantics.Dynamic.Core.DRefVal.liftEntityPred {W : Type u_1} {E : Type u_2} (p : EBool) :
                          DRefVal W EBool

                          Lift a predicate on entities to DRefVal (false for non-entities).

                          Equations
                          Instances For
                            def Semantics.Dynamic.Core.DRefVal.liftConceptPred {W : Type u_1} {E : Type u_2} (p : ConceptDRef W EBool) :
                            DRefVal W EBool

                            Lift a predicate on concepts to DRefVal (false for non-concepts).

                            Equations
                            Instances For
                              @[reducible, inline]

                              Variable indices for discourse referents.

                              We use natural numbers but provide type wrappers for clarity.

                              Equations
                              Instances For

                                A propositional variable (names a propositional dref).

                                Propositional variables track local contexts - the set of worlds where an individual dref was introduced.

                                • idx :
                                Instances For
                                  def Semantics.Dynamic.Core.instDecidableEqPVar.decEq (x✝ x✝¹ : PVar) :
                                  Decidable (x✝ = x✝¹)
                                  Equations
                                  Instances For
                                    Equations
                                    Instances For
                                      Equations
                                      Instances For

                                        An individual variable (names an individual dref).

                                        • idx :
                                        Instances For
                                          def Semantics.Dynamic.Core.instDecidableEqIVar.decEq (x✝ x✝¹ : IVar) :
                                          Decidable (x✝ = x✝¹)
                                          Equations
                                          Instances For
                                            Equations
                                            Instances For
                                              Equations
                                              Instances For

                                                A concept variable (names a concept dref).

                                                Concept variables are indices into the assignment that map to ConceptDRef values — properties annotated with [MASS]/[COUNT].

                                                • idx :
                                                Instances For
                                                  def Semantics.Dynamic.Core.instDecidableEqCVar.decEq (x✝ x✝¹ : CVar) :
                                                  Decidable (x✝ = x✝¹)
                                                  Equations
                                                  Instances For
                                                    Equations
                                                    Instances For
                                                      Equations
                                                      Instances For
                                                        @[reducible, inline]

                                                        A situation variable (names a situation dref).

                                                        Parallel to IVar for individuals and PVar for propositions; like Var := Nat above, kept as an abbrev so it inherits DecidableEq/Repr/Hashable/numeric literals from Nat.

                                                        Used by Mendes 2025's CDRT analysis of the Subordinate Future, where situation drefs are introduced by SUBJ and retrieved by IND across clause boundaries (see Theories/Semantics/{Tense,Mood}/Dynamic.lean).

                                                        Equations
                                                        Instances For
                                                          structure Semantics.Dynamic.Core.ICDRTAssignment (W : Type u_1) (E : Type u_2) :
                                                          Type (max u_1 u_2)

                                                          An ICDRT assignment maps variables to values.

                                                          In ICDRT, we need to track two kinds of assignments:

                                                          1. Individual variable assignments: IVar → Entity E
                                                          2. Propositional variable assignments: PVar → Set W

                                                          This is used by intensional dynamic semantics (Dynamic/Core/Intensional.lean); simpler theories can use Nat → E.

                                                          • indiv : IVarWEntity E

                                                            Individual variable assignment: intensional individual drefs (individual concepts). Each variable maps worlds to entities, possibly ⋆. In @cite{hofmann-2025}'s notation: type s(we), i.e., for each variable v, v(i) is a function from worlds to entities. v(i)(w) = ⋆ when v has no referent in w.

                                                          • prop : PVarSet W

                                                            Propositional variable assignment

                                                          Instances For

                                                            Empty assignment (all variables map to ⋆ / empty set)

                                                            Equations
                                                            • One or more equations did not get rendered due to their size.
                                                            Instances For

                                                              Update individual variable with an individual concept (world-dependent).

                                                              Equations
                                                              Instances For

                                                                Update individual variable with a constant entity (world-invariant). Convenience for cases where the entity is the same in all worlds.

                                                                Equations
                                                                Instances For
                                                                  def Semantics.Dynamic.Core.ICDRTAssignment.updateProp {W : Type u_1} {E : Type u_2} (g : ICDRTAssignment W E) (p : PVar) (s : Set W) :

                                                                  Update propositional variable

                                                                  Equations
                                                                  Instances For
                                                                    def Semantics.Dynamic.Core.PDref (W : Type u_1) (E : Type u_2) :
                                                                    Type (max u_2 u_1)

                                                                    A propositional discourse referent: s(wt) in Hofmann's notation.

                                                                    Maps each assignment to a set of worlds (the "local context" where the associated individual dref has a referent).

                                                                    In Hofmann's notation: type s(wt) = s → wt = assignment → (world → truth)

                                                                    For simpler dynamic theories that don't distinguish propositional drefs, this can be instantiated with a trivial assignment type.

                                                                    Equations
                                                                    Instances For

                                                                      Simpler propositional dref without assignment dependence.

                                                                      Equations
                                                                      Instances For
                                                                        def Semantics.Dynamic.Core.PDref.top {W : Type u_1} {E : Type u_2} :
                                                                        PDref W E

                                                                        The tautological propositional dref (all worlds)

                                                                        Equations
                                                                        Instances For
                                                                          def Semantics.Dynamic.Core.PDref.bot {W : Type u_1} {E : Type u_2} :
                                                                          PDref W E

                                                                          The contradictory propositional dref (no worlds)

                                                                          Equations
                                                                          Instances For
                                                                            def Semantics.Dynamic.Core.PDref.ofProp {W : Type u_1} {E : Type u_2} (p : WProp) :
                                                                            PDref W E

                                                                            Propositional dref from a classical proposition

                                                                            Equations
                                                                            Instances For
                                                                              def Semantics.Dynamic.Core.PDref.inter {W : Type u_1} {E : Type u_2} (φ ψ : PDref W E) :
                                                                              PDref W E

                                                                              Intersection of propositional drefs

                                                                              Equations
                                                                              • φ.inter ψ g = φ g ψ g
                                                                              Instances For
                                                                                def Semantics.Dynamic.Core.PDref.union {W : Type u_1} {E : Type u_2} (φ ψ : PDref W E) :
                                                                                PDref W E

                                                                                Union of propositional drefs

                                                                                Equations
                                                                                • φ.union ψ g = φ g ψ g
                                                                                Instances For
                                                                                  def Semantics.Dynamic.Core.IDref (W : Type u_1) (E : Type u_2) :
                                                                                  Type (max u_1 u_2)

                                                                                  An individual discourse referent: s(we) in Hofmann's notation.

                                                                                  Maps each assignment and world to an entity (possibly ⋆).

                                                                                  In Hofmann's notation: type s(we) = s → we = assignment → world → entity

                                                                                  Equations
                                                                                  Instances For
                                                                                    def Semantics.Dynamic.Core.SimpleIDref (W : Type u_1) (E : Type u_2) :
                                                                                    Type (max u_1 u_2)

                                                                                    Simpler individual dref using Nat → E assignments (for standard dynamic semantics).

                                                                                    Equations
                                                                                    Instances For
                                                                                      def Semantics.Dynamic.Core.IDref.const {W : Type u_1} {E : Type u_2} (e : Entity E) :
                                                                                      IDref W E

                                                                                      Constant individual dref (same entity in all contexts)

                                                                                      Equations
                                                                                      Instances For
                                                                                        def Semantics.Dynamic.Core.IDref.undef {W : Type u_1} {E : Type u_2} :
                                                                                        IDref W E

                                                                                        The undefined individual dref (always ⋆)

                                                                                        Equations
                                                                                        Instances For
                                                                                          def Semantics.Dynamic.Core.IDref.ofVar {W : Type u_1} {E : Type u_2} (v : IVar) :
                                                                                          IDref W E

                                                                                          Variable lookup dref

                                                                                          Equations
                                                                                          Instances For
                                                                                            def Semantics.Dynamic.Core.IDref.satisfies {W : Type u_1} {E : Type u_2} (d : IDref W E) (p : EWBool) :
                                                                                            ICDRTAssignment W EWBool

                                                                                            Apply predicate to individual dref

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

                                                                                              A local context is a propositional dref that tracks WHERE an individual dref was introduced.

                                                                                              In "Either there's no bathroom, or it's upstairs", the bathroom is introduced in the local context of the first disjunct. The propositional dref p_bathroom tracks: "worlds where there is a bathroom" (the local context of the positive update).

                                                                                              Equations
                                                                                              Instances For
                                                                                                def Semantics.Dynamic.Core.dynamicPredication {W : Type u_1} {E : Type u_2} (R : EWProp) (φ : LocalContext W E) (v : IDref W E) :
                                                                                                ICDRTAssignment W EWProp

                                                                                                Dynamic predication relative to a local context.

                                                                                                R_φ(v) is true iff R(v) holds in all worlds of the local context φ.

                                                                                                In Hofmann's system: ⟦R_φ(v)⟧^g,w = 1 iff ∀w' ∈ φ^g: R(v^g(w'))

                                                                                                This ensures anaphora is only felicitous when the referent exists throughout the relevant local context.

                                                                                                Equations
                                                                                                Instances For
                                                                                                  def Semantics.Dynamic.Core.entityDomain {W : Type u_1} {E : Type u_2} (p : Set W) (dref : WEntity E) :
                                                                                                  Set E

                                                                                                  The entity domain in a local context.

                                                                                                  DOM_e(p) = { e | e is defined throughout p }

                                                                                                  For individual drefs that map to ⋆ in some worlds of p, those drefs are not in the entity domain of p.

                                                                                                  Equations
                                                                                                  Instances For
                                                                                                    def Semantics.Dynamic.Core.accessibleIn {W : Type u_1} {E : Type u_2} (e : E) (p : Set W) (dref : WEntity E) :

                                                                                                    An entity is accessible in a local context if it exists throughout.

                                                                                                    Equations
                                                                                                    Instances For