Counting generalized quantifiers #
The counting quantifiers most, few, half, both, neither, at least n, at most n,
exactly n, all but n and between n and k hold of A and B according to |A \ B| and
|A ∩ B| alone, so each is the quantifier of a set of points on van Benthem's tree of numbers.
Defined that way they are conservative and permutation invariant by construction, and their
monotonicity, smoothness and proportionality are read off the tree. Sizes are Set.ncard,
which asks for no decidability. On a finite type with decidable arguments each quantifier is
decidable through the Finset count of each size, so a concrete case closes by decide. A
quantifier restricted to a finite set s of individuals is the quantifier with restrictor
x ∈ s ∧ A x.
Main definitions #
Quantifier.NumberTree.most,Quantifier.NumberTree.atLeast, …: the trees of the counting quantifiers, withQuantifier.NumberTree.thresholdfor a proportion of the restrictor.Quantifier.GQ.most,Quantifier.GQ.atLeast, …: their quantifiers.Quantifier.GQ.Proportional: dependence on the ratio of|A ∩ B|to|A \ B|.
Main results #
Quantifier.GQ.smooth_most,Quantifier.GQ.proportional_most: most is smooth and proportional.Quantifier.NumberTree.thresholdGt_one_two: more than half is most.Quantifier.GQ.not_existential_most,Quantifier.GQ.not_monotone_half: most is not existential, and half is monotone in its scope in neither direction.
References #
The trees of the counting quantifiers #
Most holds when more of A lies inside B than outside it.
Equations
- Quantifier.NumberTree.most a b = (a < b)
Instances For
Few holds when less of A lies inside B than outside it.
Equations
- Quantifier.NumberTree.few a b = (b < a)
Instances For
Half holds when as much of A lies inside B as outside it.
Equations
- Quantifier.NumberTree.half a b = (a = b)
Instances For
Both holds when A has two members, both in B.
Equations
- Quantifier.NumberTree.both a b = (a = 0 ∧ b = 2)
Instances For
Neither holds when A has two members, neither in B.
Equations
- Quantifier.NumberTree.neither a b = (a = 2 ∧ b = 0)
Instances For
At least n holds when at least n members of A lie in B.
Equations
- Quantifier.NumberTree.atLeast n x✝ b = (n ≤ b)
Instances For
At most n holds when at most n members of A lie in B.
Equations
- Quantifier.NumberTree.atMost n x✝ b = (b ≤ n)
Instances For
Exactly n holds when exactly n members of A lie in B.
Equations
- Quantifier.NumberTree.exactly n x✝ b = (b = n)
Instances For
All but n holds when exactly n members of A lie outside B.
Equations
- Quantifier.NumberTree.allBut n a x✝ = (a = n)
Instances For
Between n and k holds when between n and k members of A lie in B.
Equations
- Quantifier.NumberTree.between n k x✝ b = (n ≤ b ∧ b ≤ k)
Instances For
The threshold n / d holds when at least that proportion of A lies in B.
Equations
- Quantifier.NumberTree.threshold n d = Quantifier.NumberTree.ofSizes fun (x p : ℕ) => n * p ≤ d * x
Instances For
The strict threshold n / d holds when more than that proportion of A lies in B.
Equations
- Quantifier.NumberTree.thresholdGt n d = Quantifier.NumberTree.ofSizes fun (x p : ℕ) => n * p < d * x
Instances For
Equations
- Quantifier.NumberTree.instDecidableRelNatMost a b = a.decLt b
Equations
- Quantifier.NumberTree.instDecidableRelNatFew a b = b.decLt a
Equations
- Quantifier.NumberTree.instDecidableRelNatHalf a b = a.decEq b
Equations
- Quantifier.NumberTree.instDecidableRelNatBoth a b = { decide := decide (a = 0) && decide (b = 2), reflects_decide := ⋯ }
Equations
- Quantifier.NumberTree.instDecidableRelNatNeither a b = { decide := decide (a = 2) && decide (b = 0), reflects_decide := ⋯ }
Equations
- Quantifier.NumberTree.instDecidableRelNatAtLeast n x✝ b = n.decLe b
Equations
- Quantifier.NumberTree.instDecidableRelNatAtMost n x✝ b = b.decLe n
Equations
- Quantifier.NumberTree.instDecidableRelNatExactly n x✝ b = b.decEq n
Equations
- Quantifier.NumberTree.instDecidableRelNatAllBut n a x✝ = a.decEq n
Equations
- Quantifier.NumberTree.instDecidableRelNatBetween n k x✝ b = { decide := decide (n ≤ b) && decide (b ≤ k), reflects_decide := ⋯ }
Equations
- Quantifier.NumberTree.instDecidableRelNatThreshold n d a b = { decide := (n * (a + b)).ble (d * b), reflects_decide := ⋯ }
Equations
- Quantifier.NumberTree.instDecidableRelNatThresholdGt n d a b = { decide := (n * (a + b)).succ.ble (d * b), reflects_decide := ⋯ }
More than half is most.
Proportionality #
A tree is proportional when on nonempty rows it depends only on the ratio of b to a.
Equations
- q.Proportional = ∀ (a b a' b' : ℕ), 0 < a + b → 0 < a' + b' → b * a' = b' * a → (q a b ↔ q a' b')
Instances For
The counting quantifiers #
Most A are B when more of the A are B than are not.
Equations
Instances For
Few A are B when fewer of the A are B than are not, the inner negation of
most.
Equations
Instances For
Half the A are B when as many of the A are B as are not.
Equations
Instances For
Both is every on a restrictor of two, Keenan and Stavi's each of the two.
Equations
Instances For
Neither is no on a restrictor of two, Keenan and Stavi's not one of the two.
Instances For
At least n A are B when n ≤ |A ∩ B|.
Equations
Instances For
At most n A are B when |A ∩ B| ≤ n.
Equations
Instances For
Exactly n A are B when |A ∩ B| = n.
Equations
Instances For
All but n A are B when |A \ B| = n.
Equations
Instances For
Between n and k A are B when n ≤ |A ∩ B| ≤ k.
Equations
- Quantifier.GQ.between n k = (Quantifier.NumberTree.between n k).toGQ
Instances For
Equations
Equations
Equations
Equations
Equations
Identities #
On a finite universe every is the quantifier of the tree's all.
On a finite universe no is the quantifier of the tree's no.
On a finite universe some is at least one.
Monotonicity #
On a nonempty finite universe most is not scope antitone, since most ⊤ ⊤ holds and
most ⊤ ⊥ fails.
Smoothness #
Proportionality #
A quantifier is proportional when on nonempty restrictors its truth depends only on the
ratio of |A ∩ B| to |A \ B|.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The quantifier of a proportional tree is proportional.
Counterexamples on small universes #
The proportional quantifiers fail Existential, the condition for felicity in
there-sentences, although Barwise and Cooper's Table II labels few and half weak: their
truth depends on |A \ B|, not just on |A ∩ B|. Few already fails it on one individual,
most and half on two.
Most fails Existential, by A = ⊤ and B = {0} on two individuals.
Few fails Existential, by A = ⊤ and B = ∅ on one individual.
Half fails Existential, by A = ⊤ and B = {0} on two individuals.
Most is not persistent: enlarging the restrictor from {0} to {0, 2} loses the
majority for B = {0}.
Most is not symmetric, by A = {0} and B = {0, 1}.
Half is non-monotone in its scope, neither monotone nor antitone ([vdPLvM+23]).
Over a domain of more than n individuals, exactly n is not monotone in its scope.
Over a domain of at least n individuals, n positive, exactly n is not antitone in its
scope.
Both holds of a restrictor of two and fails of one of three.
On a singleton restrictor most is the scope's value at the singleton.
The families of the canonical denotations #
Each canonical denotation given on every finite domain, the readings a lexicon entry draws on.