Covert Operators: Theory and Compositional Interface #
@cite{krifka-etal-1995} @cite{carlson-1977} @cite{guerrini-2026}
Covert operators (Gen, DIST, Hab, DPP) are semantically contentful LF nodes with no overt realization. This module provides:
Abstract quantifier theory (
covertQ,measure,thresholdQ) — domain-polymorphic semantics with eliminability proofs. GEN and HAB are both instances.Montague-typed constructors (
gen,genThreshold,dist,dpp,hab) —LexEntryvalues that compose via FA inevalTree. These package the theory-layer semantics for tree-based interpretation.
Usage #
open Semantics.Lexical.CovertQuantifier (genThreshold dist dpp extendLexicon)
def myLex : Lexicon myModel :=
extendLexicon baseLex
[("Gen", genThreshold myModel atoms 2 3),
("DIST", dist myModel atomsOf)]
A covert quantifier: ∀d ∈ domain. restriction(d) → scope(d).
GEN instantiates with D = Situation, restriction = normal ∧ restrictor.
HAB instantiates with D = Occasion, restriction = characteristic.
Equations
- Semantics.Lexical.CovertQuantifier.covertQ domain restriction scope = domain.all fun (d : D) => !restriction d || scope d
Instances For
Dual formulation: no counterexample exists.
Equations
Instances For
The two formulations are equivalent (De Morgan).
Threshold-based alternative: measure > θ.
Equations
- Semantics.Lexical.CovertQuantifier.thresholdQ domain restriction scope θ = decide (Semantics.Lexical.CovertQuantifier.measure domain restriction scope > θ)
Instances For
Measure is at most 1 (when restriction domain is non-empty).
Any covert quantifier configuration can be matched by threshold semantics.
Note: this is a degeneracy result — the existential threshold is either -1 (if Q holds) or 1 (if Q fails). It shows eliminability in principle, not that the threshold is informative. The RSA treatment adds substance by making the threshold uncertain and pragmatically inferred.
Gen: (e→t) → (e→t) → t. Dyadic generic quantifier.
generally encodes the truth conditions — different theories
instantiate it differently (threshold, normalcy, probabilistic).
traditionalGEN (in Generics.lean) and thresholdQ (above)
are specific instantiations.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gen with threshold: true iff ≥ num/denom of restrictor-satisfying
atoms also satisfy scope. Montague-typed counterpart of thresholdQ.
Equations
- One or more equations did not get rendered due to their size.
Instances For
DIST: (e→t) → (e→t). Distributive operator.
atomsOf x returns the atomic parts of x — for atomic entities
it returns [x], for plural/kind entities their parts.
Montague-typed counterpart of Distributivity.distMaximal.
Equations
- One or more equations did not get rendered due to their size.
Instances For
DPP: (e→t) → (e→t) → t. Derived Property Predication.
DPP(P)(Q) = ∃x[P(x) ∧ Q(x)]. An existential type-shift for kind-denoting NPs combining with stage-level predicates. @cite{guerrini-2026} structure (105b).
Equations
- One or more equations did not get rendered due to their size.
Instances For
Hab: (e→t) → (e→t). Habitual aspectual operator.
h maps a predicate to its habitual counterpart.
Montague-typed counterpart of traditionalHAB (in Habituals.lean).
Equations
- Semantics.Lexical.CovertQuantifier.hab m h = { ty := (Semantics.Montague.Ty.e ⇒ Semantics.Montague.Ty.t) ⇒ Semantics.Montague.Ty.e ⇒ Semantics.Montague.Ty.t, denot := h }
Instances For
EXH: (s→t) → (s→t). Exhaustivity operator (proposition modifier).
exhOp maps a proposition to its exhaustified version — typically
asserting the prejacent and negating innocently excludable alternatives.
Specific implementations (exhB from InnocentExclusion,
applyIEBool from Operators) are plugged in at lexicon construction
time with their alternatives and world domain baked into the closure.
Unlike Gen/DIST/Hab (which quantify over entities), EXH operates on
propositions (s→t). Both compose via FA in the same tree — the
Montague type system handles the dispatch:
- Gen:
(e→t) → (e→t) → t— FA with entity predicates - EXH:
(s→t) → (s→t)— FA with propositions
Equations
- Semantics.Lexical.CovertQuantifier.exh m exhOp = { ty := (Semantics.Montague.Ty.s ⇒ Semantics.Montague.Ty.t) ⇒ Semantics.Montague.Ty.s ⇒ Semantics.Montague.Ty.t, denot := exhOp }
Instances For
Extend a lexicon with named covert operators.
Equations
- One or more equations did not get rendered due to their size.