ICDRT discourse referents #
Carrier types of Intensional CDRT ([Hof25]'s intensional extension
of [Mus96]'s Compositional DRT, following [Bra06]'s
Dynamic Ty2): entities extended with the universal falsifier ⋆
(Entity, [Bra06]'s dummy value for referent-less worlds), the
two variable sorts (IVar for individuals, PVar for the propositional
drefs that store local contexts), and the two-sorted assignment
(ICDRT.Assignment — individual drefs as individual concepts
W → Entity E, propositional drefs as Set W).
The system built over these types — updates, dynamic conditions, the
veridicality typology — lives in ICDRT/Basic.lean; the paper-specific
apparatus in Studies/Hofmann2025.lean. (The concept drefs of
[Kri26] live with their consumer in Studies/Krifka2026.lean.)
Entities extended with the universal falsifier ⋆ ([Bra06]; adopted by [Hof25]): individual drefs map to ⋆ in worlds where the referent does not exist — in "There's no bathroom", the bathroom variable maps to ⋆ in all worlds. Lexical relations are axiomatically false of ⋆.
Option E under a renaming, kept as its own inductive for the paper's ⋆
vocabulary and constructor-level pattern matching in consumers.
Instances For
Equations
- DynamicSemantics.ICDRT.instDecidableEqEntity.decEq (DynamicSemantics.ICDRT.Entity.some a) (DynamicSemantics.ICDRT.Entity.some b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- DynamicSemantics.ICDRT.instDecidableEqEntity.decEq (DynamicSemantics.ICDRT.Entity.some a) DynamicSemantics.ICDRT.Entity.star = isFalse ⋯
- DynamicSemantics.ICDRT.instDecidableEqEntity.decEq DynamicSemantics.ICDRT.Entity.star (DynamicSemantics.ICDRT.Entity.some a) = isFalse ⋯
- DynamicSemantics.ICDRT.instDecidableEqEntity.decEq DynamicSemantics.ICDRT.Entity.star DynamicSemantics.ICDRT.Entity.star = isTrue ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Is this a real entity (not ⋆)?
Equations
- (DynamicSemantics.ICDRT.Entity.some a).isSome = True
- DynamicSemantics.ICDRT.Entity.star.isSome = False
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
Entity is a functor: f <$> .some e = .some (f e) and f <$> .star = .star —
Option's functor structure under the renaming some ↔ Entity.some,
none ↔ Entity.star. Used by the effect-functor-parameterized lookup
interface in Semantics/Dynamic/Lookup.lean.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
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
- DynamicSemantics.ICDRT.instDecidableEqPVar.decEq { idx := a } { idx := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- DynamicSemantics.ICDRT.instReprPVar = { reprPrec := DynamicSemantics.ICDRT.instReprPVar.repr }
Equations
- DynamicSemantics.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
Equations
- DynamicSemantics.ICDRT.instHashablePVar.hash { idx := a } = mixHash 0 (hash a)
Instances For
Equations
An individual variable (names an individual dref).
- idx : ℕ
Instances For
Equations
- DynamicSemantics.ICDRT.instDecidableEqIVar.decEq { idx := a } { idx := b } = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- DynamicSemantics.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
Equations
- DynamicSemantics.ICDRT.instReprIVar = { reprPrec := DynamicSemantics.ICDRT.instReprIVar.repr }
Equations
Equations
- DynamicSemantics.ICDRT.instHashableIVar.hash { idx := a } = mixHash 0 (hash a)
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 the ICDRT system (ICDRT/Basic.lean); simpler theories
can use Nat → E.
Individual variable assignment: intensional individual drefs (individual concepts). Each variable maps worlds to entities, possibly ⋆. In [Hof25]'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 : PVar → Set W
Propositional variable assignment
Instances For
Empty assignment (all variables map to ⋆ / empty set)
Equations
- DynamicSemantics.ICDRT.Assignment.empty = { indiv := fun (x : DynamicSemantics.ICDRT.IVar) (x_1 : W) => DynamicSemantics.ICDRT.Entity.star, prop := fun (x : DynamicSemantics.ICDRT.PVar) => ∅ }
Instances For
Update individual variable with an individual concept (world-dependent):
mathlib's Function.update at the indiv field.
Equations
- g.updateIndiv v e = { indiv := Function.update g.indiv v e, prop := g.prop }
Instances For
Update individual variable with a constant entity (world-invariant). Convenience for cases where the entity is the same in all worlds.
Equations
- g.updateIndivConst v e = g.updateIndiv v fun (x : W) => e
Instances For
Update propositional variable: Function.update at the prop field.
Equations
- g.updateProp p s = { indiv := g.indiv, prop := Function.update g.prop p s }