Documentation

Linglib.Studies.TesslerGoodman2022

[TG22]: Warm (for Winter) #

[TG22] [LG17]

Cognitive Science 46 (2022) e13095.

Core Insight #

Comparison class inference uses the SAME uncertain threshold mechanism as adjective interpretation ([LG17]). 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 [LG17]'s threshold RSA framework (the height priors are identical — see personWeight_eq_lassiterGoodman and basketballWeight_eq_lassiterGoodman).

Main Prediction: Polarity × Expectations Interaction #

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 #

Model Architecture #

Per-kind mathlib-PMF pipeline with latent ComparisonClass, world Height:

Verified Predictions #

S1 Endorsement (speaker-level) #

#PredictionKindHeightComp. ClassTheorem
1"tall" endorsedbasketballh=6superbasketball_tall_endorsed_super
2"tall" NOT endorsedbasketballh=6subbasketball_tall_not_endorsed_sub
3"short" endorsedbasketballh=5subbasketball_short_endorsed_sub
4"short" NOT endorsedbasketballh=5superbasketball_short_not_endorsed_super
5"tall" endorsedjockeyh=4subjockey_tall_endorsed_sub
6"tall" NOT endorsedjockeyh=4superjockey_tall_not_endorsed_super
7"short" endorsedjockeyh=4superjockey_short_endorsed_super
8"short" NOT endorsedjockeyh=4subjockey_short_not_endorsed_sub

