[QGL16]: an RSA model of projective content #
The listener jointly infers the world state and the context set the speaker assumed (CogSci 2016, pp. 1110–1115). Under the right QUD this derives presupposition projection with no special semantic mechanism: L0 answers the QUD within the context set (eq. 5), S1 scores QUD-projected informativity (eq. 6, α = 6), and L1 inverts jointly over worlds and context sets (eq. 7). Domain: 13 utterances × 4 worlds × 9 context sets.
Main results #
qud_now_wTT_eq_wFT: under QUD_now the world marginal cannot show projection — the now-cell aggregation is definitionally symmetric.context_projection: the paper's headline — after "didn't stop smoking", L1 infers a +past context set over −past (and overuniverse,context_projection_over_universe, despite its higher prior).projection_under_qud_max/qud_max_incomplete_projection: under the identity QUD projection is visible at the world level but incomplete (wTT = wFF, Figure 1c).qud_answer_now_true/stopped_qud_answer: L1 recovers the QUD answer.
Implementation notes #
α = 6 is a natural power, so the chain is exact ℚ≥0: the speaker is
RSA.Score.s1 over the QUD-aggregated literal listener (dead cells fall
back to silence — one fallback declaration covers both faces), listeners
are PMF.ofScores of the prior-weighted speaker mass, and each prediction
closes by the ofScores comparison family with one kernel certificate.
The paper uses 15 context sets with 5% noise; we model the 9 derivable from past/now observations — the omitted 6 carry only the noise prior (≥ 18× lower) and do not affect the qualitative predictions.
TODO #
Prove the structural equivalence with [ST25] (factives;
latent = "private assumptions", their fn. 10: the difference from QGL's
"common ground" is interpretive, not computational) and [War22]
(genus-species) — all three compute L1(w, C | u, Q) ∝ S1(u | w, C, Q) · P(w) · P(C) over different domains. Blocked on ScontrasTonhauser2025.lean
reaching the PMF face.
World states #
World state: (past, now) where past = John smoked, now = John smokes. Flat inductive for tactic enumerability.
- wTT : WorldState
- wTF : WorldState
- wFT : WorldState
- wFF : WorldState
Instances For
Equations
- QingGoodmanLassiter2016.instDecidableEqWorldState 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
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
Instances For
Equations
Instances For
Utterances (Table 1, negations, silence) #
Content utterances about John's smoking habits: 6 positive utterances from Table 1 and their 6 negations.
- smokes : Assertion
- doesntSmoke : Assertion
- smoked : Assertion
- didntSmoke : Assertion
- always : Assertion
- notAlways : Assertion
- stopped : Assertion
- notStopped : Assertion
- started : Assertion
- notStarted : Assertion
- never : Assertion
- notNever : Assertion
Instances For
Equations
- QingGoodmanLassiter2016.instDecidableEqAssertion x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Utterances with the null alternative: none is silence, some a a
content assertion from Table 1.
Instances For
Literal semantics #
Literal truth conditions from Table 1. Negation of u is U - ⟦u⟧.
The change-of-state utterances evaluate the corresponding
Features.ChangeOfState.CoSType at the world's temporal projections —
presupposition and assertion by construction
(Features.ChangeOfState.CoSType.eval_iff), not by bridge theorem.
Equations
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.smokes x✝ = x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.doesntSmoke x✝ = !x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.smoked x✝ = x✝.past
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.didntSmoke x✝ = !x✝.past
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.always x✝ = Features.ChangeOfState.CoSType.continuation.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.notAlways x✝ = !Features.ChangeOfState.CoSType.continuation.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.stopped x✝ = Features.ChangeOfState.CoSType.cessation.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.notStopped x✝ = !Features.ChangeOfState.CoSType.cessation.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.started x✝ = Features.ChangeOfState.CoSType.inception.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.notStarted x✝ = !Features.ChangeOfState.CoSType.inception.eval x✝.past x✝.now
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.never x✝ = (!x✝.past && !x✝.now)
- QingGoodmanLassiter2016.assertionMeaning QingGoodmanLassiter2016.Assertion.notNever x✝ = !(!x✝.past && !x✝.now)
Instances For
Literal truth conditions lifted to Utterance: silence is universally
true (RSA.liftMeaning).
Equations
Instances For
Context sets #
Context sets: subsets of worlds representing common ground.
These are the 9 context sets derivable from observations about past and now
(eq. 8). The paper's full model uses 15 non-empty subsets with 5% noise;
the omitted 6 (e.g., change = {(T,F),(F,T)}) have negligible prior.
- pastTrue : ContextSet
- pastFalse : ContextSet
- nowTrue : ContextSet
- nowFalse : ContextSet
- pastTrueNowTrue : ContextSet
- pastTrueNowFalse : ContextSet
- pastFalseNowTrue : ContextSet
- pastFalseNowFalse : ContextSet
- universe : ContextSet
Instances For
Equations
- QingGoodmanLassiter2016.instDecidableEqContextSet 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
Equations
Equations
- One or more equations did not get rendered due to their size.
World-context compatibility: w ∈ C.
Equations
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastTrue x✝ = x✝.past
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastFalse x✝ = !x✝.past
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.nowTrue x✝ = x✝.now
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.nowFalse x✝ = !x✝.now
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastTrueNowTrue x✝ = (x✝.past && x✝.now)
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastTrueNowFalse x✝ = (x✝.past && !x✝.now)
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastFalseNowTrue x✝ = (!x✝.past && x✝.now)
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.pastFalseNowFalse x✝ = (!x✝.past && !x✝.now)
- QingGoodmanLassiter2016.compatibleBool QingGoodmanLassiter2016.ContextSet.universe x✝ = true
Instances For
QUD #
Equations
- QingGoodmanLassiter2016.instDecidableEqQUD 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
- QingGoodmanLassiter2016.instReprQUD = { reprPrec := QingGoodmanLassiter2016.instReprQUD.repr }
Equations
Equations
- One or more equations did not get rendered due to their size.
Priors #
Utterance prior (eq. 1): Pr(u) ∝ 2^{-#content-words(u)}. Negation and auxiliaries excluded from count.
- 2 content words: stopped/started/always/never smoking → 1/4
- 1 content word: smokes/smoked → 1/2
- 0 content words: silence → 1
Equations
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.smokes) = 1 / 2
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.doesntSmoke) = 1 / 2
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.smoked) = 1 / 2
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.didntSmoke) = 1 / 2
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.always) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.notAlways) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.stopped) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.notStopped) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.started) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.notStarted) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.never) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior (some QingGoodmanLassiter2016.Assertion.notNever) = 1 / 4
- QingGoodmanLassiter2016.utterancePrior none = 1
Instances For
Context set prior (eq. 8):
Pr(C) ∝ Σ_{CG ⊆ Obs} P(CG) · δ_{C = ∩CG}.
Each observation enters CommonGround independently with probability 0.4.
P(CommonGround) = 0.4^|CommonGround| × 0.6^(4-|CommonGround|).
- 0 observations (universe): 0.6^4 ∝ 9
- 1 observation (single): 0.4 × 0.6^3 ∝ 6
- 2 observations (pair): 0.4^2 × 0.6^2 ∝ 4
Equations
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.universe = 9
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastTrue = 6
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastFalse = 6
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.nowTrue = 6
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.nowFalse = 6
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastTrueNowTrue = 4
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastTrueNowFalse = 4
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastFalseNowTrue = 4
- QingGoodmanLassiter2016.contextPrior QingGoodmanLassiter2016.ContextSet.pastFalseNowFalse = 4
Instances For
The score chain #
Literal listener within the context set (eq. 5; the uniform world prior cancels, and empty extensions normalize to the zero row).
Equations
- One or more equations did not get rendered due to their size.
Instances For
QUD aggregation of the literal listener (eq. 5): sum over the QUD cell.
Equations
- One or more equations did not get rendered due to their size.
- QingGoodmanLassiter2016.qAgg QingGoodmanLassiter2016.QUD.max cs u QingGoodmanLassiter2016.WorldState.wTT = QingGoodmanLassiter2016.l0Score cs u QingGoodmanLassiter2016.WorldState.wTT
- QingGoodmanLassiter2016.qAgg QingGoodmanLassiter2016.QUD.max cs u QingGoodmanLassiter2016.WorldState.wTF = QingGoodmanLassiter2016.l0Score cs u QingGoodmanLassiter2016.WorldState.wTF
- QingGoodmanLassiter2016.qAgg QingGoodmanLassiter2016.QUD.max cs u QingGoodmanLassiter2016.WorldState.wFT = QingGoodmanLassiter2016.l0Score cs u QingGoodmanLassiter2016.WorldState.wFT
- QingGoodmanLassiter2016.qAgg QingGoodmanLassiter2016.QUD.max cs u QingGoodmanLassiter2016.WorldState.wFF = QingGoodmanLassiter2016.l0Score cs u QingGoodmanLassiter2016.WorldState.wFF
Instances For
Speaker (eq. 6 at α = 6): RSA.Score.s1 over the QUD-aggregated
literal listener with the utterance prior as multiplicative cost; dead
cells fall back to silence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Listener world score (eq. 7, world side): context-prior-weighted speaker mass.
Equations
- QingGoodmanLassiter2016.worldScore qud u w = ∑ cs : QingGoodmanLassiter2016.ContextSet, QingGoodmanLassiter2016.contextPrior cs * QingGoodmanLassiter2016.s1Post qud cs w u
Instances For
Listener context score (eq. 7, context side).
Equations
- QingGoodmanLassiter2016.ctxScore qud u cs = QingGoodmanLassiter2016.contextPrior cs * ∑ w : QingGoodmanLassiter2016.WorldState, QingGoodmanLassiter2016.s1Post qud cs w u
Instances For
World-side pragmatic listener (eq. 7).
Equations
Instances For
Context-side pragmatic listener (eq. 7).
Equations
Instances For
Event marginal of the world-side listener.
Equations
- QingGoodmanLassiter2016.l1WorldEvent qud u P = ∑' (w : QingGoodmanLassiter2016.WorldState), if P w = true then (QingGoodmanLassiter2016.l1World qud u) w else 0
Instances For
Listener predictions #
QUD_now symmetry #
Under QUD_now, wTT and wFT are indistinguishable: qAggQ .now is
definitionally symmetric in the now-cell, so projection must be measured on
the context-set side (l1Ctx), not the world marginal.
QUD answer #
L1 infers the QUD answer now=T from "didn't stop smoking".
World elimination #
"Didn't stop smoking" is literally false at wTF, concentrating L1 on wTT.
now=T dominates now=F among past=T worlds.
Projection under QUD_max (Figure 1c) #
The identity QUD breaks the QUD_now degeneracy — under +past, "didn't stop" narrows to exactly wTT — but projection stays incomplete: wTT = wFF, so the past marginals still coincide.
Projection under QUD_max: wTT > wFT.
Incomplete projection under QUD_max: wTT = wFF (Figure 1c). The involution (past, now) ↦ (¬now, ¬past) fixes ⟦didn't stop⟧ and permutes the context sets prior-preservingly, so world marginals cannot fully register the presupposition.
Context set projection (the paper's main result, Figure 3) #
Under +past, "didn't stop" narrows L0 to wTT (aggregate 1, 1⁶ = 1); under
−past it spreads ((1/2)⁶ = 1/64). S1 rewards informativity, so L1 infers
the speaker assumed a +past common ground — projection as context-set
inference, with (wTT, +past) the joint mode (Figure 3).
The headline: L1 infers a +past context set over −past.
+past beats universe despite the prior (6 vs 9): "didn't stop" narrows
to wTT under +past (1⁶ = 1) but spreads over three worlds under universe
((1/4)⁶).
−now contexts are dispreferred (p. 1114): −now already entails the QUD answer, so "didn't stop smoking" adds nothing there.
"Stopped smoking" #
"Stopped smoking" → L1 infers now=F (the assertion).
Structural properties #
"didn't stop smoking" excludes exactly the stopping world.
Under a +past context set, "didn't stop" is maximally informative for QUD_now: it narrows to exactly wTT.
"stopped smoking" denotes exactly the stopping world (T,F).
"always smoked" denotes exactly (T,T).
"never smoked" denotes exactly (F,F).
Context sets that entail past=T (used for measuring projection).
Equations
- QingGoodmanLassiter2016.entailsPast QingGoodmanLassiter2016.ContextSet.pastTrue = true
- QingGoodmanLassiter2016.entailsPast QingGoodmanLassiter2016.ContextSet.pastTrueNowTrue = true
- QingGoodmanLassiter2016.entailsPast QingGoodmanLassiter2016.ContextSet.pastTrueNowFalse = true
- QingGoodmanLassiter2016.entailsPast x✝ = false
Instances For
3 of 9 context sets entail past=T.