Interpretation game (Franke §6): states are equivalence classes over alternative truth patterns.
- State : Type
Type of states (equivalence classes of worlds)
- Message : Type
Type of messages (alternative utterances)
Semantic meaning: is message m true at state s?
Prior probability over states
Fintype instances
- stateDecEq : DecidableEq self.State
- messageDecEq : DecidableEq self.Message
Instances For
States where message m is true
Instances For
Messages true at state s
Instances For
Informativity of a message (reciprocal of true states, as ratio)
Equations
- G.informativity m = if (G.trueStates m).card = 0 then 0 else 1 / ↑(G.trueStates m).card
Instances For
A hearer strategy: P(state | message)
Instances For
A speaker strategy: P(message | state)
Instances For
Uniform distribution over states where m is true
Equations
- One or more equations did not get rendered due to their size.
Instances For
Support of hearer's response to message m
Instances For
Support of speaker's choice at state s
Instances For
Best response speaker: choose messages that maximize hearer success
Equations
- One or more equations did not get rendered due to their size.
Instances For
Best response speaker always gives non-negative probabilities.
Best response speaker gives zero probability to false messages.
Best response speaker probabilities sum to at most 1 at any state.
For states with at least one true message, this is exactly 1 (uniform over optimal). For states with no true messages, this is 0.
L₀: Literal listener (Franke Def. 22)
Equations
Instances For
Hearer update: Given speaker strategy, compute posterior.
L_{n+1}(s | m) ∝ S_n(m | s) · P(s)
This is Bayes' rule with the speaker strategy as likelihood.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Speaker update: Best response to hearer strategy.
S_{n+1}(m | s) = argmax_m L_n(s | m)
Uniform over optimal messages.
Equations
Instances For
One full IBR iteration step
Equations
- RSA.IBR.ibrStep G H = RSA.IBR.hearerUpdate G (RSA.IBR.speakerUpdate G H)
Instances For
IBR reasoning for n iterations starting from L₀
Equations
- RSA.IBR.ibrN G 0 = RSA.IBR.L0 G
- RSA.IBR.ibrN G n_2.succ = RSA.IBR.ibrStep G (RSA.IBR.ibrN G n_2)
Instances For
S₁: First pragmatic speaker
Equations
- RSA.IBR.S1 G = RSA.IBR.speakerUpdate G (RSA.IBR.L0 G)
Instances For
L₂: First pragmatic listener
Equations
- RSA.IBR.L2 G = RSA.IBR.hearerUpdate G (RSA.IBR.S1 G)
Instances For
Check if hearer strategy is a fixed point of IBR
Equations
- RSA.IBR.isIBRFixedPoint G H = ∀ (m : G.Message) (s : G.State), H.respond m s = (RSA.IBR.ibrStep G H).respond m s
Instances For
At a fixed point with non-negative priors, H.respond is non-negative.
This follows from the fact that H = ibrStep G H, and ibrStep uses hearerUpdate which gives non-negative values when priors are non-negative.
The pragmatic interpretation: support of the IBR fixed point listener
Equations
- RSA.IBR.pragmaticSupport G H m = H.support m
Instances For
EG(S, R) = Σ_t Pr(t) × Σ_m S(t,m) × R(m,t): expected communication success.
Equations
Instances For
Lemma 3a: best-response speaker improves EG.
Lemma 3b: Bayesian hearer update improves EG.
Expected gain is bounded above by 1 (probability of perfect communication).
Theorem 3: IBR converges. EG is monotone increasing and bounded ⟹ fixed point.
Number of messages the speaker uses at state t (|S(t)|).
Instances For
At the fixed point with flat priors, fewer speaker options ↔ higher hearer probability (eq. 131).
Best-response speaker uses ⊆ true messages, so speakerOptionCount ≤ |trueMessages|.
IBR = EXH (Franke Main Result) #
@cite{franke-2011} @cite{spector-2016}
The key insight of @cite{franke-2011} is that IBR reasoning yields exactly the same interpretation as exhaustive interpretation (exhMW).
Theorem (@cite{franke-2011}, Section 9.3): For an interpretation game G, the IBR fixed point listener's support for message m equals the set of minimal m-worlds relative to the alternative ordering.
In notation: support(L∞(· | m)) = exhMW(ALT, m)
This connects game-theoretic pragmatics to grammatical exhaustification.
Results from Section 10 and Appendix A #
Equation (107): R₁ characterization R₁(m) = {t ∈ ⟦m⟧ | ¬∃t′ ∈ ⟦m⟧ : |R⁻¹₀(t′)| < |R⁻¹₀(t)|}
This selects states where fewest alternatives are true.
Fact 1 (Section 10): R₁(mₛ) ⊆ ExhMM(S) Under "homogeneity" of alternatives, R₁(mₛ) = ExhMM(S).
Fact 3 (Appendix A): ExhMM(S, Alt) ⊆ ExhIE(S, Alt)
Fact 4 (Appendix A): ExhMM = ExhIE when Alt satisfies closure conditions.
Convert interpretation game to alternative set for exhaustification. Converts Bool meaning to Prop' by using equality with true.
Equations
Instances For
The prejacent proposition for a message (Bool → Prop conversion)
Equations
- RSA.IBR.prejacent G m s = (G.meaning m s = true)
Instances For
Number of alternatives (messages) true at state s. This is |R⁻¹₀(s)| in Franke's notation.
Equations
- RSA.IBR.alternativeCount G s = (G.trueMessages s).card
Instances For
A state s is minimal among m-worlds if no m-world has fewer true alternatives. This characterizes R₁(m) per equation (107).
Equations
- RSA.IBR.isMinimalByAltCount G m s = (G.meaning m s = true ∧ ∀ (s' : G.State), G.meaning m s' = true → RSA.IBR.alternativeCount G s ≤ RSA.IBR.alternativeCount G s')
Instances For
States with minimum alternative count among m-worlds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Key lemma: s' <_ALT s implies trueMessages s' ⊂ trueMessages s.
This is the bridge between the <_ALT ordering and alternative counting.
Franke Fact 1 (containment direction): Level-1 receiver interpretation is contained in minimal-models exhaustification.
R₁(mₛ) ⊆ ExhMM(S)
Proof idea: If s is selected by R₁ (minimum alternative count), then s is minimal with respect to <_ALT because:
- s' <_ALT s means s' makes strictly fewer alternatives true
- But R₁ already selected for minimum alternative count
- So no such s' can exist among m-worlds
This is the containment direction; equality requires "homogeneity".
Under homogeneity, trueMessages determines states uniquely. This means: trueMessages s' = trueMessages s → s' = s
Under homogeneity, strict subset of trueMessages implies <_ALT. Note: hGame is not actually used in this proof, but kept for consistency.
Franke Fact 1: R₁ ⊆ ExhMW (containment, not equality).
This is the main soundness result: if s is selected by IBR level-1 reasoning (has minimum alternative count among m-worlds), then s is in ExhMW.
Why not equality? Franke notes (Section 10): "The reverse, however, is not necessarily the case: it may well be that two worlds w, v ∈ S are both minimal with respect to <_ALT, while w makes more alternatives true than v."
In other words:
- R₁ selects states with minimum |{A : A(s)}| among m-worlds
- ExhMW selects states minimal in <_ALT (subset ordering on alternatives)
- Minimum cardinality ⟹ minimal in subset ordering ✓
- Minimal in subset ordering ⟹ minimum cardinality ✗
For equality, we'd need <_ALT to be total on m-worlds (a "chain" structure). This is a stronger condition that doesn't always hold.
The alternative ordering is total on m-worlds if for any two states where m is true, one's true alternatives are a subset of the other's.
This "chain condition" ensures that minimal cardinality ⟺ minimal in <_ALT.
When does this hold?
- When alternatives form a linear scale (e.g., ⟨some, most, all⟩)
- When alternatives are conjunctive closures of simpler alternatives
- When states are defined as equivalence classes by alternative patterns
When does this fail?
- When alternatives can be true independently (e.g., "red" and "tall")
- When the alternative space has incomparable elements
Equations
- RSA.IBR.altOrderingTotalOnMessage G m = ∀ (s s' : G.State), G.meaning m s = true → G.meaning m s' = true → G.trueMessages s ⊆ G.trueMessages s' ∨ G.trueMessages s' ⊆ G.trueMessages s
Instances For
Converse direction under totality: ExhMW ⊆ R₁.
When <_ALT is total on m-worlds, minimal in the subset ordering implies minimum cardinality.
R₁ = ExhMW under totality: Full equivalence when alternatives form a chain.
This is the precise condition under which Franke's Fact 1 becomes an equality.
Franke Fact 3 (Appendix A): ExhMW(S, Alt) ⊆ ExhIE(S, Alt)
This is the easier direction: minimal-models is always at least as strong as innocent exclusion.
Proof (from Franke Appendix A): If w ∈ ExhMM(S, Alt), then w is minimal w.r.t. <Alt in S. This means w makes a maximal set of alternatives false. So there exists A ∈ Max-CE(S, Alt) with w ∈ S ∧ ⋀{a∈A}¬a. Since IE = ⋂ Max-CE, w satisfies all propositions in IE. Hence w ∈ ExhIE(S, Alt).
This is already proved as prop6_exhMW_entails_exhIE in Exhaustivity/Basic.lean.
Franke Fact 4 (Appendix A): ExhMW = ExhIE when Alt is closed under ∧.
This is Spector's Theorem 9, referenced by Franke in Appendix A.
Condition: For all w, w' ∈ ExhMM(S, Alt), there exists A ∈ Alt such that A(w) ∧ A(w') entails A.
When Alt is closed under conjunction, this condition holds automatically because we can take A = A(w) ∧ A(w').
This is proved as theorem9_main in Exhaustivity/Basic.lean.
IBR fixed point equals exhMW (Main theorem - @cite{franke-2011}, Section 9.3)
This is the central result connecting game theory to exhaustification. At the fixed point, the IBR listener's interpretation of message m is exactly the exhaustive interpretation exhMW(ALT, m).
Proof Strategy:
Non-minimal states eliminated: If s is non-minimal (∃s' < s with m(s')), then at s', there's a message m' true at s' but not at s (by definition of <). Message m' is more informative than m. So S_n prefers m' at s', leading to S_n(m|s') < 1. This propagates: L_{n+1}(s|m) decreases each iteration.
Minimal states preserved: If s is minimal among m-worlds, then at s, no "stronger" alternative is true, so m is optimal. S_n(m|s) = 1/|optimal|, and L_{n+1}(s|m) > 0 is maintained.
Convergence: By well-foundedness of < on finite sets, this stabilizes. The fixed point support equals the set of minimal m-worlds = exhMW.
Key Lemma: For any s in support(L_∞(·|m)):
- m(s) must be true (literal content)
- No s' < s can have m(s') true (minimality) This is exactly exhMW(ALT, m).
At the fixed point, IBR excludes non-minimal states.
Note: This is stated for the FIXED POINT listener, not L2 specifically. L2 alone doesn't necessarily exclude all non-minimal states; the full elimination happens through iteration to the fixed point.
At the fixed point, IBR keeps minimal states.
If s is minimal among m-worlds (no s' < s with m(s')), then the fixed point listener assigns positive probability to s given m.
RSA → IBR as α → ∞ #
RSA uses softmax instead of argmax:
- RSA S₁(m | s) ∝ exp(α · log L₀(s | m)) -- softmax
- IBR S₁(m | s) = argmax_m L₀(s | m) -- hard argmax
As the rationality parameter α → ∞, softmax becomes argmax. This connects the probabilistic RSA model to the deterministic IBR model.
Floor score for false messages. Uses -log(|State|) - 1, which is always below the minimum possible log-informativity for any true message.
Equations
- RSA.IBR.falseMessageScore G = -Real.log ↑(Fintype.card G.State) - 1
Instances For
RSA S1 probability (real version for limit theorems).
RSA S1 is exactly softmax over log-informativity scores: rsaS1(m | s) = exp(α · log(inf(m))) / Σ exp(α · log(inf(m'))) = inf(m)^α / Σ inf(m')^α = softmax(log ∘ inf, α)(m)
Equations
- RSA.IBR.rsaS1Real G α s = Core.softmax (fun (m : G.Message) => if G.meaning m s = true then Real.log ↑(G.informativity m) else RSA.IBR.falseMessageScore G) α
Instances For
RSA S1 equals softmax over log-informativity.
This is the key observation: RSA speaker choice is softmax with scores = log(informativity of message).
As α → ∞, RSA S1 concentrates on optimal messages (IBR S1).
This follows directly from softmax_tendsto_hardmax:
- RSA S1 = softmax(log-informativity, α)
- As α → ∞, softmax → argmax
- argmax(log-informativity) = argmax(informativity) = IBR S1
The proof uses tendsto_softmax_infty_at_max from Limits.lean.
Scalar Implicature Example (Franke Section 3.1) #
The classic "some" vs "all" example:
- States: {some-not-all, all}
- Messages: {some, all}
- Meaning: some true at both; all true only at all
IBR derivation:
- L₀: "some" → uniform over both states
- S₁ at "all": says "all" (more informative)
- S₁ at "some-not-all": says "some" (only option)
- L₂: "some" → "some-not-all" (scalar implicature!)
Equations
- RSA.IBR.instFintypeScalarState = { elems := { val := ↑RSA.IBR.ScalarState.enumList, nodup := RSA.IBR.ScalarState.enumList_nodup }, complete := RSA.IBR.instFintypeScalarState._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
- RSA.IBR.instReprScalarState.repr RSA.IBR.ScalarState.all prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.ScalarState.all")).group prec✝
Instances For
Equations
- RSA.IBR.instReprScalarState = { reprPrec := RSA.IBR.instReprScalarState.repr }
Equations
- RSA.IBR.instBEqScalarState.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Equations
- RSA.IBR.instFintypeScalarMessage = { elems := { val := ↑RSA.IBR.ScalarMessage.enumList, nodup := RSA.IBR.ScalarMessage.enumList_nodup }, complete := RSA.IBR.instFintypeScalarMessage._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
- RSA.IBR.instReprScalarMessage.repr RSA.IBR.ScalarMessage.all prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.ScalarMessage.all")).group prec✝
Instances For
Equations
Equations
- RSA.IBR.instBEqScalarMessage.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
Scalar implicature interpretation game
Equations
- One or more equations did not get rendered due to their size.
Instances For
Free Choice Disjunction (Franke Section 3.3) #
"You may have cake or ice cream" → You may have either one.
States: {only-A, only-B, either, both} Messages: {◇A, ◇B, ◇(A∨B), ◇(A∧B)}
The free choice inference emerges from IBR reasoning because:
- At "either" state, speaker uses ◇(A∨B) (most informative true message)
- L₂ infers "either" from ◇(A∨B) (scalar implicature pattern)
Equations
- RSA.IBR.instFintypeFCState = { elems := { val := ↑RSA.IBR.FCState.enumList, nodup := RSA.IBR.FCState.enumList_nodup }, complete := RSA.IBR.instFintypeFCState._proof_1 }
Equations
- RSA.IBR.instReprFCState = { reprPrec := RSA.IBR.instReprFCState.repr }
Equations
- RSA.IBR.instReprFCState.repr RSA.IBR.FCState.onlyA prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCState.onlyA")).group prec✝
- RSA.IBR.instReprFCState.repr RSA.IBR.FCState.onlyB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCState.onlyB")).group prec✝
- RSA.IBR.instReprFCState.repr RSA.IBR.FCState.either prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCState.either")).group prec✝
- RSA.IBR.instReprFCState.repr RSA.IBR.FCState.both prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCState.both")).group prec✝
Instances For
Equations
Equations
- RSA.IBR.instBEqFCState.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- RSA.IBR.instFintypeFCMessage = { elems := { val := ↑RSA.IBR.FCMessage.enumList, nodup := RSA.IBR.FCMessage.enumList_nodup }, complete := RSA.IBR.instFintypeFCMessage._proof_1 }
Equations
- RSA.IBR.instReprFCMessage = { reprPrec := RSA.IBR.instReprFCMessage.repr }
Equations
- RSA.IBR.instReprFCMessage.repr RSA.IBR.FCMessage.mayA prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCMessage.mayA")).group prec✝
- RSA.IBR.instReprFCMessage.repr RSA.IBR.FCMessage.mayB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCMessage.mayB")).group prec✝
- RSA.IBR.instReprFCMessage.repr RSA.IBR.FCMessage.mayAorB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCMessage.mayAorB")).group prec✝
- RSA.IBR.instReprFCMessage.repr RSA.IBR.FCMessage.mayAandB prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "RSA.IBR.FCMessage.mayAandB")).group prec✝
Instances For
Equations
Equations
- RSA.IBR.instBEqFCMessage.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Free choice interpretation game
Equations
- One or more equations did not get rendered due to their size.
Instances For
The Complete Chain #
This section states the full limit theorem connecting RSA to EXH, combining:
- @cite{franke-2011}: RSA → IBR as α → ∞; IBR ≈ ExhMW (Appendix A)
- @cite{spector-2007}: Iterated exhaustification
- @cite{spector-2016}: Theorem 9 (ExhMW = ExhIE under closure)
The Chain #
RSA S1 (softmax)
│ α → ∞ [rsa_to_ibr_limit - PROVED]
↓
IBR S1 (argmax) = R₁
│ Fact 1 [r1_subset_exhMW] (@cite{franke-2011} Appendix A)
↓
ExhMW (minimal worlds)
│ Theorem 9 [fact4_exhMW_eq_exhIE_closed]
↓
ExhIE (innocent exclusion)
Results #
- rsa_to_ibr_limit (proved above): RSA S1 → IBR S1 as α → ∞
- Fact 1 (r1_subset_exhMW): IBR R₁ ⊆ ExhMW (@cite{franke-2011} Appendix A)
- Fact 3 (fact3_exhMW_subset_exhIE): ExhMW ⊆ ExhIE (@cite{franke-2011} Appendix A)
- Theorem 9 (fact4_exhMW_eq_exhIE_closed): Under closure, ExhMW = ExhIE
Combined: Under closure, lim_{α→∞} RSA = IBR = ExhMW = ExhIE
Temperature Interpretation #
- Temperature 1/α = 0 (α = ∞): deterministic selection (EXH/IBR)
- Temperature 1/α > 0 (α finite): probabilistic selection (RSA)
RSA and EXH are the same rational principle at different "temperatures"
IBR fixed point equals exhMW (Main theorem - @cite{franke-2011}, Section 9.3)
This combines:
- Equation (107): R₁ selects states with minimum alternative count
- Fact 1: Such states are exactly the minimal worlds
At the fixed point, the IBR listener's interpretation of message m is exactly the exhaustive interpretation exhMW(ALT, m).
When alternatives are closed under conjunction, ExhMW = ExhIE.
This is Spector's Theorem 9, already proved in Exhaustivity/Basic.lean. We re-export it here for the chain.
When alternatives are closed under conjunction, IBR = exhIE.
This combines:
- ibr_fp_equals_exhMW: IBR fixed point = exhMW
- fact4_exhMW_eq_exhIE_closed: Under closure, exhMW = exhIE
Combined: Under closure, IBR = exhMW = exhIE
The grand unification: RSA → ExhMW as α → ∞.
This combines:
- rsa_to_ibr_limit: RSA S1 → IBR S1 as α → ∞
- IBR fixed point = exhMW
Therefore: lim_{α→∞} support(RSA.L1(α, m)) = exhMW(ALT, m)
The full limit theorem: RSA → ExhIE under closure as α → ∞.
This combines results from:
- @cite{franke-2011}: RSA → IBR (softmax → argmax), IBR = exhMW (Appendix A)
- @cite{spector-2007}: Iterated exhaustification
- @cite{spector-2016}: Theorem 9 (exhMW = exhIE under closure)
The chain:
- RSA S1 → IBR S1 as α → ∞ (softmax → argmax)
- IBR = exhMW (@cite{franke-2011} Appendix A, Fact 1)
- exhMW = exhIE under closure (@cite{spector-2016} Theorem 9)
Therefore: Under closure, lim_{α→∞} RSA = exhIE
Epistemic Readings (Franke Section 3.2) #
Franke distinguishes three epistemic readings of scalar implicatures:
- Simple SI: "Some but not all" (most common)
- Weak epistemic: "The speaker doesn't know that all"
- Strong epistemic: "The speaker knows that not all"
These arise from different assumptions about speaker competence:
- Full competence → Simple SI
- No competence assumed → Weak epistemic
- Intermediate → Strong epistemic
IBR naturally handles these by adjusting the state space.
Speaker competence level (Franke Section 3.2)
- full : CompetenceLevel
- uncertain : CompetenceLevel
- none : CompetenceLevel
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Epistemic state: combines world state with speaker knowledge. Used for epistemic readings of scalar implicatures.
- actualWorld : S
- speakerKnowledge : Set S
Instances For
Build epistemic interpretation game from base game