Spector (2017): The pragmatics of plural predication: Homogeneity and non-maximality within the Rational Speech Act model #
Spector reconstructs Križ and Spector's pragmatics of plural predication in the Rational Speech
Act model. A plural definite is ambiguous between an existential and a universal reading, and the
first speaker, unsure which reading the literal listener uses, weighs a message by its expected
utility across the readings (S1_apply_singleton). A message false on some reading throughout
the speaker's answer has utility minus infinity there, which derives Križ and Spector's truth on
all interpretations (S1_apply_singleton_eq_zero_iff). The utility is the literal listener's
probability of the speaker's answer to the question under discussion together with the question.
When the question is what is the case, the students came and the students didn't come are
used only where all or where none of the students came (homogeneity); when it is whether some
of them came, both are existential (nonMaximality), and the listener who hears the students
came entertains that only some came only under that question (L1_the_justSome_ne_zero_iff).
Implementation notes #
- Priors are arguments, with positive mass on every world, question and interpretation, of which the paper's flat priors and its two priors over questions are instances.
- A question maps a world to its answer, yes or no for the polar questions and the world itself for what is the case; the speaker's answer is that answer together with the question.
- The literal listeners of the two interpretations are one measure on pairs of an interpretation
and an answer, and the speaker's belief is the interpretation prior times a point mass at her
answer, so
RSA.speakertakes the expected utility across interpretations.
TODO #
- The higher levels of the recursion and the interpretations of the level-five listener reported in the tables of §3.3 to §3.5.
References #
Equations
- Spector2017.instDecidableEqWorld x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Spector2017.instReprWorld = { reprPrec := Spector2017.instReprWorld.repr }
Equations
- Spector2017.instReprWorld.repr Spector2017.World.none prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.World.none")).group prec✝
- Spector2017.instReprWorld.repr Spector2017.World.justSome prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.World.justSome")).group prec✝
- Spector2017.instReprWorld.repr Spector2017.World.all prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.World.all")).group prec✝
Instances For
Equations
- Spector2017.instFintypeWorld = { elems := { val := ↑Spector2017.World.enumList, nodup := Spector2017.World.enumList_nodup }, complete := Spector2017.instFintypeWorld._proof_1 }
Equations
Equations
- Spector2017.instDecidableEqMessage x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Spector2017.instReprMessage = { reprPrec := Spector2017.instReprMessage.repr }
Equations
- Spector2017.instReprMessage.repr Spector2017.Message.no prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.no")).group prec✝
- Spector2017.instReprMessage.repr Spector2017.Message.some prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.some")).group prec✝
- Spector2017.instReprMessage.repr Spector2017.Message.all prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.all")).group prec✝
- Spector2017.instReprMessage.repr Spector2017.Message.notAll prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.notAll")).group prec✝
- Spector2017.instReprMessage.repr Spector2017.Message.the prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.the")).group prec✝
- Spector2017.instReprMessage.repr Spector2017.Message.notThe prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Message.notThe")).group prec✝
Instances For
Equations
- Spector2017.instFintypeMessage = { elems := { val := ↑Spector2017.Message.enumList, nodup := Spector2017.Message.enumList_nodup }, complete := Spector2017.instFintypeMessage._proof_1 }
Equations
The plural definite is read existentially or universally.
Instances For
Equations
- Spector2017.instDecidableEqInterp x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Spector2017.instReprInterp.repr Spector2017.Interp.exist prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Interp.exist")).group prec✝
- Spector2017.instReprInterp.repr Spector2017.Interp.univ prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.Interp.univ")).group prec✝
Instances For
Equations
- Spector2017.instReprInterp = { reprPrec := Spector2017.instReprInterp.repr }
Equations
- Spector2017.instFintypeInterp = { elems := { val := ↑Spector2017.Interp.enumList, nodup := Spector2017.Interp.enumList_nodup }, complete := Spector2017.instFintypeInterp._proof_1 }
Equations
Equations
- Spector2017.instDecidableEqQUD x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Spector2017.instReprQUD.repr Spector2017.QUD.isSome prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.QUD.isSome")).group prec✝
- Spector2017.instReprQUD.repr Spector2017.QUD.isAll prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.QUD.isAll")).group prec✝
- Spector2017.instReprQUD.repr Spector2017.QUD.whatsTheCase prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Spector2017.QUD.whatsTheCase")).group prec✝
Instances For
Equations
- Spector2017.instReprQUD = { reprPrec := Spector2017.instReprQUD.repr }
Equations
- Spector2017.instFintypeQUD = { elems := { val := ↑Spector2017.QUD.enumList, nodup := Spector2017.QUD.enumList_nodup }, complete := Spector2017.instFintypeQUD._proof_1 }
Equations
The answer to a question at a world: yes or no to a polar question, the world itself to what is the case.
Equations
- Spector2017.QUD.isSome.answer x✝ = Sum.inl (decide (x✝ ≠ Spector2017.World.none))
- Spector2017.QUD.isAll.answer x✝ = Sum.inl (decide (x✝ = Spector2017.World.all))
- Spector2017.QUD.whatsTheCase.answer x✝ = Sum.inr x✝
Instances For
The meaning of a message under an interpretation of the plural definite.
Equations
- Spector2017.meaning x✝ Spector2017.Message.no = {w : Spector2017.World | w = Spector2017.World.none}
- Spector2017.meaning x✝ Spector2017.Message.some = {w : Spector2017.World | w ≠ Spector2017.World.none}
- Spector2017.meaning x✝ Spector2017.Message.all = {w : Spector2017.World | w = Spector2017.World.all}
- Spector2017.meaning x✝ Spector2017.Message.notAll = {w : Spector2017.World | w ≠ Spector2017.World.all}
- Spector2017.meaning Spector2017.Interp.exist Spector2017.Message.the = {w : Spector2017.World | w ≠ Spector2017.World.none}
- Spector2017.meaning Spector2017.Interp.univ Spector2017.Message.the = {w : Spector2017.World | w = Spector2017.World.all}
- Spector2017.meaning Spector2017.Interp.exist Spector2017.Message.notThe = {w : Spector2017.World | w = Spector2017.World.none}
- Spector2017.meaning Spector2017.Interp.univ Spector2017.Message.notThe = {w : Spector2017.World | w ≠ Spector2017.World.all}
Instances For
The costs of the messages.
Equations
Instances For
The answer at a world and a question, together with the question.
Equations
- Spector2017.answer p = (p.2.answer p.1, p.2)
Instances For
The literal listener of an interpretation conditions the prior over worlds and questions on the message.
Equations
- Spector2017.L0 μ ρ i = RSA.listener (μ.prod ρ) (RSA.truthful fun (u : Spector2017.Message) => Prod.fst ⁻¹' Spector2017.meaning i u)
Instances For
The literal listeners' probabilities of the answers, one for each interpretation.
Equations
- Spector2017.answerL0 μ ρ u = MeasureTheory.Measure.sum fun (i : Spector2017.Interp) => MeasureTheory.Measure.map (Prod.mk i) (((Spector2017.L0 μ ρ i).map Spector2017.answer) u)
Instances For
The first speaker is uncertain about the interpretation of the literal listener and weighs a message by its expected utility across interpretations.
Equations
- Spector2017.S1 μ ρ ν α = RSA.speaker α Spector2017.cost (Spector2017.answerL0 μ ρ) fun (p : Spector2017.World × Spector2017.QUD) => ν.prod (MeasureTheory.Measure.dirac (Spector2017.answer p))
Instances For
The pragmatic listener inverts the first speaker against the prior over worlds and questions.
Equations
- Spector2017.L1 μ ρ ν α = RSA.listener (μ.prod ρ) ⇑(Spector2017.S1 μ ρ ν α)
Instances For
The first speaker weighs a message by the geometric mean over interpretations of the literal listener's probability of her answer, to the power of the rationality, times the cost weight: the exponential of the rationality times the expected utility across interpretations.
Under an interpretation, the literal listener gives no probability to an answer exactly when the message is false at every world with that answer.
The first speaker never uses a message at a world when, under some interpretation, it is false at every world with her answer, the principle of truth on all interpretations.
With every interpretation possible, the first speaker uses a message exactly when, under each interpretation, it is true at some world with her answer.
When the question is what is the case, the first speaker uses the only where all of the students came and not the only where none did, so neither where only some did.
When the question is whether some of the students came, the first speaker uses the wherever some did and not the only where none did, as existential quantifiers.
Hearing the, the pragmatic listener takes it to be possible that only some of the students came exactly as an answer to whether some of them did.