@cite{elbourne-2013}: Situation-Semantic Definite Descriptions @cite{elbourne-2013} #
@cite{barwise-perry-1983} @cite{elbourne-2005} @cite{heim-1982} @cite{postal-1966} @cite{schwarz-2009} @cite{kamp-1981} @cite{stanley-szab-2000} @cite{tonhauser-beaver-roberts-simons-2013} @cite{roberts-2012} @cite{donnellan-1966} @cite{kripke-1977} @cite{karttunen-1974}
Formalizes the core theoretical machinery and empirical predictions from:
Elbourne, P. (2013). Definite Descriptions. Oxford Studies in Semantics and Pragmatics 1.
Elbourne argues that definite descriptions have a Fregean/Strawsonian semantics — they are type e, introduce a presupposition of existence + uniqueness, and are evaluated relative to situations (parts of worlds).
The single lexical entry ⟦the⟧ = λf.λs : ∃!x f(x)(s) = 1. ιx f(x)(s) = 1 unifies:
- Referential vs attributive uses (Ch 5): free vs bound situation pronoun
- Presupposition projection (Ch 4): domain conditions + λ-Conversion
- Donkey anaphora (Ch 6): pronouns = the + NP-deletion; minimal situations
- De re / de dicto (Ch 7): scope of situation binding, not DP scope
- Incomplete definites (Ch 9): situation restricts evaluation domain
- Existence entailments (Ch 8): presupposition projects to belief states
Key Results #
the_sit/the_sit': Elbourne's situation-relative ⟦the⟧the_sit_at_world_eq_the_uniq_w: specializes to existingthe_uniq_wattributive_is_the_sit_bound: Donnellan's attributive =the_sit'(bound s)donkey_uniqueness_from_minimality: minimal situations yield uniquenesspronoun_is_definite_article: ⟦it⟧ = ⟦the⟧the_sit_assertion_implies_presup: assertion entails presupposition
Empirical Chain #
Fragments/English/Determiners.lean
"the": qforce =.definite → the_sit / the_sit'
Fragments/English/Pronouns.lean
"it"/"he"/"she": pronounType =.personal, person =.third → the_sit' + NP-deletion
↓
(this file: theory + empirical predictions)
referential/attributive → truth values → match empirical judgments
incomplete definites → situation-relative uniqueness
donkey anaphora → minimality → uniqueness
A situation frame: the ontological foundation for Elbourne's system.
Situations are parts of worlds, ordered by a part-of relation ≤. Worlds are maximal situations. Properties and quantifiers are evaluated relative to situations rather than worlds, enabling situation-dependent uniqueness and domain restriction.
Based on @cite{barwise-perry-1983}: situations are "individuals having properties and standing in relations at various spatiotemporal locations". @cite{kratzer-1989}: situations are parts of worlds with a mereological structure.
- Sit : Type
Domain of situations (D_s) — includes both partial situations and worlds
- Ent : Type
Domain of entities (D_e)
Part-of relation (≤): s₁ ≤ s₂ means s₁ is part of s₂
Reflexivity: every situation is part of itself
Transitivity: part-of is transitive
Antisymmetry: mutual part-of implies identity
Instances For
A world is a maximal situation — one that no other situation properly extends.
Instances For
A situation s is minimal for property P iff P holds at s and at no proper part of s. Minimality is key for donkey anaphora (Ch 6): in a minimal situation where "a farmer owns a donkey", there is exactly one farmer and one donkey, securing uniqueness.
Instances For
⟦the⟧ in Elbourne's system: the situation-relative Fregean definite.
⟦the⟧ = λf_{⟨e,st⟩}.λs : s ∈ D_s ∧ ∃!x f(x)(s) = 1. ιx f(x)(s) = 1
Takes a restrictor (property of entities relative to situations) and a situation, presupposes existence+uniqueness in that situation, and returns the unique satisfier.
Built from the canonical presupOfReferent combinator with
russellIotaList as the per-situation referent selector.
The situation parameter s may be:
- Free (referential use, Ch 5): mapped to a contextually salient s*
- Bound (attributive use, Ch 5): bound by a higher operator (ς, Σ)
- Bound by quantifier (donkey anaphora, Ch 6): bound by always/GEN
Equations
- Elbourne2013.the_sit F domain restrictor scope = Core.Presupposition.PrProp.presupOfReferent (fun (s : F.Sit) => Core.Nominal.russellIotaList domain fun (e : F.Ent) => restrictor e s) scope
Instances For
the_sit instantiated with bare type parameters (no SituationFrame).
Coincides with Donnellan.definitePrProp — the same Russellian iota
factored through presupOfReferent.
Equations
- Elbourne2013.the_sit' domain restrictor scope = Core.Presupposition.PrProp.presupOfReferent (fun (w : W) => Core.Nominal.russellIotaList domain fun (e : E) => restrictor e w) scope
Instances For
the_sit' and Donnellan.definitePrProp denote the same PrProp:
both factor through presupOfReferent applied to a Russellian iota
over the domain. The two names reflect different theoretical lineages
(Elbourne's situation semantics vs. Donnellan's attributive use); the
denotation is one and the same.
The presupposition of the_sit' is determined solely by the filter result.
A true assertion entails a satisfied presupposition.
Donnellan's attributive semantics IS the_sit' with a bound situation
variable.
Uniqueness in donkey contexts derives from minimality of situations.
Donnellan's referential/attributive distinction maps to Elbourne's free/bound situation variable distinction.
Equations
Instances For
Mapping is total and injective.
- sentence : String
The sentence
- speakerPresupposes : Bool
Does the speaker presuppose existence?
- subjectBelieves : Bool
Does the subject believe in existence?
- existenceActual : Bool
Is existence actually the case?
- elbournePrediction : String
Elbourne's prediction
- source : String
Source
Instances For
- situationVariable : IncompletenessSource
- relationVariable : IncompletenessSource
- pragmaticEnrichment : IncompletenessSource
- explicitApproach : IncompletenessSource
- lotRelationVariable : IncompletenessSource
Instances For
Equations
- Elbourne2013.instDecidableEqIncompletenessSource x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
How the deleted NP content is recovered.
- antecedent : NPDeletionSource
- visualCue : NPDeletionSource
- generalKnowledge : NPDeletionSource
- donkeyRestrictor : NPDeletionSource
Instances For
Equations
- Elbourne2013.instDecidableEqNPDeletionSource x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- pronounForm : String
- deletedNP : String
- npSource : NPDeletionSource
- equivalentDefinite : String
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Elbourne2013.instBEqPronounAsDefinite.beq x✝¹ x✝ = false
Instances For
Equations
Pronoun denotation: ⟦it⟧ = ⟦the⟧ + NP-deletion.
Equations
- Elbourne2013.pronounDenot domain recoveredNP scope = Elbourne2013.the_sit' domain recoveredNP scope
Instances For
Pronouns = definite articles.
Pronoun assertions entail pronoun presuppositions.
Equations
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.iota a) (Elbourne2013.SitBinder.iota b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.iota index) (Elbourne2013.SitBinder.sigma index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.iota index) (Elbourne2013.SitBinder.sigmaSub index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigma index) (Elbourne2013.SitBinder.iota index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigma a) (Elbourne2013.SitBinder.sigma b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigma index) (Elbourne2013.SitBinder.sigmaSub index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigmaSub index) (Elbourne2013.SitBinder.iota index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigmaSub index) (Elbourne2013.SitBinder.sigma index_1) = isFalse ⋯
- Elbourne2013.instDecidableEqSitBinder.decEq (Elbourne2013.SitBinder.sigmaSub a) (Elbourne2013.SitBinder.sigmaSub b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Elbourne2013.instReprSitBinder = { reprPrec := Elbourne2013.instReprSitBinder.repr }
A situation variable — either free or indexed for binding.
Instances For
Equations
- Elbourne2013.instDecidableEqSitVar.decEq (Elbourne2013.SitVar.free a) (Elbourne2013.SitVar.free b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Elbourne2013.instDecidableEqSitVar.decEq (Elbourne2013.SitVar.free salience) (Elbourne2013.SitVar.bound index) = isFalse ⋯
- Elbourne2013.instDecidableEqSitVar.decEq (Elbourne2013.SitVar.bound index) (Elbourne2013.SitVar.free salience) = isFalse ⋯
- Elbourne2013.instDecidableEqSitVar.decEq (Elbourne2013.SitVar.bound a) (Elbourne2013.SitVar.bound b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Elbourne2013.instReprSitVar = { reprPrec := Elbourne2013.instReprSitVar.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A QUD over worlds induces a "relevance" relation on situations.
Equations
- Elbourne2013.qudRelevantSituation F leDecide q w _hw s = (F.le s w ∧ q.r w s ∧ F.isMinimal (fun (s' : F.Sit) => leDecide s' w && q.sameAnswer w s') s)
Instances For
Bridge 1: "the" → the_sit #
Bridge 3: Pronouns → the_sit + NP-deletion #
Bridge 4: Donnellan → Elbourne #
Bridge 5: Pronoun-as-definite examples #
Equations
- Elbourne2013.donkeyPronounExample = { pronounForm := "it", deletedNP := "donkey", npSource := Elbourne2013.NPDeletionSource.donkeyRestrictor, equivalentDefinite := "the donkey" }
Instances For
Equations
- Elbourne2013.anaphoricPronounExample = { pronounForm := "he", deletedNP := "Junior Dean", npSource := Elbourne2013.NPDeletionSource.antecedent, equivalentDefinite := "the Junior Dean" }
Instances For
Equations
- Elbourne2013.voldemortExample = { pronounForm := "he", deletedNP := "person", npSource := Elbourne2013.NPDeletionSource.generalKnowledge, equivalentDefinite := "the person who hesitates" }
Instances For
Equations
- Elbourne2013.instDecidableEqSit x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprSit.repr Elbourne2013.Sit.sCourtroom prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Sit.sCourtroom")).group prec✝
- Elbourne2013.instReprSit.repr Elbourne2013.Sit.sOffice prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Sit.sOffice")).group prec✝
- Elbourne2013.instReprSit.repr Elbourne2013.Sit.wActual prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Sit.wActual")).group prec✝
Instances For
Equations
- Elbourne2013.instReprSit = { reprPrec := Elbourne2013.instReprSit.repr }
Equations
- Elbourne2013.instDecidableEqEnt x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprEnt = { reprPrec := Elbourne2013.instReprEnt.repr }
Equations
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.jones prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.jones")).group prec✝
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.smith prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.smith")).group prec✝
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.wilson prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.wilson")).group prec✝
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.table1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.table1")).group prec✝
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.table2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.table2")).group prec✝
- Elbourne2013.instReprEnt.repr Elbourne2013.Ent.table3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.Ent.table3")).group prec✝
Instances For
Equations
Instances For
Equations
Instances For
Equations
- Elbourne2013.isInsane Elbourne2013.Ent.jones x✝ = true
- Elbourne2013.isInsane x✝¹ x✝ = false
Instances For
Equations
Instances For
Equations
Instances For
Equations
- Elbourne2013.isTable Elbourne2013.Ent.table1 Elbourne2013.Sit.sOffice = true
- Elbourne2013.isTable Elbourne2013.Ent.table1 Elbourne2013.Sit.wActual = true
- Elbourne2013.isTable Elbourne2013.Ent.table2 Elbourne2013.Sit.wActual = true
- Elbourne2013.isTable Elbourne2013.Ent.table3 Elbourne2013.Sit.wActual = true
- Elbourne2013.isTable x✝¹ x✝ = false
Instances For
Equations
- Elbourne2013.isCoveredWithBooks Elbourne2013.Ent.table1 x✝ = true
- Elbourne2013.isCoveredWithBooks x✝¹ x✝ = false
Instances For
Equations
- Elbourne2013.instDecidableEqDkEnt x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprDkEnt = { reprPrec := Elbourne2013.instReprDkEnt.repr }
Equations
- One or more equations did not get rendered due to their size.
- Elbourne2013.instReprDkEnt.repr Elbourne2013.DkEnt.farmer1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.DkEnt.farmer1")).group prec✝
- Elbourne2013.instReprDkEnt.repr Elbourne2013.DkEnt.farmer2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.DkEnt.farmer2")).group prec✝
Instances For
Equations
- Elbourne2013.instDecidableEqDkSit x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprDkSit.repr Elbourne2013.DkSit.sMin1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.DkSit.sMin1")).group prec✝
- Elbourne2013.instReprDkSit.repr Elbourne2013.DkSit.sMin2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.DkSit.sMin2")).group prec✝
- Elbourne2013.instReprDkSit.repr Elbourne2013.DkSit.wActual prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.DkSit.wActual")).group prec✝
Instances For
Equations
- Elbourne2013.instReprDkSit = { reprPrec := Elbourne2013.instReprDkSit.repr }
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- Elbourne2013.isDonkey Elbourne2013.DkEnt.donkey_a Elbourne2013.DkSit.sMin1 = true
- Elbourne2013.isDonkey Elbourne2013.DkEnt.donkey_b Elbourne2013.DkSit.sMin2 = true
- Elbourne2013.isDonkey Elbourne2013.DkEnt.donkey_a Elbourne2013.DkSit.wActual = true
- Elbourne2013.isDonkey Elbourne2013.DkEnt.donkey_b Elbourne2013.DkSit.wActual = true
- Elbourne2013.isDonkey Elbourne2013.DkEnt.donkey_c Elbourne2013.DkSit.wActual = true
- Elbourne2013.isDonkey x✝¹ x✝ = false
Instances For
Equations
- Elbourne2013.isBeaten Elbourne2013.DkEnt.donkey_a x✝ = true
- Elbourne2013.isBeaten Elbourne2013.DkEnt.donkey_b x✝ = true
- Elbourne2013.isBeaten x✝¹ x✝ = false
Instances For
Equations
- Elbourne2013.donkeyConfig1 = { nounContent := Elbourne2013.isDonkey, sitVar := Elbourne2013.DkSit.sMin1, domain := Elbourne2013.dkEnts }
Instances For
Equations
- Elbourne2013.donkeyConfig2 = { nounContent := Elbourne2013.isDonkey, sitVar := Elbourne2013.DkSit.sMin2, domain := Elbourne2013.dkEnts }
Instances For
Equations
- Elbourne2013.instDecidableEqBSit x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprBSit = { reprPrec := Elbourne2013.instReprBSit.repr }
Equations
- Elbourne2013.instReprBSit.repr Elbourne2013.BSit.actual prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.BSit.actual")).group prec✝
- Elbourne2013.instReprBSit.repr Elbourne2013.BSit.belief prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.BSit.belief")).group prec✝
Instances For
Equations
- Elbourne2013.instDecidableEqBEnt x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Elbourne2013.instReprBEnt.repr Elbourne2013.BEnt.jones prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.BEnt.jones")).group prec✝
- Elbourne2013.instReprBEnt.repr Elbourne2013.BEnt.smith prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.BEnt.smith")).group prec✝
- Elbourne2013.instReprBEnt.repr Elbourne2013.BEnt.mary prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Elbourne2013.BEnt.mary")).group prec✝
Instances For
Equations
- Elbourne2013.instReprBEnt = { reprPrec := Elbourne2013.instReprBEnt.repr }
Equations
Instances For
Equations
Instances For
Equations
- Elbourne2013.isSpy Elbourne2013.BEnt.smith x✝ = true
- Elbourne2013.isSpy x✝¹ x✝ = false
Instances For
Equations
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Elbourne2013.instDecidableEqGhostSit x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Elbourne2013.instReprGhostSit = { reprPrec := Elbourne2013.instReprGhostSit.repr }
Equations
- Elbourne2013.instDecidableEqGhostEnt x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Elbourne2013.instReprGhostEnt = { reprPrec := Elbourne2013.instReprGhostEnt.repr }
Instances For
Equations
- Elbourne2013.isGhost Elbourne2013.GhostEnt.ghost Elbourne2013.GhostSit.belief = true
- Elbourne2013.isGhost x✝¹ x✝ = false
Instances For
Equations
- Elbourne2013.isQuiet Elbourne2013.GhostEnt.ghost x✝ = true
- Elbourne2013.isQuiet x✝¹ x✝ = false