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
Equations
- Semantics.Dynamic.Core.instDecidableEqEntity.decEq (Semantics.Dynamic.Core.Entity.some a) (Semantics.Dynamic.Core.Entity.some b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Semantics.Dynamic.Core.instDecidableEqEntity.decEq (Semantics.Dynamic.Core.Entity.some a) Semantics.Dynamic.Core.Entity.star = isFalse ⋯
- Semantics.Dynamic.Core.instDecidableEqEntity.decEq Semantics.Dynamic.Core.Entity.star (Semantics.Dynamic.Core.Entity.some a) = isFalse ⋯
- Semantics.Dynamic.Core.instDecidableEqEntity.decEq Semantics.Dynamic.Core.Entity.star Semantics.Dynamic.Core.Entity.star = isTrue ⋯
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lift a predicate to handle ⋆ (false for ⋆)
Equations
Instances For
Lift a binary predicate (false if either is ⋆)
Equations
Instances For
Inject regular entity
Instances For
Is this a real entity (not ⋆)?
Equations
Instances For
Extract entity if present
Equations
Instances For
Equations
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 : W → E → Bool
The property this concept is anchored to: λi.λx[P(i)(x)]
- feature : MassCount
Morphosyntactic count feature
Instances For
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.
- entity {W : Type u_1} {E : Type u_2} : E → DRefVal W E
- concept {W : Type u_1} {E : Type u_2} : ConceptDRef W E → DRefVal W E
- index {W : Type u_1} {E : Type u_2} : W → DRefVal W E
- undef {W : Type u_1} {E : Type u_2} : DRefVal W E
Instances For
Extract concept dref, if present.
Equations
Instances For
Lift a predicate on entities to DRefVal (false for non-entities).
Equations
Instances For
Lift a predicate on concepts to DRefVal (false for non-concepts).
Equations
Instances For
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
Equations
- Semantics.Dynamic.Core.instBEqPVar.beq { idx := a } { idx := b } = (a == b)
- Semantics.Dynamic.Core.instBEqPVar.beq x✝¹ x✝ = false
Instances For
Equations
Equations
- Semantics.Dynamic.Core.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
Equations
Instances For
Equations
- Semantics.Dynamic.Core.instBEqIVar.beq { idx := a } { idx := b } = (a == b)
- Semantics.Dynamic.Core.instBEqIVar.beq x✝¹ x✝ = false
Instances For
Equations
Equations
Equations
- Semantics.Dynamic.Core.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
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
Equations
- Semantics.Dynamic.Core.instBEqCVar.beq { idx := a } { idx := b } = (a == b)
- Semantics.Dynamic.Core.instBEqCVar.beq x✝¹ x✝ = false
Instances For
Equations
Equations
Equations
- Semantics.Dynamic.Core.instReprCVar.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
Instances For
An ICDRT assignment maps variables to values.
In ICDRT, we need to track two kinds of assignments:
- Individual variable assignments: IVar → Entity E
- Propositional variable assignments: PVar → Set W
This is used by IntensionalCDRT; simpler theories can use Nat → E.
Individual variable assignment
Propositional variable assignment
Instances For
Empty assignment (all variables map to ⋆ / empty set)
Equations
- Semantics.Dynamic.Core.ICDRTAssignment.empty = { indiv := fun (x : Semantics.Dynamic.Core.IVar) => Semantics.Dynamic.Core.Entity.star, prop := fun (x : Semantics.Dynamic.Core.PVar) => ∅ }
Instances For
Update individual variable
Equations
Instances For
Update propositional variable
Equations
Instances For
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
The tautological propositional dref (all worlds)
Equations
Instances For
The contradictory propositional dref (no worlds)
Equations
Instances For
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
Simpler individual dref using Nat → E assignments (for standard dynamic semantics).
Equations
- Semantics.Dynamic.Core.SimpleIDref W E = ((ℕ → E) → W → E)
Instances For
Constant individual dref (same entity in all contexts)
Equations
- Semantics.Dynamic.Core.IDref.const e x✝¹ x✝ = e
Instances For
The undefined individual dref (always ⋆)
Equations
Instances For
Apply predicate to individual dref
Equations
- d.satisfies p g w = Semantics.Dynamic.Core.Entity.liftPred (fun (e : E) => p e w) (d g w)
Instances For
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
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
- Semantics.Dynamic.Core.dynamicPredication R φ v g x✝ = ∀ w' ∈ φ g, match v g w' with | Semantics.Dynamic.Core.Entity.some e => R e w' | Semantics.Dynamic.Core.Entity.star => False
Instances For
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
- Semantics.Dynamic.Core.entityDomain p dref = {e : E | ∀ w ∈ p, dref w = Semantics.Dynamic.Core.Entity.some e}
Instances For
An entity is accessible in a local context if it exists throughout.
Equations
- Semantics.Dynamic.Core.accessibleIn e p dref = ∀ w ∈ p, dref w = Semantics.Dynamic.Core.Entity.some e