The DE < anti-additive < anti-morphic hierarchy #
[Ica12]'s function classes (his Definition 1.7, after [Hoe83]
and Zwarts; cf. [Chi13] §1.4.3, [Lad80]): additive,
multiplicative, anti-additive, and anti-multiplicative functions, stated in
equational form over semilattices and instantiated at context functions
(Set W → Set W') and generalized quantifiers (Set E → Prop). Following
Icard, the plain properties are the binary equations; the IsCompletely*
refinements add his unit conditions (adopted for non-trivial linguistic
domains, his §1.1).
Main declarations #
IsAdditive,IsMultiplicative,IsAntiAdditive,IsAntiMultiplicative: the four classes, withMonotone/Antitoneconsequence lemmas;IsAntiMorphic: anti-additive and anti-multiplicative (Zwarts's class for superstrong NPIs);IsCompletely*: Icard's "completely P" refinements (unit conditions);isAntiAdditive_iff_mem,isAntiAdditive_iff_gq: pointwise bridges for theSet- and GQ-typed instances;licensesWeakNPI,licensesStrongNPI,licensesSuperstrongNPI: the Zwarts licensing thresholds ([Ica12] §4);- toy-
Worldwitnesses:pnot(anti-morphic),no_student(anti-additive),atMost1_student(DE but not anti-additive — the strictness witness).
Additive: f (p ⊔ q) = f p ⊔ f q.
Equations
- Entailment.IsAdditive f = ∀ (p q : α), f (p ⊔ q) = f p ⊔ f q
Instances For
Multiplicative: f (p ⊓ q) = f p ⊓ f q.
Equations
- Entailment.IsMultiplicative f = ∀ (p q : α), f (p ⊓ q) = f p ⊓ f q
Instances For
Anti-additive: f (p ⊔ q) = f p ⊓ f q. Polymorphic in domain and
codomain — needed e.g. for [Hoe83]'s S-comparative, anti-additive as
a function Set Degree → Set Individual.
Equations
- Entailment.IsAntiAdditive f = ∀ (p q : α), f (p ⊔ q) = f p ⊓ f q
Instances For
Anti-multiplicative: f (p ⊓ q) = f p ⊔ f q.
Equations
- Entailment.IsAntiMultiplicative f = ∀ (p q : α), f (p ⊓ q) = f p ⊔ f q
Instances For
Anti-morphic: anti-additive and anti-multiplicative — Zwarts's class of sentential negation, the superstrong-NPI licensors.
Equations
Instances For
Completely-variants ([Ica12] Definition 1.7) #
Icard: "by P we mean completely P" for linguistic application — the unit conditions amount to assuming non-trivial domains.
Completely additive: additive and f ⊤ = ⊤.
Equations
- Entailment.IsCompletelyAdditive f = (Entailment.IsAdditive f ∧ f ⊤ = ⊤)
Instances For
Completely multiplicative: multiplicative and f ⊥ = ⊥.
Equations
- Entailment.IsCompletelyMultiplicative f = (Entailment.IsMultiplicative f ∧ f ⊥ = ⊥)
Instances For
Completely anti-additive: anti-additive and f ⊤ = ⊥.
Equations
- Entailment.IsCompletelyAntiAdditive f = (Entailment.IsAntiAdditive f ∧ f ⊤ = ⊥)
Instances For
Completely anti-multiplicative: anti-multiplicative and f ⊥ = ⊤.
Equations
Instances For
Monotonicity consequences #
Each class refines monotonicity or antitonicity ([Ica12] Def. 1.7's closing remark).
Additive implies monotone.
Multiplicative implies monotone.
Anti-additive implies antitone ([Hoe83] Fact 4).
Anti-multiplicative implies antitone.
Anti-morphic implies anti-additive.
Anti-morphic implies anti-multiplicative.
Anti-morphic implies antitone.
mathlib hom-hierarchy bridges #
The function classes are the unbundled predicates for mathlib's bundled
lattice homs: an additive function is a SupHom, a multiplicative one an
InfHom. The anti-classes are the same notions read into the order dual —
anti-additivity is additivity composed with toDual (De Morgan duality),
so the .antitone consequences are the duals of the .monotone ones.
An additive function bundles as a SupHom.
Equations
- h.toSupHom = { toFun := f, map_sup' := h }
Instances For
A multiplicative function bundles as an InfHom.
Equations
- h.toInfHom = { toFun := f, map_inf' := h }
Instances For
De Morgan duality: anti-additivity is additivity into the order
dual — f sends joins to meets iff toDual ∘ f preserves joins.
Pointwise bridges #
The equational properties at the Set and GQ instances, in the membership
forms consumers destructure.
The GQ-typed instance (f : Set γ → Prop, Prop as a complete
lattice): anti-additivity is the familiar f (p ∪ q) ↔ f p ∧ f q.
Toy-World witnesses and NPI licensing thresholds #
Any function of the form fun X y => ∀ x ∈ X, P x y is anti-additive in
X. npComparative and Comparison.gt.overSet ([Hoe83]) instantiate this
with P x y := μ x < μ y and P d y := d < μ y respectively.
Negation is anti-multiplicative.
"No A is B" = ∀x. A(x) → ¬B(x).
Equations
- Entailment.no' restr scope x✝ = ∀ x ∈ Entailment.allWorlds, ¬(restr x ∧ scope x)
Instances For
"No student ___" with fixed restrictor.
Equations
Instances For
"No" is anti-additive in scope.
"At most n A's are B" - true if at most n worlds satisfy both.
Uses an existential over a sublist witness so the def is decidable
only when the predicates are decidable, but stays in Prop.
Equations
- Entailment.atMost n restr scope = ∀ (ws : List Entailment.World), ws.Nodup → (∀ w ∈ ws, restr w ∧ scope w) → ws.length ≤ n
Instances For
"At most 2 students ___" with fixed restrictor.
Equations
- Entailment.atMost2_student scope x✝ = Entailment.atMost 2 Entailment.p01 scope
Instances For
"At most 1 student ___" with fixed restrictor.
Equations
- Entailment.atMost1_student scope x✝ = Entailment.atMost 1 Entailment.p01 scope
Instances For
"At most n" is not anti-additive (counterexample): the strictness witness for DE ⊊ anti-additive.
Weak NPI licensing: requires DE.
Equations
Instances For
Strong NPI licensing: requires anti-additivity.
Equations
Instances For
Superstrong NPI licensing ([Ica12] §4, after Zwarts): requires anti-morphicity — a tad bit under not but not under no.
Equations
Instances For
DEStrength ↔ proof hierarchy ([Ica12] §4) #
DEStrength | Proof predicate | Example licensor |
|---|---|---|
.weak | IsDE | few, at most n |
.antiAdditive | IsAntiAdditive | no, nobody, without |
.antiMorphic | IsAntiMorphic | not, never |