Warstadt (2022): Presupposition Triggering Reflects Pragmatic Reasoning About Utterance Utility #
Warstadt derives soft presupposition triggers from a listener's inference about the common ground
the speaker assumed. The model is Qing, Goodman and Lassiter's. Within a context set the literal
listener conditions the prior on the utterance and answers the question under discussion (L0),
the speaker is informative about the answer at her world and says nothing false there
(speaker), and the pragmatic listener inverts the speaker jointly over worlds and context sets
(listener).
Main results #
needVisa_nonUS_lt: asked whether Tom needs a visa, a listener who hears Tom doesn't have a green card favours the world where Tom is a non-US citizen over the one where he is a US citizen, at every rationality.freeDrink_exhaustive,freeDrink_nonUS_lt: asked whether Tom gets a free drink, the utterance settles the question in every context set, and the listener still favours the non-US world.notSprinter_exhaustive_iff: not an Olympic sprinter settles which kind of athlete Tom is, at the world where he is another runner, exactly within context sets that exclude the athlete and the non-athlete worlds.other_share_lt: at the non-athlete world not an Olympic sprinter is produced more often than silence and less often than not a runner.
Implementation notes #
- Utterances carry no cost.
- The paper gives a false utterance a utility of minus infinity. Here the speaker who addresses the question is conditioned on the utterances true at her world, which is the same distribution wherever some true utterance has positive weight.
- Shares are evaluated cell by cell from tables of natural-number weights (
weight), certified bydecide, and the listener comparisons are prior-weighted sums over the eight context sets.
TODO #
- The paper reports the free-drink posteriors of its second figure as nearly equal. Under the model as written the non-US world is favoured under both questions.
- The family-genus-species listener of the paper's third figure is not formalized.
References #
The model (3) #
The speaker's weight on an utterance at a world before the rationality exponent (3c), as a
numerator and a denominator. Where the utterance is true it is the literal listener's probability
of the world's answer, the prior weight of the context-set worlds that make the utterance true
and share the answer over that of those that make it true. Where it is false it is 0 over
1.
Equations
- Warstadt2022.weight P cell sem C q u w = if w ∈ sem u then (∑ v ∈ {x ∈ C | x ∈ sem u} with cell q v = cell q w, P v, ∑ v ∈ C with v ∈ sem u, P v) else (0, 1)
Instances For
In the prior over pairs of a world and a context set (3d), a world's weight within a context set is its prior share of the set, and context sets are equally likely.
Equations
- Warstadt2022.pairPrior P = MeasureTheory.Measure.count.withDensity fun (p : W × Finset W) => if p.1 ∈ p.2 then ↑(P p.1) / ∑ v ∈ p.2, ↑(P v) else 0
Instances For
The literal listener within a context set (3a) conditions the prior on the context set and on the utterance, and answers the question.
Equations
- Warstadt2022.L0 P cell sem C q = (RSA.listener ((MeasureTheory.Measure.ofWeights fun (x : W) => ↑(P x)).restrict ↑C) (RSA.truthful sem)).map (cell q)
Instances For
The speaker within a context set (3b) is informative about the answer at her world, with no cost, and says nothing false there (3c).
Equations
- Warstadt2022.speaker P cell sem C q α w = ((RSA.speaker α 0 (⇑(Warstadt2022.L0 P cell sem C q)) MeasureTheory.Measure.dirac) (cell q w))[|{u : U | w ∈ sem u}]
Instances For
The pragmatic listener (3d) inverts the speaker jointly over worlds and context sets, given the question.
Equations
- Warstadt2022.listener P cell sem q α = RSA.listener (Warstadt2022.pairPrior P) fun (p : W × Finset W) => Warstadt2022.speaker P cell sem p.2 q α p.1
Instances For
The pairs whose world is w.
Equations
- Warstadt2022.worldEvent w = Finset.image (fun (C : Finset W) => (w, C)) Finset.univ
Instances For
The listener's preference between two worlds, marginalizing the context set, is the comparison of prior-weighted speaker shares summed over context sets.
At a context-set world of positive prior where the utterance is true, the literal listener is certain of the answer exactly when the two components of the weight agree.
The green card scenario (Table 1) #
Equations
- Warstadt2022.instDecidableEqWorld x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Warstadt2022.instFintypeWorld = { elems := { val := ↑Warstadt2022.World.enumList, nodup := Warstadt2022.World.enumList_nodup }, complete := Warstadt2022.instFintypeWorld._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
- Warstadt2022.instReprWorld.repr Warstadt2022.World.nonUS prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.World.nonUS")).group prec✝
Instances For
Equations
- Warstadt2022.instReprWorld = { reprPrec := Warstadt2022.instReprWorld.repr }
Equations
- Warstadt2022.instInhabitedWorld = { default := Warstadt2022.instInhabitedWorld.default }
Equations
Equations
- Warstadt2022.instDecidableEqUtterance 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.
Equations
- Warstadt2022.instReprUtterance = { reprPrec := Warstadt2022.instReprUtterance.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
The truth conditions follow Table 1, and a negation is the complement.
Equations
- Warstadt2022.Utterance.silence.sem = Set.univ
- Warstadt2022.Utterance.us.sem = {w : Warstadt2022.World | w = Warstadt2022.World.usCitizen}
- Warstadt2022.Utterance.notUS.sem = {w : Warstadt2022.World | w ≠ Warstadt2022.World.usCitizen}
- Warstadt2022.Utterance.gc.sem = {w : Warstadt2022.World | w = Warstadt2022.World.gcHolder}
- Warstadt2022.Utterance.notGC.sem = {w : Warstadt2022.World | w ≠ Warstadt2022.World.gcHolder}
Instances For
Equations
- Warstadt2022.instDecidablePredWorldMemSetSem Warstadt2022.Utterance.silence x✝ = { decide := true, reflects_decide := ⋯ }
- Warstadt2022.instDecidablePredWorldMemSetSem Warstadt2022.Utterance.us x✝ = Warstadt2022.instDecidablePredWorldMemSetSem._aux_2 x✝
- Warstadt2022.instDecidablePredWorldMemSetSem Warstadt2022.Utterance.notUS x✝ = { decide := !decide (x✝ = Warstadt2022.World.usCitizen), reflects_decide := ⋯ }
- Warstadt2022.instDecidablePredWorldMemSetSem Warstadt2022.Utterance.gc x✝ = Warstadt2022.instDecidablePredWorldMemSetSem._aux_5 x✝
- Warstadt2022.instDecidablePredWorldMemSetSem Warstadt2022.Utterance.notGC x✝ = { decide := !decide (x✝ = Warstadt2022.World.gcHolder), reflects_decide := ⋯ }
Does Tom need a visa? Can Tom get a free drink?
Instances For
Equations
- Warstadt2022.instDecidableEqQUD x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Warstadt2022.instReprQUD = { reprPrec := Warstadt2022.instReprQUD.repr }
Equations
- Warstadt2022.instReprQUD.repr Warstadt2022.QUD.needVisa prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.QUD.needVisa")).group prec✝
- Warstadt2022.instReprQUD.repr Warstadt2022.QUD.freeDrink prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.QUD.freeDrink")).group prec✝
Instances For
The answer of a world to a question.
Equations
- Warstadt2022.QUD.needVisa.answer x✝ = decide (x✝ = Warstadt2022.World.nonUS)
- Warstadt2022.QUD.freeDrink.answer x✝ = decide (x✝ = Warstadt2022.World.gcHolder)
Instances For
The cell of a world holds the worlds with the same answer.
Equations
- q.cell w = {x : Warstadt2022.World | q.answer x = q.answer w}
Instances For
The context sets containing the non-US world, and those containing the US-citizen world.
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
Not green card settles the free-drink question in every context set, since at a world where it is true the literal listener is certain of the answer.
It does not settle the visa question. In the universe the literal listener gives the US-citizen world's answer probability one half, while within the context set that Tom is not a US citizen he is certain of the non-US world's answer.
Shares #
The listener over worlds #
The joint listener of the green card scenario.
Equations
Instances For
With the question whether Tom needs a visa, not green card makes the listener favour the non-US world over the US-citizen world at every rationality. Within the context set that Tom is not a US citizen the utterance answers the question, whereas at the US-citizen world US citizen always answers it at least as well (Figure 1).
With the question whether Tom gets a free drink, not green card is an exhaustive answer in every context set, yet the listener still favours the non-US world. At the US-citizen world US citizen is an equally good answer, so the utterance's share there never exceeds a half (Figure 2 reports the two posteriors as nearly equal).
The family-genus-species scenario (Table 2) #
Equations
- Warstadt2022.instDecidableEqHobby x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Warstadt2022.instFintypeHobby = { elems := { val := ↑Warstadt2022.Hobby.enumList, nodup := Warstadt2022.Hobby.enumList_nodup }, complete := Warstadt2022.instFintypeHobby._proof_1 }
Equations
- Warstadt2022.instReprHobby = { reprPrec := Warstadt2022.instReprHobby.repr }
Equations
- One or more equations did not get rendered due to their size.
- Warstadt2022.instReprHobby.repr Warstadt2022.Hobby.runner prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.Hobby.runner")).group prec✝
- Warstadt2022.instReprHobby.repr Warstadt2022.Hobby.athlete prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.Hobby.athlete")).group prec✝
- Warstadt2022.instReprHobby.repr Warstadt2022.Hobby.other prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Warstadt2022.Hobby.other")).group prec✝
Instances For
Equations
- Warstadt2022.instInhabitedHobby = { default := Warstadt2022.instInhabitedHobby.default }
Equations
The three predicates, affirmed or negated, and silence.
- silence : HobbyUtterance
- sprinter : HobbyUtterance
- notSprinter : HobbyUtterance
- runner : HobbyUtterance
- notRunner : HobbyUtterance
- athlete : HobbyUtterance
- notAthlete : HobbyUtterance
Instances For
Equations
- Warstadt2022.instDecidableEqHobbyUtterance 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.
Equations
- Warstadt2022.instReprHobbyUtterance = { reprPrec := Warstadt2022.instReprHobbyUtterance.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
The truth conditions of Table 2, respecting the hierarchy of the predicates.
Equations
- Warstadt2022.HobbyUtterance.silence.sem = Set.univ
- Warstadt2022.HobbyUtterance.sprinter.sem = {w : Warstadt2022.Hobby | w = Warstadt2022.Hobby.sprinter}
- Warstadt2022.HobbyUtterance.notSprinter.sem = {w : Warstadt2022.Hobby | w ≠ Warstadt2022.Hobby.sprinter}
- Warstadt2022.HobbyUtterance.runner.sem = {w : Warstadt2022.Hobby | w = Warstadt2022.Hobby.sprinter ∨ w = Warstadt2022.Hobby.runner}
- Warstadt2022.HobbyUtterance.notRunner.sem = {w : Warstadt2022.Hobby | ¬(w = Warstadt2022.Hobby.sprinter ∨ w = Warstadt2022.Hobby.runner)}
- Warstadt2022.HobbyUtterance.athlete.sem = {w : Warstadt2022.Hobby | w ≠ Warstadt2022.Hobby.other}
- Warstadt2022.HobbyUtterance.notAthlete.sem = {w : Warstadt2022.Hobby | w = Warstadt2022.Hobby.other}
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Warstadt2022.instDecidablePredHobbyMemSetSem Warstadt2022.HobbyUtterance.silence x✝ = { decide := true, reflects_decide := ⋯ }
- Warstadt2022.instDecidablePredHobbyMemSetSem Warstadt2022.HobbyUtterance.sprinter x✝ = Warstadt2022.instDecidablePredHobbyMemSetSem._aux_2 x✝
- Warstadt2022.instDecidablePredHobbyMemSetSem Warstadt2022.HobbyUtterance.notSprinter x✝ = { decide := !decide (x✝ = Warstadt2022.Hobby.sprinter), reflects_decide := ⋯ }
- Warstadt2022.instDecidablePredHobbyMemSetSem Warstadt2022.HobbyUtterance.athlete x✝ = { decide := !decide (x✝ = Warstadt2022.Hobby.other), reflects_decide := ⋯ }
- Warstadt2022.instDecidablePredHobbyMemSetSem Warstadt2022.HobbyUtterance.notAthlete x✝ = Warstadt2022.instDecidablePredHobbyMemSetSem._aux_8 x✝
The prior of Table 2, in percent.
Equations
Instances For
Under the question which world it is, every cell is a singleton.
Equations
- Warstadt2022.which x✝ w = {w}
Instances For
The universe of hobbies.
Equations
Instances For
Not an Olympic sprinter settles the question at the runner world exactly within context sets that exclude the athlete and the non-athlete world, so the accommodation the paper describes is of a common ground in which Tom is a runner or a sprinter.
Not a runner settles the question at the athlete world exactly within context sets that exclude the non-athlete world.