@cite{tessler-goodman-2022}: Warm (for Winter) #
@cite{tessler-goodman-2022} @cite{lassiter-goodman-2017}
Cognitive Science 46 (2022) e13095.
Core Insight #
Comparison class inference uses the SAME uncertain threshold mechanism as adjective interpretation (@cite{lassiter-goodman-2017}). The listener jointly infers the degree x AND the comparison class c (Eq. 1):
L₁(x, c | u, k) ∝ S₁(u | x, c) · P(x | k) · P(c | k)
The comparison class c determines L0's height prior: subordinate uses the
kind's distribution (e.g., basketball players), superordinate uses the
general population (people). The threshold θ is marginalized analytically
following @cite{lassiter-goodman-2017}'s threshold RSA framework (the height priors are identical — see
personWeight_eq_lassiterGoodman and basketballWeight_eq_lassiterGoodman).
Main Prediction: Polarity × Expectations Interaction #
- "tall basketball player" → superordinate (people) comparison class
- "short basketball player" → subordinate (basketball players) comparison class
- Pattern reverses for jockeys (expected short)
The interaction emerges from RSA reasoning: a speaker saying "tall" about a basketball player is more informative under superordinate comparison (the L0 normalization Z_c(tall) differs by comparison class because the height distribution shifts), so L1 infers superordinate. For "short," subordinate comparison is more informative.
Simplifications #
- α = 1 (the paper fits α₁ ≈ 1.45, α₂ ≈ 5.31; α=1 suffices for qualitative predictions since S₁ ∝ L₀^α is monotone in α)
- No utterance costs (Note 3: costs assumed equal for all utterances, so S₁(u | x, c) ∝ L₀(x | u, c)^α; cf. @cite{lassiter-goodman-2017} which has C(tall)=C(short)=2, C(∅)=0)
- Flat comparison class prior (P(c|k) uniform; the paper's "Flat prior" model variant from Table 2; the full model fits basic-level bias + frequency effects, but the flat prior already yields the qualitative polarity × expectations pattern)
- Two extreme categories (basketball=high, jockey=low; the paper uses three per item set including a medium control like soccer player/golfer where no polarity effect is predicted)
Model Architecture #
Per-kind RSAConfig with Latent = ComparisonClass, World = Height:
meaning(c, u, h)= P(h | c) · |{θ : ⟦u⟧(h,θ)}| (marginalized threshold)worldPrior(h)= P(h | k) (L1's kind-specific height prior)latentPrior(c)= P(c | k) (flat comparison class prior)
Verified Predictions #
S1 Endorsement (speaker-level) #
| # | Prediction | Kind | Height | Comp. Class | Theorem |
|---|---|---|---|---|---|
| 1 | "tall" endorsed | basketball | h=6 | super | basketball_tall_endorsed_super |
| 2 | "tall" NOT endorsed | basketball | h=6 | sub | basketball_tall_not_endorsed_sub |
| 3 | "short" endorsed | basketball | h=5 | sub | basketball_short_endorsed_sub |
| 4 | "short" NOT endorsed | basketball | h=5 | super | basketball_short_not_endorsed_super |
| 5 | "tall" endorsed | jockey | h=4 | sub | jockey_tall_endorsed_sub |
| 6 | "tall" NOT endorsed | jockey | h=4 | super | jockey_tall_not_endorsed_super |
| 7 | "short" endorsed | jockey | h=4 | super | jockey_short_endorsed_super |
| 8 | "short" NOT endorsed | jockey | h=4 | sub | jockey_short_not_endorsed_sub |
L1 Comparison Class Inference (Eq. 1 — the paper's main prediction) #
| # | Adj | Kind | Inferred CC | Theorem |
|---|---|---|---|---|
| 9 | tall | basketball | super | basketball_tall_infers_super |
| 10 | short | basketball | sub | basketball_short_infers_sub |
| 11 | tall | jockey | sub | jockey_tall_infers_sub |
| 12 | short | jockey | super | jockey_short_infers_super |
Alternative Literal Listener (Eq. 6, Fig. 2 — opposite predictions) #
| # | Kind | Adj | Literal | Pragmatic | Theorem |
|---|---|---|---|---|---|
| 13 | basketball | tall | sub | super (#9) | literal_basketball_tall_sub |
| 14 | basketball | short | super | sub (#10) | literal_basketball_short_super |
| 15 | jockey | tall | super | sub (#11) | literal_jockey_tall_super |
| 16 | jockey | short | sub | super (#12) | literal_jockey_short_sub |
Discretized height: 0 through 10 in discrete steps (11 values).
Instances For
Comparison classes: subordinate (the kind itself) or superordinate (the general population).
- subordinate : ComparisonClass
- superordinate : ComparisonClass
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
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.
Height weight for generic people: symmetric, peaked at h=5. Approximates a discretized normal centered at the population mean.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Height weight for basketball players: shifted right, peaked at h=7.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Height weight for jockeys: shifted left, peaked at h=3.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Height weight for a given kind: P(h | k) (unnormalized).
Equations
- One or more equations did not get rendered due to their size.
- Phenomena.Gradability.Studies.TesslerGoodman2022.heightWeight Phenomena.Gradability.Studies.TesslerGoodman2022.Kind.person = Phenomena.Gradability.Studies.TesslerGoodman2022.personHeightWeight
- Phenomena.Gradability.Studies.TesslerGoodman2022.heightWeight Phenomena.Gradability.Studies.TesslerGoodman2022.Kind.jockey = Phenomena.Gradability.Studies.TesslerGoodman2022.jockeyHeightWeight
Instances For
L0's height weight conditioned on comparison class. Subordinate uses the kind's own distribution; superordinate uses people.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Comparison class prior weights: P(c | k) (unnormalized). Flat prior: subordinate and superordinate equally likely a priori. The qualitative polarity × expectations interaction emerges entirely from pragmatic reasoning about informativity, not from prior bias. (Paper Table 2: "Flat prior" model variant, r² = 0.136 for CC inference.)
Equations
Instances For
Number of thresholds θ ∈ {0,...,9} satisfying ⟦u⟧(h,θ) = true.
For tall (positiveMeaning): |{θ : h > θ}| = h.toNat
For short (negativeMeaning): |{θ : h < θ}| = 9 - h.toNat
For silent: 10 (all thresholds pass)
Equations
- Phenomena.Gradability.Studies.TesslerGoodman2022.thresholdCount Phenomena.Gradability.Studies.TesslerGoodman2022.Utterance.tall h = Core.Scale.Degree.toNat h
- Phenomena.Gradability.Studies.TesslerGoodman2022.thresholdCount Phenomena.Gradability.Studies.TesslerGoodman2022.Utterance.short h = 9 - Core.Scale.Degree.toNat h
- Phenomena.Gradability.Studies.TesslerGoodman2022.thresholdCount Phenomena.Gradability.Studies.TesslerGoodman2022.Utterance.silent h = 10
Instances For
Grounding: thresholdCount .tall equals the count of thresholds
satisfying positiveMeaning.
Grounding: thresholdCount .short equals the count of thresholds
satisfying negativeMeaning.
RSAConfig for comparison class inference, parameterized by kind k.
Extends @cite{lassiter-goodman-2017}'s threshold RSA: instead of treating
the threshold θ as a latent (as LG2017 does), θ is marginalized analytically
into thresholdCount, and the comparison class c becomes the latent variable.
meaning(c, u, h)= P(h | c) · thresholdCount(u, h)worldPrior(h)= P(h | k)latentPrior(c)= P(c | k) = 1 (flat prior)- α = 1, no utterance costs (Note 3: costs equal ⇒ S₁ ∝ L₀^α)
S1's scores depend on c through L0's normalization constant Z_c(u), which shifts with the comparison class height distribution.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Basketball player config: height distribution shifted right (peak at h=7).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Jockey config: height distribution shifted left (peak at h=3).
Equations
Instances For
Basketball players' weighted height sum exceeds the person mean: Σ P(h|bball)·h = 568 > 430 = Σ P(h|person)·h (unnormalized).
Jockeys' weighted height sum is below the person mean.
For person, subordinate and superordinate use the same height distribution, so comparison class makes no difference.
Sanity check: silence doesn't discriminate between comparison classes.
For the person kind (where subordinate = superordinate by
person_classes_identical), L1 hearing silence assigns equal
posterior to both comparison classes. This confirms the model's
baseline: only informative utterances (tall/short) shift CC inference.
Equations
Instances For
Basketball Player (expected tall) #
At height 6 (above person mean 5, below basketball mean ~6.8):
- Under superordinate (people): "tall" IS endorsed (h=6 > E[person]=5)
- Under subordinate (basketball): "tall" NOT endorsed (h=6 < E[basketball]≈6.8)
At height 5 (at person mean, well below basketball mean):
- Under subordinate (basketball): "short" IS endorsed
- Under superordinate (people): "short" NOT endorsed (h=5 ≈ E[person]=5)
"Tall" endorsed under superordinate at h=6: a basketball player of height 6 is tall for a person (6 > person mean = 5).
"Tall" NOT endorsed under subordinate at h=6: a basketball player of height 6 is average for a basketball player (6 < basketball mean ≈ 6.8).
"Short" endorsed under subordinate at h=5: height 5 is well below the basketball mean, so "short" is informative within basketball players.
"Short" NOT endorsed under superordinate at h=5: height 5 is exactly the person mean, so "short" is uninformative relative to people.
Jockey (expected short) #
At height 4 (below person mean 5, above jockey mean ~3.2):
- Under subordinate (jockeys): "tall" IS endorsed (h=4 > E[jockey]≈3.2)
- Under superordinate (people): "tall" NOT endorsed (h=4 < E[person]=5)
- Under superordinate (people): "short" IS endorsed (h=4 < E[person]=5)
- Under subordinate (jockeys): "short" NOT endorsed (h=4 > E[jockey]≈3.2)
"Tall" endorsed under subordinate at h=4: a jockey of height 4 is tall for a jockey (4 > jockey mean ≈ 3.2).
"Tall" NOT endorsed under superordinate at h=4: height 4 is below the person mean, so "tall" is uninformative relative to people.
"Short" endorsed under superordinate at h=4: height 4 is below the person mean (4 < E[person]=5).
"Short" NOT endorsed under subordinate at h=4: a jockey of height 4 is average for a jockey, so "short" is uninformative.
This model extends @cite{lassiter-goodman-2017}'s threshold RSA. The key structural relationship:
- LG2017 treats the threshold θ as a
Latentvariable (L1 infers θ) - TG2022 marginalizes θ analytically (via
thresholdCount) and adds comparison class c as theLatentvariable (L1 infers c)
The height priors are identical — this is the same empirical domain, with a different question being asked of the same RSA machinery.
Person height weights match @cite{lassiter-goodman-2017}'s general population prior (same bell curve peaked at h=5).
Basketball height weights match @cite{lassiter-goodman-2017}'s basketball player prior (same bell curve peaked at h=7).
The paper's main prediction: L1 comparison class inference #
The S1 endorsement theorems (§ 6) show that S1 behaves differently under each comparison class. The paper's Eq. 1 prediction is about the LISTENER: after hearing an adjective about a kind, which comparison class does L1 infer?
L₁(x, c | u, k) ∝ S₁(u | x, c) · P(x | k) · P(c | k)
After marginalizing over height x, the posterior over comparison classes is
RSAConfig.L1_latent. The polarity × expectations interaction:
- Expected adjective (tall basketball, short jockey) → superordinate
- Unexpected adjective (short basketball, tall jockey) → subordinate
Basketball + "tall" → listener infers superordinate: a basketball player described as "tall" is tall even for a person — unexpected, hence informative under the superordinate comparison class.
Basketball + "short" → listener infers subordinate: "short for a basketball player" is more informative than "short for a person" (since basketball players are expected to be tall).
Jockey + "tall" → listener infers subordinate: "tall for a jockey" is more informative than "tall for a person" (since jockeys are expected to be short).
Jockey + "short" → listener infers superordinate: a jockey described as "short" is short even for a person — unexpected, hence informative under the superordinate comparison class.
The polarity × expectations interaction from §§ 6, 8 matches the empirical
patterns in Phenomena.Gradability.ComparisonClass:
| Data pattern | L1 inference | S1 endorsed | S1 not endorsed |
|---|---|---|---|
tallBasketball → super | basketball_tall_infers_super | basketball_tall_endorsed_super | basketball_tall_not_endorsed_sub |
shortBasketball → sub | basketball_short_infers_sub | basketball_short_endorsed_sub | basketball_short_not_endorsed_super |
tallJockey → sub | jockey_tall_infers_sub | jockey_tall_endorsed_sub | jockey_tall_not_endorsed_super |
shortJockey → super | jockey_short_infers_super | jockey_short_endorsed_super | jockey_short_not_endorsed_sub |
In every case, the EXPECTED adjective (consistent with the kind's height distribution) triggers SUPERORDINATE comparison, and the UNEXPECTED adjective triggers SUBORDINATE comparison. The L1 inference theorems (§ 8) directly replicate the paper's Eq. 1 prediction.
The data records the polarity × expectations pattern.
The literal model makes the OPPOSITE predictions #
@cite{tessler-goodman-2022} §2 contrasts the pragmatic listener (Eq. 1) with an alternative literal listener (Eq. 6) that does not reason about a rational speaker:
L₀(x, θ, c | u, k) ∝ δ_{⟦u⟧}(x,θ) · P(x | c) · P(θ) · P(c | k)
This model updates beliefs about x and c jointly via the literal meaning, using the comparison-class-specific prior P(x | c), but without S1 informativity. It effectively asks: under which comparison class is the utterance more likely to be literally true? For "tall basketball player," tallness is more probable under the basketball distribution (shifted right), so the literal model prefers subordinate — the OPPOSITE of the pragmatic model and the data.
The pragmatic model inverts this because S1 normalizes by the total literal-listener mass Z_c(u), penalizing classes where the utterance is uninformative (too many heights satisfy it) and rewarding classes where the utterance is surprising.
Unnormalized literal score: Σ_h P(h|c) · |{θ : ⟦u⟧(h,θ)}|. Total literal-listener mass for comparison class c, marginalized over heights and thresholds.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Literal: basketball + "tall" → subordinate.
Basketball players' rightward-shifted heights make "tall" more often
literally true under subordinate comparison.
Opposite of pragmatic basketball_tall_infers_super.
Literal: basketball + "short" → superordinate.
Opposite of pragmatic basketball_short_infers_sub.
Literal: jockey + "tall" → superordinate.
Opposite of pragmatic jockey_tall_infers_sub.
Literal: jockey + "short" → subordinate.
Opposite of pragmatic jockey_short_infers_super.
Every literal prediction is reversed by the pragmatic model (Fig. 2). This is the paper's key scientific claim: comparison class inference requires social reasoning via S1, not just Bayesian updating on literal truth conditions.
The paper's title example uses temperature, not height. The model is dimension-general: any relative gradable adjective whose comparison class shifts the degree prior produces the polarity × expectations interaction.
The temperature domain maps onto the height domain:
- Winter (expected cold) ↔ Jockey (expected short): prior peaked at 3
- Summer (expected warm) ↔ Basketball (expected tall): prior peaked at 7
- warm ↔ tall (positive adjective), cold ↔ short (negative adjective)
Since the weight functions are identical, the § 8 predictions transfer:
| Context | Adjective | Inferred CC | Height analogue |
|---|---|---|---|
| winter | warm | subordinate | jockey_tall_infers_sub |
| winter | cold | superordinate | jockey_short_infers_super |
| summer | warm | superordinate | basketball_tall_infers_super |
| summer | cold | subordinate | basketball_short_infers_sub |
This connects to Core.Dimension.temperature: a sensory domain with
requiresComparisonClass = true (@cite{sedivy-etal-1999}).
Temperature is a comparison-class-sensitive dimension.
The literal/pragmatic reversal transfers to temperature via the winter ↔ jockey mapping. The literal model predicts "warm in winter" → superordinate (warm is more often literally true in the general population than in winter), but the pragmatic model correctly predicts subordinate: "warm for winter" is informative within the season.
Why this model applies to "tall" but not "full" #
@cite{kennedy-2007}'s Interpretive Economy (§4.3, p. 36) determines the standard of comparison from scale structure. For open-scale (relative) adjectives like "tall", the standard-fixing function s requires contextual domain information — "the distribution of objects in some domain (a comparison class)" (p. 42). For closed-scale (absolute) adjectives like "full", the standard is the scale endpoint — fixed regardless of context.
Crucially, Kennedy argues (§2.3, p. 16) that the comparison class is NOT a semantic argument of pos (contra @cite{klein-1980}), but rather contextual information that feeds into s. @cite{tessler-goodman-2022} provides the computational mechanism for determining this contextual parameter: the comparison class is inferred pragmatically via RSA as a latent variable. This is architecturally compatible with Kennedy's view — the CC is pragmatic/contextual, not a constituent of the logical form.
open scale → contextual standard → CC feeds into s → L1 infers it
bounded scale → endpoint standard → s fixed by scale → nothing to infer
The chain connects three independent modules:
Semantics.Degree.interpretiveEconomy(Theory: scale → standard type)Semantics.Degree.PositiveStandard.requiresComparisonClass(Theory: standard → domain-dependent?)RSAConfig.L1_latentwithLatent = ComparisonClass(this file: infer CC)
Height is an open-scale dimension: "tall" is relative (Class A).
Open scale → contextual domain inference applies (the full chain). This is a three-step argument:
- "tall" has an open scale (lexical fact)
- Open scale → contextual standard via s (Interpretive Economy)
- Contextual s → needs domain information (Kennedy 2007, p. 42)
Therefore the domain (descriptively: comparison class) must be inferred
— exactly what
mkCompClassCfgmodels withLatent = ComparisonClass. This is compatible with Kennedy's view: the CC is pragmatic/contextual (inferred by L1), not a semantic argument of pos.
Closed scale → contextual domain inference is irrelevant. "Full" has an endpoint standard via Interpretive Economy; the threshold is the scale maximum regardless of context. No domain to infer.
The applicability criterion: scale structure determines whether this
model's ComparisonClass latent is informative. The isClassA predicate
exactly characterizes the adjectives for which CC inference is needed.
Threshold semantics for gradable adjectives generalizes to generic language: "Birds fly south in the winter" ≈ P(x flies south | x is a bird) > θ (@cite{tessler-goodman-2019}). Both models share:
- A threshold variable θ setting the standard
- A prior P(x | c) conditioned on category membership
- Pragmatic inference about the contextually appropriate threshold/class
The comparison class model (this file) infers which c maximizes the pragmatic listener's posterior. The generics model infers which θ is pragmatically optimal. Same RSA machinery applied to different latent variables.
The comparison class hierarchy is structurally a NestedRestriction:
subordinate (restricted) ⊆ superordinate (unrestricted). Going from subordinate
to superordinate widens the reference population.
This connects comparison class inference to the same nesting pattern used by @cite{ritchie-schiller-2024}'s domain restriction possibilities.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Whether a height has nonzero prior weight for a given kind.
Equations
Instances For
The comparison class hierarchy as a nested restriction on heights.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Nesting: subordinate ⊆ superordinate for all kinds.
Bridge to Core.TwoLevel: the study-local ComparisonClass is
isomorphic to the generic two-level nesting type.
Equations
Instances For
The isomorphism preserves order.