L1 Comparison Class Inference (Eq. 1 — the paper's main prediction) #

#AdjKindInferred CCTheorem
9tallbasketballsuperbasketball_tall_infers_super
10shortbasketballsubbasketball_short_infers_sub
11talljockeysubjockey_tall_infers_sub
12shortjockeysuperjockey_short_infers_super

Alternative Literal Listener (Eq. 6, Fig. 2 — opposite predictions) #

#KindAdjLiteralPragmaticTheorem
13basketballtallsubsuper (#9)literal_basketball_tall_sub
14basketballshortsupersub (#10)literal_basketball_short_super
15jockeytallsupersub (#11)literal_jockey_tall_super
16jockeyshortsubsuper (#12)literal_jockey_short_sub
@[reducible, inline]

Discretized height: 0 through 10 in discrete steps (11 values).

Equations
Instances For

    Comparison classes: subordinate (the kind itself) or superordinate (the general population).

    Instances For
      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        @[implicit_reducible]
        Equations
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.

        Kinds (nominals) that can be modified by adjectives.

        Instances For
          def TesslerGoodman2022.instReprKind.repr :
          KindStd.Format
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            @[implicit_reducible]
            Equations
            @[implicit_reducible]
            Equations
            • One or more equations did not get rendered due to their size.

            Utterances: positive adjective, negative adjective, or silence.

            Instances For
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[implicit_reducible]
                Equations
                @[implicit_reducible]
                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

                      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
                        Instances For

                          Grounding: thresholdCount .tall equals the count of thresholds satisfying positiveMeaning.

                          Grounding: thresholdCount .short equals the count of thresholds satisfying negativeMeaning.

                          The model is [LG17]'s threshold RSA with the threshold θ marginalised analytically (into thresholdCount) and the comparison class c promoted to the Latent variable the listener infers:

                          L₀(x | u, c) ∝ P(x | c) · |{θ : ⟦u⟧(x, θ)}|         (`meaningE`, `L0k`)
                          S₁(u | x, c) ∝ L₀(x | u, c)  (α = 1, no cost)       (`Sk`)
                          L₁(x, c | u, k) ∝ S₁(u | x, c) · P(x | k) · P(c | k) (`listenerK`)
                          

                          Sk is a total speaker (a dite wrapper over PMF.normalize): at heights with zero prior weight for a kind (basketball at h ∈ {0,1}, jockey at h ∈ {9,10}) every utterance has literal mass 0, so the softmax normaliser vanishes and no ViableSpeaker instance exists; the junk uniform branch there is harmless because those heights carry joint prior weight 0 in L1.

                          def TesslerGoodman2022.meaningE (k : Kind) (c : ComparisonClass) (u : Utterance) (h : Height) :
                          ENNReal

                          Graded literal meaning P(h | c) · |{θ : ⟦u⟧(h, θ)}|, the product l0HeightWeight · thresholdCount cast to ℝ≥0∞.

                          Equations
                          Instances For
                            noncomputable def TesslerGoodman2022.L0k (k : Kind) (c : ComparisonClass) (u : Utterance) :
                            PMF Height

                            Per-kind literal listener L₀(· | u, c) : PMF Height, uniform-in-θ meaning normalised over heights.

                            Equations
                            Instances For
                              theorem TesslerGoodman2022.L0_val (N D : ) {k : Kind} {c : ComparisonClass} {u : Utterance} {h : Height} {q : } (hN : l0HeightWeight c k h * thresholdCount u h = N) (hD : h' : Height, l0HeightWeight c k h' * thresholdCount u h' = D) (hDpos : 0 < D) (hq : N / D = q) :
                              (L0k k c u) h = ENNReal.ofReal q

                              L0 value: L₀(h | u, c) = P(h|c)·|{θ:⟦u⟧(h)}| / D_c(u), an exact ENNReal.ofReal rational.

                              noncomputable def TesslerGoodman2022.Sk (k : Kind) (s : Height × ComparisonClass) :

                              Total speaker S₁(· | h, c) : PMF Utterance, the α = 1 softmax of the literal listener, guarded by a dite so it is defined even where the softmax normaliser vanishes (see the section note).

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                theorem TesslerGoodman2022.Sk_val {k : Kind} {c : ComparisonClass} {u : Utterance} {h : Height} {p z q : } (hp : (L0k k c u) h = ENNReal.ofReal p) (hZ : ∑' (u' : Utterance), (L0k k c u') h = ENNReal.ofReal z) (hppos : 0 p) (hz : 0 < z) (hq : p / z = q) :
                                (Sk k (h, c)) u = ENNReal.ofReal q

                                Speaker value: S₁(u | h, c) = L₀(h | u, c) / Z(h, c), an exact ENNReal.ofReal rational.

                                Unnormalised joint prior P(x | k) · P(c | k) — world prior is the kind's height distribution, latent (comparison-class) prior is flat, so the weight is P(x | k), independent of c.

                                Equations
                                Instances For
                                  noncomputable def TesslerGoodman2022.jointK (k : Kind) :

                                  The listener's joint prior over Height × ComparisonClass.

                                  Equations
                                  Instances For
                                    theorem TesslerGoodman2022.margK (k : Kind) (u : Utterance) :
                                    PMF.marginal (Sk k) (jointK k) u 0

                                    The listener marginal is non-zero for every kind and utterance: at (deg 5, subordinate) the joint prior and the literal listener are both positive (all height weights and threshold counts are non-zero at h = 5).

                                    noncomputable def TesslerGoodman2022.listenerK (k : Kind) (u : Utterance) :

                                    The pragmatic listener L₁(x, c | u, k) : PMF (Height × ComparisonClass).

                                    Equations
                                    Instances For

                                      The per-(kind, class, height) literal-listener values L₀, speaker normalisers Z, and speaker masses S₁ below are exact ENNReal.ofReal rationals, verified by decide (integer denominators) and norm_num (rational arithmetic). They feed the endorsement comparisons (§ 6) and the pooled listener sums (§ 8).

                                      Bball literal listener, normaliser, and speaker values #

                                      Jockey literal listener, normaliser, and speaker values #

                                      Each listener latent comparison reduces (listener_snd_lt) to these prior-weighted pooled speaker sums, one per (kind, utterance, class).

                                      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.

                                      Basketball Player (expected tall) #

                                      At height 6 (above person mean 5, below basketball mean ~6.8):

                                      At height 5 (at person mean, well below basketball mean):

                                      "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):

                                      "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 [LG17]'s threshold RSA. The key structural relationship:

                                      The height priors used here (personHeightWeight, basketballHeightWeight) match [LG17]'s general-population and basketball-player priors respectively — same empirical domain, different question. The cross-paper compatibility was previously enforced via personWeight_eq_lassiterGoodman / basketballWeight_eq_lassiterGoodman bridge theorems referencing RSA.LassiterGoodman2017.heightPrior; those were removed when L&G's old bundled-config formalisation was retired. The PMF formalisation (LassiterGoodman2017PMF.lean) does not duplicate the empirical priors.

                                      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 (listenerK k u).snd. The polarity × expectations interaction:

                                      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 grounds the rows in Data/Examples/TesslerGoodman2022.json (§3.2.1, Fig. 3): in every row, the EXPECTED adjective (consistent with the kind's height distribution) is attested with SUPERORDINATE comparison and the UNEXPECTED adjective with SUBORDINATE comparison. L1_matches_all_rows replicates the paper's Eq. 1 prediction for each row.

                                      Kind adapter: the row's noun feature as a Kind.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For

                                        Utterance adapter: the row's adjective feature as an Utterance.

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          Comparison-class adapter: the row's attested inferred_class feature.

                                          Equations
                                          • One or more equations did not get rendered due to their size.
                                          Instances For

                                            The pragmatic listener prefers the row's attested comparison class over the alternative (vacuous when a row lacks the adapter features).

                                            Equations
                                            • One or more equations did not get rendered due to their size.
                                            Instances For

                                              Transfer theorem (Eq. 1, Fig. 3): on every row, L1's posterior prefers the attested comparison class.

                                              The literal model makes the OPPOSITE predictions #

                                              [TG22] §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
                                              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.

                                                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:

                                                Since the weight functions are identical, the § 8 predictions transfer:

                                                ContextAdjectiveInferred CCHeight analogue
                                                winterwarmsubordinatejockey_tall_infers_sub
                                                wintercoldsuperordinatejockey_short_infers_super
                                                summerwarmsuperordinatebasketball_tall_infers_super
                                                summercoldsubordinatebasketball_short_infers_sub

                                                This connects to Semantics.Gradability.Dimension.temperature: temperature adjectives (warm/cold) are open-scale relative gradable adjectives, so — like tall — they require a comparison class (open_scale_requires_cc_inference; [Ken07]).

                                                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" #

                                                [Ken07]'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 [Kle80]), but rather contextual information that feeds into s. [TG22] 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:

                                                1. Degree.interpretiveEconomy (Theory: scale → standard type)
                                                2. Degree.PositiveStandard.RequiresComparisonClass (Theory: standard → domain-dependent?)
                                                3. listenerK with latent 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:

                                                1. "tall" has an open scale (lexical fact)
                                                2. Open scale → contextual standard via s (Interpretive Economy)
                                                3. Contextual s → needs domain information (Kennedy 2007, p. 42) Therefore the domain (descriptively: comparison class) must be inferred — exactly what listenerK models with latent 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.

                                                Threshold semantics for gradable adjectives generalizes to generic language: "Birds fly south in the winter" ≈ P(x flies south | x is a bird) > θ ([TG19]). Both models share:

                                                1. A threshold variable θ setting the standard
                                                2. A prior P(x | c) conditioned on category membership
                                                3. 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 DDRP: 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 [RS24a]'s domain restriction possibilities.

                                                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