Plural Distributivity and Non-Maximality #
Formalizes the independence of distributivity and maximality, following Križ & @cite{kriz-spector-2021} and @cite{haslinger-etal-2025}.
Insight #
Distributivity (predicate applies to each atom) and maximality (no exceptions allowed) are orthogonal semantic properties. The tolerance relation ⪯ (which pluralities count as "similar enough") is a contextual parameter—essentially a QUD on the plurality domain.
Connection to QUD Infrastructure #
A tolerance relation induces a partition on pluralities:
- Identity tolerance → exact QUD (every distinction matters)
- Coarser tolerance → coarser QUD (some exceptions irrelevant)
This parallels how QUDs partition propositions in Core/QUD.lean.
A tolerance relation determines which sub-pluralities count as "similar enough" to the whole for current conversational purposes.
Formally: ⪯ is reflexive and respects mereological structure.
- rel : Finset Atom → Finset Atom → Prop
y ⪯ x: y is similar enough to x
- decRel (x y : Finset Atom) : Decidable (self.rel x y)
Decidability of the tolerance relation.
- refl (x : Finset Atom) : self.rel x x
Reflexivity
- sub (x y : Finset Atom) : self.rel x y → x ⊆ y
Tolerance implies part-of
Instances For
Per-Tolerance decidability instance for the relation.
Equations
- tol.instDecidableRel x y = tol.decRel x y
Identity: only x ⪯ x (forces maximal reading)
Equations
- Semantics.Plurality.Distributivity.Tolerance.identity = { rel := fun (x y : Finset Atom) => x = y, decRel := fun (x y : Finset Atom) => decEq x y, refl := ⋯, sub := ⋯ }
Instances For
Trivial: any part is tolerated (allows existential reading). @cite{kriz-spector-2021} call this the trivial tolerance — the relation is just sub-pluralityhood, with no further restriction.
Equations
- Semantics.Plurality.Distributivity.Tolerance.trivial = { rel := fun (x y : Finset Atom) => x ⊆ y, decRel := fun (x y : Finset Atom) => Finset.decidableDforallFinset, refl := ⋯, sub := ⋯ }
Instances For
Maximal distributive: ⟦each P⟧(x) = ∀a ∈ x. P(a)
This is the semantics of English "each", German "jeder".
Equations
- Semantics.Plurality.Distributivity.distMaximal P x w = ∀ a ∈ x, P a w
Instances For
Equations
- Semantics.Plurality.Distributivity.distMaximal.instDecidable P x w = id inferInstance
Tolerant distributive: ⟦each* P⟧^⪯(x) = ∃z. z ⪯ x ∧ z ≠ ∅ ∧ ∀a ∈ z. P(a)
This is the semantics of German "jeweils" (for non-max speakers). The nonemptiness constraint prevents the empty set from vacuously witnessing truth (∀a ∈ ∅, P a w is trivially true).
Equations
- Semantics.Plurality.Distributivity.distTolerant P tol x w = ∃ z ∈ x.powerset, z.Nonempty ∧ tol.rel z x ∧ ∀ a ∈ z, P a w
Instances For
Equations
- Semantics.Plurality.Distributivity.distTolerant.instDecidable P tol x w = id inferInstance
Maximal distributive ↔ tolerant distributive with identity tolerance (on nonempty pluralities).
Maximal distributive forces all atoms to satisfy P
Tolerant distributive with trivial tolerance allows exceptions
The Križ & @cite{kriz-spector-2021} Account #
@cite{kriz-spector-2021}
The K&S theory explains both homogeneity and non-maximality through:
Candidate interpretations: For "the Xs are P", generate propositions {∀a∈z. P(a) | z ⊆ X} for all sub-pluralities z.
Trivalent semantics:
- TRUE at w: all candidates true at w
- FALSE at w: all candidates false at w
- GAP: some true, some false
Homogeneity: The gap is symmetric under negation. This explains why "the Xs are P" (quasi-universal) and "the Xs aren't P" (quasi-existential) have the same undefined region.
Non-maximality: QUD-based relevance filtering reduces the candidate set, allowing sentences to be judged true even when not all candidates hold.
All atoms in x satisfy P at w
Equations
- Semantics.Plurality.Distributivity.allSatisfy P x w = ∀ a ∈ x, P a w
Instances For
Equations
- Semantics.Plurality.Distributivity.allSatisfy.instDecidable P x w = id inferInstance
Some atom in x satisfies P at w
Equations
- Semantics.Plurality.Distributivity.someSatisfy P x w = ∃ a ∈ x, P a w
Instances For
Equations
- Semantics.Plurality.Distributivity.someSatisfy.instDecidable P x w = id inferInstance
No atom in x satisfies P at w
Equations
- Semantics.Plurality.Distributivity.noneSatisfy P x w = ∀ a ∈ x, ¬P a w
Instances For
Equations
- Semantics.Plurality.Distributivity.noneSatisfy.instDecidable P x w = id inferInstance
The trivalent truth value for plural predication "the Xs are P".
- TRUE: all atoms satisfy P
- FALSE: no atoms satisfy P
- GAP: some but not all satisfy P
This is the core of @cite{kriz-spector-2021} Section 2, instantiated as a supervaluation over the atoms of the plurality: each atom is a "specification point", and predication is super-true iff the predicate holds at all of them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
pluralTruthValue is .true iff allSatisfy holds
pluralTruthValue is .false iff noneSatisfy holds (and x is nonempty)
pluralTruthValue is .indet iff witnesses on both sides exist
pluralTruthValue is Core.Duality.dist on the plurality.
Bridge from Križ-Spector trivalent plural predication to the canonical
trivalent classifier. Both are Fine super-truth (van Fraassen 1966
supervaluation) — pluralTruthValue parameterized over an atom-world
predicate, dist over an arbitrary Finset α + (α → Prop). The
nonempty case routes through superTrue_eq_dist; the empty case
matches because both give .true (vacuous super-truth).
If all satisfy P, then none satisfy ¬P
If none satisfy P, then all satisfy ¬P
The gap condition: some but not all atoms satisfy P
Equations
- Semantics.Plurality.Distributivity.inGap P x w = ((∃ a ∈ x, P a w) ∧ ∃ a ∈ x, ¬P a w)
Instances For
Homogeneity Theorem (Križ & @cite{kriz-spector-2021}, Section 2.1).
The gap is symmetric under negation: a world is in the gap for P iff it's in the gap for ¬P.
This explains why:
- "The Xs are P" is undefined when some but not all Xs are P
- "The Xs aren't P" is ALSO undefined in exactly those worlds
Proof: The gap for P is {∃a.P(a) ∧ ∃a.¬P(a)}. The gap for ¬P is {∃a.¬P(a) ∧ ∃a.¬¬P(a)} = {∃a.¬P(a) ∧ ∃a.P(a)}. These are identical (in classical logic; uses Decidable on P).
Corollary: pluralTruthValue is gap iff negated version is gap.
Homogeneity Polarity Theorem: Truth and falsity swap under negation.
If "the Xs are P" is TRUE, then "the Xs are ¬P" is FALSE, and vice versa.
Note: Requires x to be nonempty. For empty x, both allSatisfy P and
allSatisfy ¬P are vacuously true, so the theorem doesn't hold.
On singletons, distMaximal reduces to the predicate itself.
This is WHY each/jeder forces maximality: when it distributes P to individual
atoms, the result is just P(a) — there's no plurality for tolerance to weaken.
@cite{haslinger-etal-2025} §2.3, the argument below the four-way classification.
On pairs, distMaximal reduces to conjunction of individual checks.
This is the two-atom instance of Link's distributive inference
(distr_atom_part in Link1983.lean): for a distributive P, checking
*P on a two-atom plurality {a, b} reduces to P(a) ∧ P(b).
When a = b, {a, b} = {a} (Finset dedup) and the result
degenerates to P a w (= P a w ∧ P a w by and_self).
Atom Vacuity Theorem (general).
On singletons, distTolerant reduces to the predicate itself for ANY
tolerance relation — not just identity tolerance.
This is because {a} has exactly one nonempty subset (itself), and
tol.refl guarantees tol.rel {a} {a} holds. The tolerance parameter
literally has nothing to vary over.
Corollary: on singletons, all tolerance relations agree.
Special case: identity tolerance on singletons.
Classification by [±distributive] × [±maximal].
@cite{haslinger-etal-2025} present a four-cell typology in which the two properties are argued to be orthogonal: all four cells are attested or predicted.
- isDistributive : Bool
Does this operator force the predicate to apply to each atom separately?
- isMaximal : Bool
Does this operator block exception tolerance (force all atoms to satisfy P)?
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Semantics.Plurality.Distributivity.instBEqDistMaxClass.beq { isDistributive := a, isMaximal := a_1 } { isDistributive := b, isMaximal := b_1 } = (a == b && a_1 == b_1)
- Semantics.Plurality.Distributivity.instBEqDistMaxClass.beq x✝¹ x✝ = false
Instances For
each, jeder (DP and distance): +dist, +max
Equations
- Semantics.Plurality.Distributivity.DistMaxClass.distMax = { isDistributive := true, isMaximal := true }
Instances For
jeweils: +dist, -max
Equations
- Semantics.Plurality.Distributivity.DistMaxClass.distNonMax = { isDistributive := true, isMaximal := false }
Instances For
all/alle: -dist, +max
Equations
- Semantics.Plurality.Distributivity.DistMaxClass.nonDistMax = { isDistributive := false, isMaximal := true }
Instances For
definite plurals: -dist, -max
Equations
- Semantics.Plurality.Distributivity.DistMaxClass.nonDistNonMax = { isDistributive := false, isMaximal := false }
Instances For
Hypothetical exception-tolerant DP quantifier. @cite{haslinger-etal-2025} flag this as a typology cell predicted possible by the Križ & @cite{kriz-spector-2021} framework but not attested in any known language. The non-attestation is a typological puzzle — the formal tools for non-maximality (tolerance relations) don't inherently block DP-internal quantifiers from using them.
⟦[jeder* P] Q⟧^≤ = λw.∃z[z ≤ ⊕P ∧ ∀y[y ∈ AT ∧ y ⊑ z → ⟦Q⟧^≤(w)(y)]]
Equations
- Semantics.Plurality.Distributivity.distTolerantQuant restrictor scope tol x w = ∃ z ∈ x.powerset, z.Nonempty ∧ tol.rel z x ∧ (∀ a ∈ z, restrictor a w) ∧ ∀ a ∈ z, scope a w