Documentation

Linglib.Phenomena.Numerals.Studies.Cummins2015

@cite{cummins-2015}: OT Constraints, k-ness, NSAL, and RSA Cost #

@cite{cummins-2015} @cite{kao-etal-2014-hyperbole} @cite{lasersohn-1999} @cite{woodin-etal-2023}

Self-contained study of @cite{cummins-2015}: an Optimality-Theoretic constraint system for numeral production plus the bridges to graded roundness, RSA cost, and the @cite{kao-etal-2014-hyperbole} PrecisionMode switch.

OT Constraints #

Speakers choose among candidate numeral expressions by trading off four constraints:

  1. INFO (informativeness): prefer smaller admitted set
  2. Granularity: match contextual precision level
  3. QSIMP (quantifier simplicity): prefer bare numerals
  4. NSAL (numeral salience): prefer round/salient numerals

The empirical bridge to the k-ness model is nsalViolations: NSAL violations equal maxRoundnessScore - roundnessScore(n), so rounder numbers incur fewer NSAL violations.

A ViolationProfile is Core.Constraint.Profile Nat 4 (i.e. Fin 4 → Nat), matching the codebase's standard violation-profile abstraction. Profile indices fix the constraint order: 0 = INFO, 1 = Granularity, 2 = QSIMP, 3 = NSAL.

Two preorders on profiles are exposed, both as Core.Order.FeaturePreorder instances so they fit the schema established in Core/Constraint/Pareto.lean:

viewfeaturefeature-space order
paretoPreorderid : ViolationProfileViolationProfilepointwise
qualPreorderviolatedSetOf : … → Finset (Fin 4)subset

paretoPreorder_le_implies_qualPreorder_le is a one-line application of FeaturePreorder.coarsen_via_monotone with violatedSetOf as the connecting monotone map. The legacy criterion-based view via SatisfactionOrdering is preserved as cumminsOrdering.

Downstream Bridges #

  1. NSAL as RSA cost — the OT violation count, normalised to [0, 1], serves as the RSA cost : U → ℚ parameter. Round numerals are cheap; non-round are expensive.
  2. k-ness as PrecisionMode thresholdroundnessScore ≥ 2 triggers .approximate mode, grounding the binary switch used by @cite{kao-etal-2014-hyperbole}. The pragmatic halo width (@cite{lasersohn-1999}, @cite{krifka-2007}) is also wider for round numerals.

The lexical bridge to Fragments.English.NumeralModifiers documents the expected interaction between requiresRound modifiers and high k-ness anchors.

Form of the numeral expression. Bare numerals are simplest; modified forms add complexity (and pay a QSIMP cost).

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

      A candidate numeral expression for OT evaluation.

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

          Infer granularity from a numeral's trailing zeros: 100 → 2, 110 → 1, 111 → 0.

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

            INFO: violations = |admittedSet| - 1. Less informative expressions (which admit more values) incur more violations.

            Equations
            Instances For
              def Phenomena.Numerals.Studies.Cummins2015.granularityViolations (contextGranularity uttGranularity : ) :

              Granularity: violations = |contextGranularity − utteranceGranularity|.

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

                NSAL: violations = maxRoundnessScore - roundnessScore(n). Maximally round numbers (score 6) → 0; non-round (score 0) → 6. The complement of the graded roundness score, which is the load-bearing connection between the OT account and the k-ness model.

                Equations
                Instances For
                  @[reducible, inline]

                  A ViolationProfile is a Profile Nat 4 — a 4-vector of violation counts indexed by Fin 4. Index order: 0 = INFO, 1 = Granularity, 2 = QSIMP, 3 = NSAL. Reusing Core.Constraint.Profile means the abstractions in Core/Constraint/Pareto.lean (Pareto preorder, qualitative coarsening, coarsen_via_monotone) apply directly without an extra projection layer.

                  Equations
                  Instances For

                    Compute the violation profile for a candidate. Indices: 0 = INFO, 1 = Granularity, 2 = QSIMP, 3 = NSAL.

                    Equations
                    Instances For

                      Pointwise Pareto preorder on violation profiles as a FeaturePreorder with the identity feature: v ≤ v' iff every component of v is the corresponding component of v'. The partial-order backbone that lex-OT extends; lex breaks ties using the constraint ranking.

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

                        Qualitative coarsening as a FeaturePreorder: feature is the set of violated constraint indices, feature-space order is Finset.⊆. The underlying preorder is identical in extension to cumminsOrdering's, but presented as a feature pullback so the same coarsen_via_monotone schema applies.

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

                          Pointwise dominance ⇒ qualitative dominance. A one-line corollary of FeaturePreorder.coarsen_via_monotone with the violated-index extractor as the connecting monotone map — identical in shape to paretoFeaturePreorder_le_implies_qualitativeFeaturePreorder_le in Core/Constraint/Pareto.lean.

                          The four OT constraints as a criterion type. Field order matches ViolationProfile indices (info ↔ 0, …, nsal ↔ 3).

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

                              A SatisfactionOrdering over violation profiles using the four @cite{cummins-2015} constraints. Coarsens the OT system: a candidate "satisfies" a constraint iff it incurs 0 violations. The resulting ordering is weaker than lex-OT (which discriminates by violation degree) but captures the structural backbone: a candidate that satisfies a strict superset of constraints is always OT-preferred.

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

                                A candidate with zero violations everywhere is at-least-as-good as any other under the satisfaction ordering.

                                NSAL violations as a normalised RSA cost ∈ [0, 1]. Bridges the OT NSAL constraint to the RSA cost parameter: round numerals are "cheap" (≈ 0), non-round are "expensive" (≈ 1). The denominator is maxRoundnessScore, so the codomain is exactly [0, 1].

                                Equations
                                Instances For

                                  Maximally round numerals are free (zero cost). Reduces to the Nat-level fact nsalViolations 100 = 0 (closed by decide) plus 0 / x = 0 over ℚ.

                                  Round numerals incur strictly lower RSA cost than non-round ones. Nat-level reduction of nsalViolations followed by norm_num over ℚ.

                                  inferPrecisionMode (in Numerals.Precision) is defined by roundnessScore n ≥ 2 → .approximate. This subsection records the grounding theorems for representative numerals plus the general bridge that every multiple of 10 falls in .approximate mode.

                                  General bridge. Every multiple of 10 is interpreted in .approximate mode. Follows from score_ge_two_of_div10: the score is at least 2, so the roundnessScore n ≥ 2 branch of inferPrecisionMode fires.

                                  Pragmatic halo width is strictly wider for round numerals (100) than for non-round (7) — the quantitative content of @cite{lasersohn-1999}'s halo intuition under the k-ness operationalisation.

                                  The lexical entry for "approximately" carries requiresRound = false. @cite{cummins-2015} predicts that combinations with low-k anchors are grammatical but marked — naturalness correlates with k-ness rather than being a hard constraint.