@cite{qing-goodman-lassiter-2016} @cite{qing-goodman-lassiter-2016} @cite{scontras-tonhauser-2025} @cite{warstadt-2022} #
RSA Projective Content Model. The original formulation of the joint-inference-over-(world, context) model for presupposition projection. @cite{scontras-tonhauser-2025} and @cite{warstadt-2022} are mathematically equivalent instances applied to different domains.
The Model #
L1 jointly infers the world state and the context set C (what's in the common ground). Projection emerges because:
- "John didn't stop smoking" is under-informative in the full universe
- But it's informative if the listener assumes the speaker has taken "John smoked in the past" for granted (i.e., +past in C)
- L1 infers that C = +past best explains the utterance
Domain: Change-of-State Verbs #
Utterances about John's smoking habit:
- "John stopped smoking" / "John didn't stop smoking"
- "John started smoking" / "John didn't start smoking"
- "John smokes" / "John doesn't smoke" (baselines)
Context sets:
- +past: John smoked in the past is in CG
- -past: John didn't smoke is in CG
- +now: John smokes now is in CG
- -now: John doesn't smoke now is in CG
- U: No constraints (full universe)
Predictions #
"John didn't stop smoking" -> P(+past in C | utterance) > prior (presupposition projects through negation)
QUD sensitivity: projection is stronger when QUD = now? (non-at-issue content projects more)
World state: John's smoking status at two time points.
Following Qing et al., a world is a pair (past, now) where:
- past: John smoked in the past
- now: John smokes now
Instances For
Equations
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
Instances For
Instances For
Context set: which facts are established in the common ground.
Following Qing et al., we model context sets as constraints on worlds. A context set C is the set of worlds compatible with what's taken for granted.
We use named context sets rather than arbitrary subsets for tractability.
- pastTrue : ContextSet
- pastFalse : ContextSet
- nowTrue : ContextSet
- nowFalse : ContextSet
- pastTrueNowTrue : ContextSet
- pastTrueNowFalse : ContextSet
- pastFalseNowTrue : ContextSet
- pastFalseNowFalse : ContextSet
- universe : ContextSet
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- RSA.QingEtAl2016.instBEqContextSet.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
All context sets
Equations
- One or more equations did not get rendered due to their size.
Instances For
World-context compatibility: Is world w compatible with context set C?
This constraint function plays the same role as speakerCredence in S&T
and contextCredence in Warstadt.
Equations
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastTrue w = w.past
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastFalse w = !w.past
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.nowTrue w = w.now
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.nowFalse w = !w.now
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastTrueNowTrue w = (w.past && w.now)
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastTrueNowFalse w = (w.past && !w.now)
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastFalseNowTrue w = (!w.past && w.now)
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.pastFalseNowFalse w = (!w.past && !w.now)
- RSA.QingEtAl2016.compatibleBool RSA.QingEtAl2016.ContextSet.universe w = true
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- RSA.QingEtAl2016.instBEqUtterance.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Activity predicate: "smokes" at the current time.
Equations
Instances For
Activity predicate: "smoked" in the past.
Equations
Instances For
Literal semantics using compositional CoS machinery.
Note: CoS semantics in Montague are defined for (prior state, current state). We interpret:
- presup = constraint on w.past
- assertion = constraint on w.now
For "John stopped smoking":
- presup: w.past = true (John smoked)
- assertion: w.now = false (John doesn't smoke)
Equations
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.stoppedSmoking x✝ = (x✝.past && !x✝.now)
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.notStoppedSmoking x✝ = !(x✝.past && !x✝.now)
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.startedSmoking x✝ = (!x✝.past && x✝.now)
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.notStartedSmoking x✝ = !(!x✝.past && x✝.now)
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.smokes x✝ = x✝.now
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.doesntSmoke x✝ = !x✝.now
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.smoked x✝ = x✝.past
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.didntSmoke x✝ = !x✝.past
- RSA.QingEtAl2016.literalMeaning RSA.QingEtAl2016.Utterance.silence x✝ = true
Instances For
Our semantics follow the CoS pattern: cessation presupposes prior state, asserts negation of current state.
Note: The Montague CoS module defines semantics over a single predicate P, while our worlds have separate past/now fields. The correspondence is:
- "stopped smoking" = prior state held (past=true), current state doesn't (now=false)
- This matches cessation: presup P, assert not-P
Equations
- RSA.QingEtAl2016.instReprQUD = { reprPrec := RSA.QingEtAl2016.instReprQUD.repr }
Equations
- One or more equations did not get rendered due to their size.
- RSA.QingEtAl2016.instReprQUD.repr RSA.QingEtAl2016.QUD.nowQ prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.QingEtAl2016.QUD.nowQ")).group prec✝
- RSA.QingEtAl2016.instReprQUD.repr RSA.QingEtAl2016.QUD.maxQ prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.QingEtAl2016.QUD.maxQ")).group prec✝
Instances For
Equations
Equations
- RSA.QingEtAl2016.instBEqQUD.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Instances For
Equations
QUD projection: two worlds are equivalent if they give the same QUD answer.
Equations
- RSA.QingEtAl2016.qudProject RSA.QingEtAl2016.QUD.nowQ x✝¹ x✝ = (x✝¹.now == x✝.now)
- RSA.QingEtAl2016.qudProject RSA.QingEtAl2016.QUD.pastQ x✝¹ x✝ = (x✝¹.past == x✝.past)
- RSA.QingEtAl2016.qudProject RSA.QingEtAl2016.QUD.maxQ x✝¹ x✝ = (x✝¹.past == x✝.past && x✝¹.now == x✝.now)
- RSA.QingEtAl2016.qudProject RSA.QingEtAl2016.QUD.changeQ x✝¹ x✝ = ((x✝¹.past != x✝¹.now) == (x✝.past != x✝.now))
Instances For
Context set prior: Following Qing et al., context sets derived from "natural observations" about past/now smoking have higher prior.
Complex context sets (like "change") have lower prior.
Equations
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastTrue = 4
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastFalse = 4
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.nowTrue = 4
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.nowFalse = 4
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastTrueNowTrue = 2
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastTrueNowFalse = 2
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastFalseNowTrue = 2
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.pastFalseNowFalse = 2
- RSA.QingEtAl2016.contextPrior RSA.QingEtAl2016.ContextSet.universe = 1
Instances For
Connection to @cite{scontras-tonhauser-2025} and @cite{warstadt-2022} #
This implementation demonstrates that @cite{qing-goodman-lassiter-2016} uses the same mathematical structure as S&T and Warstadt:
| Component | @cite{qing-goodman-lassiter-2016} | @cite{scontras-tonhauser-2025} | @cite{warstadt-2022} |
|---|---|---|---|
| World | (past, now) | (BEL, C) | (hasDog, sick) |
| Latent var | ContextSet | BeliefState | Context |
| Constraint | compatibleBool | speakerCredenceBool | compatibleBool |
| Measure | projectionOfPast | projectionOfC | accommodationStrength |
All three use the latent variable in the BeliefState slot. The differences
are purely domain-specific.
The Unified Equation #
All three implement:
L1(w, C | u, Q) proportional-to S1(u | w, C, Q) * P(w) * P(C)
Where:
- C is the latent "conversational state" variable
- S1 optimizes for L0(Q(w) | u, C, Q)
- L1 jointly infers (world, context)
- Projection = marginal P(C | u) for contexts entailing the presupposition