Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- RSA.GrusdtLassiterFranke2022.instBEqLiteral.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Utterance types from the paper.
The speaker can utter:
- Bare literals: "A", "C", "not A", "not C"
- Conjunction: "A and C"
- Conditional: "if A then C"
- Likely phrases: "likely A", "likely C", etc.
- Silence (null utterance)
- literal : Literal → Utterance
- conj : Utterance
- conditional : Utterance
- likely : Literal → Utterance
- likelyConditional : Utterance
- silence : Utterance
Instances For
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.
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) RSA.GrusdtLassiterFranke2022.Utterance.conj = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) RSA.GrusdtLassiterFranke2022.Utterance.conditional = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) (RSA.GrusdtLassiterFranke2022.Utterance.likely a_1) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) RSA.GrusdtLassiterFranke2022.Utterance.silence = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conj (RSA.GrusdtLassiterFranke2022.Utterance.literal a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conj RSA.GrusdtLassiterFranke2022.Utterance.conj = isTrue ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conj (RSA.GrusdtLassiterFranke2022.Utterance.likely a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conditional (RSA.GrusdtLassiterFranke2022.Utterance.literal a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conditional RSA.GrusdtLassiterFranke2022.Utterance.conditional = isTrue ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.conditional (RSA.GrusdtLassiterFranke2022.Utterance.likely a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) (RSA.GrusdtLassiterFranke2022.Utterance.literal a_1) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) RSA.GrusdtLassiterFranke2022.Utterance.conj = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) RSA.GrusdtLassiterFranke2022.Utterance.conditional = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) RSA.GrusdtLassiterFranke2022.Utterance.silence = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional (RSA.GrusdtLassiterFranke2022.Utterance.literal a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional (RSA.GrusdtLassiterFranke2022.Utterance.likely a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional = isTrue ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.silence (RSA.GrusdtLassiterFranke2022.Utterance.literal a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.silence (RSA.GrusdtLassiterFranke2022.Utterance.likely a) = isFalse ⋯
- RSA.GrusdtLassiterFranke2022.instDecidableEqUtterance.decEq RSA.GrusdtLassiterFranke2022.Utterance.silence RSA.GrusdtLassiterFranke2022.Utterance.silence = isTrue ⋯
Instances For
Equations
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq (RSA.GrusdtLassiterFranke2022.Utterance.literal a) (RSA.GrusdtLassiterFranke2022.Utterance.literal b) = (a == b)
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq RSA.GrusdtLassiterFranke2022.Utterance.conj RSA.GrusdtLassiterFranke2022.Utterance.conj = true
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq RSA.GrusdtLassiterFranke2022.Utterance.conditional RSA.GrusdtLassiterFranke2022.Utterance.conditional = true
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq (RSA.GrusdtLassiterFranke2022.Utterance.likely a) (RSA.GrusdtLassiterFranke2022.Utterance.likely b) = (a == b)
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional = true
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq RSA.GrusdtLassiterFranke2022.Utterance.silence RSA.GrusdtLassiterFranke2022.Utterance.silence = true
- RSA.GrusdtLassiterFranke2022.instBEqUtterance.beq x✝¹ x✝ = false
Instances For
Equations
- One or more equations did not get rendered due to their size.
Threshold for conditional assertability.
The paper uses θ = 0.9 as the default.
Equations
Instances For
Threshold for "likely X" assertability.
P(X) must exceed this threshold.
Equations
Instances For
Literal semantics: when is a literal assertable?
- A: P(A) > 0.9 (high probability)
- C: P(C) > 0.9
- ¬A: P(¬A) > 0.9 (i.e., P(A) < 0.1)
- ¬C: P(¬C) > 0.9 (i.e., P(C) < 0.1)
For soft semantics, we return the probability directly.
Equations
- RSA.GrusdtLassiterFranke2022.literalSemantics RSA.GrusdtLassiterFranke2022.Literal.A ws θ = if ws.pA > θ then 1 else 0
- RSA.GrusdtLassiterFranke2022.literalSemantics RSA.GrusdtLassiterFranke2022.Literal.C ws θ = if ws.pC > θ then 1 else 0
- RSA.GrusdtLassiterFranke2022.literalSemantics RSA.GrusdtLassiterFranke2022.Literal.notA ws θ = if 1 - ws.pA > θ then 1 else 0
- RSA.GrusdtLassiterFranke2022.literalSemantics RSA.GrusdtLassiterFranke2022.Literal.notC ws θ = if 1 - ws.pC > θ then 1 else 0
Instances For
Soft literal semantics: return the probability itself.
Equations
- RSA.GrusdtLassiterFranke2022.softLiteralSemantics RSA.GrusdtLassiterFranke2022.Literal.A ws = ws.pA
- RSA.GrusdtLassiterFranke2022.softLiteralSemantics RSA.GrusdtLassiterFranke2022.Literal.C ws = ws.pC
- RSA.GrusdtLassiterFranke2022.softLiteralSemantics RSA.GrusdtLassiterFranke2022.Literal.notA ws = 1 - ws.pA
- RSA.GrusdtLassiterFranke2022.softLiteralSemantics RSA.GrusdtLassiterFranke2022.Literal.notC ws = 1 - ws.pC
Instances For
Conjunction semantics: P(A ∧ C) > θ
Instances For
Soft conjunction semantics: return P(A ∧ C)
Equations
Instances For
Conditional semantics: P(C|A) > θ (from Semantics.Conditionals.Assertability)
This is the grounding: we use the assertability condition directly.
Equations
Instances For
Soft conditional semantics: return P(C|A) (from Assertability module)
Equations
Instances For
"Likely" semantics: the embedded proposition has high probability
Equations
Instances For
"Likely conditional" semantics
Equations
Instances For
Full utterance semantics (hard version with thresholds).
Equations
- RSA.GrusdtLassiterFranke2022.utteranceSemantics (RSA.GrusdtLassiterFranke2022.Utterance.literal a) ws condθ likelyθ = RSA.GrusdtLassiterFranke2022.literalSemantics a ws likelyθ
- RSA.GrusdtLassiterFranke2022.utteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.conj ws condθ likelyθ = RSA.GrusdtLassiterFranke2022.conjunctionSemantics ws likelyθ
- RSA.GrusdtLassiterFranke2022.utteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.conditional ws condθ likelyθ = RSA.GrusdtLassiterFranke2022.conditionalSemanticsHard ws condθ
- RSA.GrusdtLassiterFranke2022.utteranceSemantics (RSA.GrusdtLassiterFranke2022.Utterance.likely a) ws condθ likelyθ = RSA.GrusdtLassiterFranke2022.likelySemantics a ws likelyθ
- RSA.GrusdtLassiterFranke2022.utteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional ws condθ likelyθ = RSA.GrusdtLassiterFranke2022.likelyConditionalSemantics ws likelyθ
- RSA.GrusdtLassiterFranke2022.utteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.silence ws condθ likelyθ = 1
Instances For
Soft utterance semantics (for gradient RSA).
Equations
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics (RSA.GrusdtLassiterFranke2022.Utterance.literal a) ws = RSA.GrusdtLassiterFranke2022.softLiteralSemantics a ws
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.conj ws = RSA.GrusdtLassiterFranke2022.softConjunctionSemantics ws
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.conditional ws = RSA.GrusdtLassiterFranke2022.conditionalSemanticsSoft ws
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics (RSA.GrusdtLassiterFranke2022.Utterance.likely a) ws = RSA.GrusdtLassiterFranke2022.softLiteralSemantics a ws
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional ws = RSA.GrusdtLassiterFranke2022.conditionalSemanticsSoft ws
- RSA.GrusdtLassiterFranke2022.softUtteranceSemantics RSA.GrusdtLassiterFranke2022.Utterance.silence ws = 1 / 2
Instances For
Check if (pA, pC, pAC) form a valid probability distribution.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Generate all valid discretized world states.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The full meaning space: WorldState × CausalRelation
The listener infers both:
- The probability distribution (WorldState)
- The underlying causal structure (CausalRelation)
Equations
Instances For
All causal relations.
Equations
Instances For
All full meanings (world states × causal relations).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prior over world states.
The paper uses a uniform prior over valid distributions.
Equations
Instances For
Prior over causal relations.
The paper assumes equal prior on all three relations.
Equations
Instances For
Prior over full meanings.
Equations
Instances For
Goal type: what is the listener trying to infer?
Following the paper, we consider:
worldState: Infer the probability distributioncausalRelation: Infer the causal structureboth: Infer both
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- RSA.GrusdtLassiterFranke2022.instBEqGoal.beq x✝ y✝ = (x✝.ctorIdx == y✝.ctorIdx)
Instances For
Goal projection: when are two full meanings equivalent under a goal?
Equations
- RSA.GrusdtLassiterFranke2022.goalProject RSA.GrusdtLassiterFranke2022.Goal.worldState m1 m2 = (m1.1 == m2.1)
- RSA.GrusdtLassiterFranke2022.goalProject RSA.GrusdtLassiterFranke2022.Goal.causalRelation m1 m2 = (m1.2 == m2.2)
- RSA.GrusdtLassiterFranke2022.goalProject RSA.GrusdtLassiterFranke2022.Goal.both m1 m2 = (m1 == m2)
Instances For
Utterance cost (length-based).
Longer/more complex utterances are costlier.
Equations
- RSA.GrusdtLassiterFranke2022.utteranceCost (RSA.GrusdtLassiterFranke2022.Utterance.literal a) = 1
- RSA.GrusdtLassiterFranke2022.utteranceCost RSA.GrusdtLassiterFranke2022.Utterance.conj = 2
- RSA.GrusdtLassiterFranke2022.utteranceCost RSA.GrusdtLassiterFranke2022.Utterance.conditional = 3
- RSA.GrusdtLassiterFranke2022.utteranceCost (RSA.GrusdtLassiterFranke2022.Utterance.likely a) = 2
- RSA.GrusdtLassiterFranke2022.utteranceCost RSA.GrusdtLassiterFranke2022.Utterance.likelyConditional = 4
- RSA.GrusdtLassiterFranke2022.utteranceCost RSA.GrusdtLassiterFranke2022.Utterance.silence = 0
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
L0: Literal listener distribution over full meanings given an utterance.
P_L0(m | u) ∝ Prior(m) · ⟦u⟧(ws)
Note: The semantics only depends on the world state, not the causal relation. But L0 returns a distribution over full meanings for consistency with L1.
Equations
- One or more equations did not get rendered due to their size.
Instances For
L0 marginalized over causal relations: distribution over world states only.
Equations
Instances For
S1: Pragmatic speaker given a full meaning and goal.
P_S1(u | m, g) ∝ exp(α · log P_L0_projected(m | u) - cost(u))
Equations
- One or more equations did not get rendered due to their size.
Instances For
L1: Pragmatic listener distribution over full meanings given an utterance.
P_L1(m | u) ∝ Prior(m) · P_S1(u | m)
L1 marginalizes over possible goals.
Equations
- One or more equations did not get rendered due to their size.
Instances For
L1 marginalized over causal relations: distribution over world states only.
Equations
Instances For
L1 marginalized over world states: distribution over causal relations only.
This is the key prediction: from a conditional utterance, L1 infers the most likely causal structure.
Equations
Instances For
Grounding Theorem: L0 conditional meaning equals Montague assertability.
The RSA model's literal listener interprets conditionals using the
assertability condition from Semantics.Conditionals.Assertability.
This proves that the RSA model is grounded in compositional semantics.
Grounding Theorem (Soft): Soft conditional meaning equals conditional probability.
L0_world is marginalization of L0.
L0_world correctly marginalizes the full L0 distribution over causal relations to get a distribution over world states only.
This is definitional: L0_world applies marginalize to L0.
Semantics is independent of causal relation.
The utterance semantics only depends on the world state, not the causal relation. This is why L0 can be factored as Prior(ws) × Prior(cr) × Semantics(ws).
L0 factors as product of world and causal priors.
For any full meaning (ws, cr), the L0 prior factors as: fullMeaningPrior (ws, cr) = worldStatePrior ws × causalRelationPrior cr
Causal inference is asymmetric.
If inferCausalRelation returns ACausesC, then:
- The forward conditional "if A then C" is assertable
- The reverse conditional "if C then A" is NOT assertable
This captures the key asymmetry used for causal inference.
Causal inference reverse case.
If inferCausalRelation returns CCausesA, then the reverse is true:
- The reverse conditional "if C then A" is assertable
- The forward conditional "if A then C" is NOT assertable
Prediction 1: Conditional perfection emerges pragmatically.
When L1 hears "if A then C", they infer A→C causal structure. Given A→C, they expect "if ¬A then ¬C" would NOT be assertable. This is conditional perfection as an implicature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Prediction 2: Missing-link conditionals are dispreferred.
S1 is unlikely to utter "if A then C" when A⊥C (independent).
Equations
- One or more equations did not get rendered due to their size.
Instances For
L0 assigns zero weight when not assertable.
When the conditional "if A then C" is not assertable in a world state (i.e., P(C|A) ≤ θ), the utterance semantics returns 0.
This proves that the RSA model correctly implements the assertability semantics: L0 only considers world states where the conditional is assertable.
L0 assigns positive weight to assertable world states.
When the conditional is assertable, L0 assigns positive (unnormalized) weight.
L0 world distribution concentrates on high P(C|A).
The L0 distribution given "if A then C" only assigns positive probability to world states where P(C|A) > θ (the assertability threshold).
This is verified by checking that all world states with positive L0 weight satisfy the assertability condition.
Observation: L1 assigns equal probability to all causal relations.
With uniform priors and causal-relation-independent semantics, L1 hearing "if A then C" assigns 1/3 probability to each causal relation.
This reveals a limitation of the current model specification: conditional perfection does NOT emerge without additional structure.
The full @cite{grusdt-lassiter-franke-2022} model requires:
- Priors over world states that depend on causal relation
- Or asymmetric semantics for different causal structures
Semantics is independent of causal relation (why L1 is uniform).
The utterance semantics only depends on the world state, not the causal relation. This is intentional: the literal meaning of "if A then C" is about P(C|A), not about causation.
However, this means L0 gives equal weight to all causal relations for a given world state, and without asymmetric priors, so does L1.
Conditional perfection is NOT semantically entailed.
The material conditional p → q does NOT entail the perfected reading ¬p → ¬q. This is a semantic fact: there exist worlds where (p → q) is true but (¬p → ¬q) is false.
See Semantics.Conditionals.Basic.perfection_not_entailed for the proof.
Note on Conditional Perfection #
The current model does NOT derive conditional perfection because:
semantics_causal_independent: Utterance semantics doesn't depend on causal relationL1_uniform_over_causation: With uniform priors, L1 assigns equal probability to all causal relations
To derive conditional perfection, the model would need:
- Causal-conditioned priors: P(WorldState | CausalRelation) should differ
- Under A→C: expect high P(C|A), low P(A|C)
- Under C→A: expect low P(C|A), high P(A|C)
- Under A⊥C: expect P(C|A) ≈ P(C)
This is a design choice in the current implementation that prioritizes
simplicity. The semantic result (perfection_not_semantic) still holds.
Missing-link conditionals have low S1 score.
For the independent example world state, S1 assigns low probability to the conditional.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Silence is preferred to conditional for missing-link worlds.
Independence implies low conditional probability in L0.
If A and C are independent in a world state (P(A∧C) = P(A)·P(C)), then P(C|A) = P(C), which means the conditional doesn't "boost" C. This is why independent propositions make bad conditionals.
Uses: independent_implies_missing_link from Assertability.lean
Causal asymmetry is correctly detected.
If a world state has asymmetric conditional probabilities (high P(C|A) but low P(A|C)),
then inferCausalRelation correctly returns .ACausesC.
This connects the causal inference function to the assertability semantics.
L1 correctly infers causation from asymmetric world states.
For world states where only the forward conditional is assertable, L1 assigns higher probability to ACausesC than to other causal relations.
This is tested on the specific example asymmetricExample.
Equations
- RSA.GrusdtLassiterFranke2022.asymmetricWorldState = { pA := 1 / 2, pC := 1 / 2, pAC := 1 / 2 }
Instances For
Equations
- RSA.GrusdtLassiterFranke2022.causalWorldState = { pA := 1 / 2, pC := 3 / 4, pAC := 1 / 2 }
Instances For
Main Result: Assertability-based semantics with causal inference.
This theorem summarizes what the current model specification demonstrates:
Semantic level: The conditional "if A then C" is assertable iff P(C|A) > θ.
- L0 correctly filters world states by assertability
- Perfection is NOT semantically entailed
Causal inference: The
inferCausalRelationfunction correctly detects asymmetric assertability patterns (A→C vs C→A).Limitation: With uniform priors and causal-independent semantics, L1 assigns equal probability to all causal relations.
The model demonstrates grounding of RSA in compositional semantics, but requires richer priors to derive conditional perfection.
How the Model Works #
World States as Distributions: Unlike standard RSA, "worlds" are probability distributions over atomic propositions A and C.
Assertability-Based Semantics: The literal meaning of "if A then C" is that P(C|A) > θ (high conditional probability).
Causal Inference: L1 jointly infers the world state AND the causal relation (A→C, C→A, or A⊥C) from the utterance.
Conditional Perfection: Emerges because "if A then C" is informative about A→C causation, which implies "if ¬A then ¬C" would not be assertable.
Missing-Link Infelicity: S1 avoids conditionals when A⊥C because they provide little information about the causal structure.
Key Design Decisions #
WorldState as meaning: The paper's key insight is that conditionals communicate about probability distributions, not atomic facts.
Causal relation as Goal: L1 marginalizes over causal relations, effectively using them as a latent variable.
Grounding in Assertability: The conditional semantics is exactly the assertability condition from Semantics.Conditionals.