Causative Interpretation (force-dynamic dispatch) #
@cite{nadathur-lauer-2020} @cite{talmy-1988} @cite{wolff-2003}
Maps Causative verb classifications to their compositional semantics
under the force-dynamic view (@cite{talmy-1988}, @cite{wolff-2003}),
which collapses enable/force/make into a single sufficiency
predicate (causallySufficient) distinguished post-hoc by isCoercive/isPermissive.
| Causative | Mechanism | English verbs | N&L property (derived) |
|---|---|---|---|
| cause | Counterfactual dependence | cause | necessity |
| make | Direct sufficient guarantee | make, have, get | sufficiency |
| force | Coercive (overcome resistance) | force | sufficiency + coercion |
| enable | Barrier removal (permissive) | let, enable | sufficiency |
| prevent | Barrier addition (blocking) | prevent | preventSem |
Theoretical commitment #
This file commits to the force-dynamic mapping. The competing
causal-model-theoretic view (@cite{sloman-barbey-hotaling-2009})
distinguishes enable from make/cause structurally: enable
asserts B := A ∧ X (accessory variable required), while cause asserts
B := A. Under that view, the present Causative.toSemantics
mis-classifies enable. The Sloman alternative dispatch — and a
divergence theorem witnessing the disagreement on enable — lives
in Phenomena/Causation/Studies/SlomanBarbeyHotaling2009.lean.
This is intentional. linglib does not pretend a single canonical mapping exists; both dispatches coexist as named functions and the disagreement is theorem-provable.
Methods on Features.Causative that depend on heavy semantic
machinery (Core.Causal.SEM, CausalGraph, the Necessity/
Sufficiency/Prevention modules) live here rather than in
Features/Causation.lean, which is kept import-free per the
"Features/ stays lightweight" convention. The namespace Features.Causative block below is the standard mathlib pattern for
distributing methods on a type across files based on import weight.
The CC-selection mode associated with each variant.
.causeselects any necessary condition →memberOfSufficientSet.make/.force/.enableselect the completing condition →completionOfSufficientSet.preventselects the condition that blocks the effect →completionOfSufficientSet(the preventer completes the blocking set)
Equations
- Features.Causative.cause.selectionMode = Semantics.Causation.CCSelection.CCSelectionMode.memberOfSufficientSet
- Features.Causative.make.selectionMode = Semantics.Causation.CCSelection.CCSelectionMode.completionOfSufficientSet
- Features.Causative.force.selectionMode = Semantics.Causation.CCSelection.CCSelectionMode.completionOfSufficientSet
- Features.Causative.enable.selectionMode = Semantics.Causation.CCSelection.CCSelectionMode.completionOfSufficientSet
- Features.Causative.prevent.selectionMode = Semantics.Causation.CCSelection.CCSelectionMode.completionOfSufficientSet
Instances For
Force-dynamic dispatch: map a causative classification to its V2 polymorphic semantic function.
Equations
- Features.Causative.toSemantics M Features.Causative.cause = Semantics.Causation.Necessity.causeSem M
- Features.Causative.toSemantics M Features.Causative.make = Semantics.Causation.Sufficiency.makeSem M
- Features.Causative.toSemantics M Features.Causative.force = Semantics.Causation.Sufficiency.makeSem M
- Features.Causative.toSemantics M Features.Causative.enable = Semantics.Causation.Sufficiency.makeSem M
- Features.Causative.toSemantics M Features.Causative.prevent = Semantics.Causation.Prevention.preventSem M
Instances For
make and force are distinguished by coercion despite sharing truth conditions.
make and enable are distinguished by permissivity despite sharing truth conditions.
Causative encodes force-dynamic mechanisms; CCSelectionMode
(@cite{baglini-bar-asher-siegal-2025}) encodes which element of a causal
model the construction can select as "the cause." These are orthogonal
but connected: each variant has a canonical selection mode.
Sufficiency variants have completion selection mode.
Necessity variant has member selection mode.