Blok (2015): The semantics and pragmatics of directional numeral modifiers #
This file formalizes the paper's account of directional numeral modifiers, the prepositions of direction used to modify a numeral, such as up to. They differ from the other modifiers that set an upper bound, such as at most: their lower bound cannot be cancelled and their upper bound can, they are odd with the lowest number of a scale, and they do not license negative polarity items. The paper derives the differences from two claims. A directional modifier asserts a lower bound and only implicates its upper bound, and every Class B modifier needs a range of values to quantify over.
The implementation follows the paper's, in unrestricted inquisitive semantics. A sentence
denotes a set of possibilities. Up to n raises the possibilities that at least m hold, for
m from the bottom s of the scale to n, so its informational content is that at least s
hold (sUnion_upTo), with no upper bound. Exhaustifying each possibility against the question
of how many leaves the possibilities of exactly m, and the upper bound n is an implicature
(sUnion_exh_upTo). At most n, on Coppock and Brochhagen's analysis, raises the
possibilities between m and n, so its content is the upper bound and is compatible with
zero (sUnion_atMost). The range requirement is that the sentence raise more than one
possibility, which fails for up to at the bottom of the scale and for at most 0
(nontrivial_upTo, nontrivial_atMost). The paper's judgments on the two kinds of modifier
are checked against these predictions (judgment_rows).
Implementation notes #
Worlds are counts, as in the paper's simplified model with one world for each number. A
proposition is a Set (Set ℕ) and not the library's Question, which is downward closed and
identifies a proposition with its maximal possibilities, while the possibilities of up to
are nested. At most is Coppock and Brochhagen's entry on the question of how many with
one-sided answers (atMost_eq), and exhaustification is theirs too. The bottom of the scale is
1 in the rows, the whole numbers.
References #
The two denotations #
(45): up to n on a scale with bottom s raises the possibilities that at least m
hold, for each m from s to n.
Equations
- Blok2015.upTo s n = Set.Ici '' Set.Icc s n
Instances For
At most n (43c) is [CB13]'s entry on the question of how many, with
an answer Ici m for each lower bound m.
Equations
- One or more equations did not get rendered due to their size.
Instances For
At most n raises the possibilities that between m and n hold, for each m up to n.
The informational content of up to n is its lower bound. At least the bottom of the
scale hold, and nothing bounds the count from above.
The informational content of at most n is its upper bound.
The implicated upper bound #
(51): the question of how many, with a possibility for each lower bound.
Equations
- Blok2015.howMany = Set.range Set.Ici
Instances For
Exhaustified against the question of how many, at least m is exactly m.
Exhaustification turns the possibilities of up to n into those of exactly m, for m
from the bottom of the scale to n (50), (51).
The upper bound of up to n is an implicature. The exhaustified content is bounded by
n, where the asserted content sUnion_upTo is not.
The range requirement #
Up to n raises more than one possibility just in case n is above the bottom of the
scale, which is the bottom-of-the-scale effect.
At most n raises more than one possibility just in case n is not zero.
Monotonicity #
The asserted content of up to is closed upward and that of at most downward, so only at most is downward monotone and licenses negative polarity items.
The judgments #
The diagnostics of the paper's examples are a continuation if any, a contrast with no-one, a continuation that cancels or reinforces the upper bound, a bare sentence testing the range requirement, and a negative polarity item.
Instances For
Equations
- Blok2015.instDecidableEqTest x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Blok2015.instReprTest = { reprPrec := Blok2015.instReprTest.repr }
Equations
- Blok2015.instReprTest.repr Blok2015.Test.ifAny prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Blok2015.Test.ifAny")).group prec✝
- Blok2015.instReprTest.repr Blok2015.Test.butNone prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Blok2015.Test.butNone")).group prec✝
- Blok2015.instReprTest.repr Blok2015.Test.upperBound prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Blok2015.Test.upperBound")).group prec✝
- Blok2015.instReprTest.repr Blok2015.Test.range prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Blok2015.Test.range")).group prec✝
- Blok2015.instReprTest.repr Blok2015.Test.npi prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Blok2015.Test.npi")).group prec✝
Instances For
The diagnostic a row's feature names.
Equations
- Blok2015.testOf "ifAny" = some Blok2015.Test.ifAny
- Blok2015.testOf "butNone" = some Blok2015.Test.butNone
- Blok2015.testOf "evenMore" = some Blok2015.Test.upperBound
- Blok2015.testOf "noMore" = some Blok2015.Test.upperBound
- Blok2015.testOf "range" = some Blok2015.Test.range
- Blok2015.testOf "npi" = some Blok2015.Test.npi
- Blok2015.testOf x✝ = none
Instances For
The possibilities a modifier raises with the number n on the scale of the whole numbers,
by whether the modifier is directional.
Equations
- Blok2015.proposition directional n = if directional = true then Blok2015.upTo 1 n else Blok2015.atMost n
Instances For
What the account predicts acceptable. If any needs content compatible with zero and the contrast with no-one content that excludes it. Cancelling or reinforcing the upper bound needs a bound that is not asserted. A bare sentence needs more than one possibility, and a negative polarity item downward monotone content.
Equations
- Blok2015.Predicted P n Blok2015.Test.ifAny = (0 ∈ ⋃₀ P)
- Blok2015.Predicted P n Blok2015.Test.butNone = (0 ∉ ⋃₀ P)
- Blok2015.Predicted P n Blok2015.Test.upperBound = (n + 1 ∈ ⋃₀ P)
- Blok2015.Predicted P n Blok2015.Test.range = P.Nontrivial
- Blok2015.Predicted P n Blok2015.Test.npi = IsLowerSet (⋃₀ P)
Instances For
Equations
- One or more equations did not get rendered due to their size.
Every judgment of the paper's rows is the account's prediction. A row is acceptable just in case its modifier, with its number, passes its diagnostic.