Pragmatic Halo and Precision Modes #
@cite{krifka-2007} @cite{lasersohn-1999} @cite{woodin-etal-2023} @cite{kao-etal-2014-hyperbole}
Rounding semantics for numeral imprecision. Round numbers (100, 1000) are interpreted imprecisely; sharp numbers (103, 1001) are interpreted precisely. This is the "pragmatic halo" effect.
Precision mode for numeral interpretation.
- exact : PrecisionMode
- approximate : PrecisionMode
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- Semantics.Numerals.Precision.instDecidableEqPrecisionMode x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Round a rational number to the nearest multiple of base.
Equations
- Semantics.Numerals.Precision.roundToNearest n base = if (base == 0) = true then n else have scaled := n / base; have rounded := (scaled + 1 / 2).floor; ↑rounded * base
Instances For
Check if a number is "round" (divisible by base).
Equations
- Semantics.Numerals.Precision.isRoundNumber n base = (Semantics.Numerals.Precision.roundToNearest n base == n)
Instances For
Rounding equivalence: two values are equivalent if they round to the same number.
Equations
- Semantics.Numerals.Precision.roundingEquiv n₁ n₂ base = (Semantics.Numerals.Precision.roundToNearest n₁ base == Semantics.Numerals.Precision.roundToNearest n₂ base)
Instances For
Project a value according to precision mode.
Equations
Instances For
Check if stated and actual values match under a given precision mode.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adaptive rounding base: rounder numbers get a coarser base.
Uses RoundnessGrade to avoid duplicating score-binning logic.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Adaptive tolerance: scales a base tolerance by the roundness score.
Equations
- Semantics.Numerals.Precision.adaptiveTolerance n baseTol = baseTol * (1 + ↑(Core.Roundness.roundnessScore n) / 6)
Instances For
Pragmatic halo width as a function of roundness score.
Equations
- Semantics.Numerals.Precision.haloWidth n = (if n ≥ 1000 then 50 else if n ≥ 100 then 10 else if n ≥ 10 then 5 else 1) * ↑(Core.Roundness.roundnessScore n) / 6
Instances For
Infer precision mode from k-ness score.
roundnessScore ≥ 2 → .approximate; roundnessScore < 2 → .exact.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Multiples of 10 have adaptive base ≥ 5.
Speaker-conditioned pragmatic halo width: scales the base haloWidth
by a tolerance multiplier. @cite{beltrama-schwarz-2024} show that
numeral precision is jointly determined by roundness AND speaker
identity — the pragmatic halo is not a property of the number alone
but of the number-speaker pair.
Equations
- Semantics.Numerals.Precision.speakerModulatedHalo multiplier n = multiplier * Semantics.Numerals.Precision.haloWidth n
Instances For
Whether an actual value falls within the speaker-conditioned pragmatic halo of a stated value.
Equations
- One or more equations did not get rendered due to their size.