Verb entry — derived API #
Classification accessors DERIVED from the primitive Verb fields:
unaccusativity from voice, veridicality from the attitude builder, presupposition
status from event structure, theta-role linking, and so on. Verb classification
is computed here, not stipulated as enum fields on Verb.
Derive unaccusativity from voice type when present, falling back
to the stored unaccusative field. A verb is unaccusative iff its
Voice does not introduce an external argument ([Kra96]).
Equations
- v.derivedUnaccusative = match v.voiceType with | some vt => !vt.assignsTheta | none => v.unaccusative
Instances For
Derive vendlerClass from degreeAchievementScale if present. Falls back to the stipulated vendlerClass field.
Equations
- v.derivedVendlerClass = (v.vendlerClass <|> Option.map (fun (x : Features.DegreeAchievement.DegreeAchievementScale) => x.defaultVendlerClass) v.degreeAchievementScale)
Instances For
The verb's within-class quality profile ([SMcN26]), read off its
root (where the profile is carried).
Equations
- v.rootProfile = v.root.profile
Instances For
The verb's raw kind signature ([BKG20]): the
un-closed atom-kinds of its root, the source of truth for what the verb
structurally entails. Verb.closedKinds is its collocational closure and
Verb.classKinds the coarse class-derived view (an independent provenance).
Instances For
The verb's closed kind signature ([BKG20]): the
collocational closure of Verb.kinds (cause ⟹ result ⟹ state), which the
event-structure spine (Verb.Root.template, CosModel.denote) runs on.
Equations
- v.closedKinds = v.root.closedKinds
Instances For
Effective subject entailment profile: verb-level override if present, otherwise falls back to the Levin class–level profile ([Lev93], [Dow91]).
Equations
- v.effectiveSubjectEntailments = (v.subjectEntailments <|> v.levinClass.bind fun (x : Semantics.Lexical.LevinClass) => x.subjectProfile)
Instances For
Effective object entailment profile: verb-level override if present, otherwise falls back to the Levin class–level profile.
Equations
- v.effectiveObjectEntailments = (v.objectEntailments <|> v.levinClass.bind fun (x : Semantics.Lexical.LevinClass) => x.objectProfile)
Instances For
Veridicality is DERIVED from the attitude builder
Equations
- v.veridicality = Option.map (fun (x : Features.Attitude) => x.veridicality) v.attitude
Instances For
Is this verb a doxastic attitude?
Equations
- v.isDoxastic = (Option.map (fun (x : Features.Attitude) => x.isDoxastic) v.attitude).getD false
Instances For
Is this verb a preferential attitude?
Equations
- v.isPreferential = (Option.map (fun (x : Features.Attitude) => x.isPreferential) v.attitude).getD false
Instances For
Valence is DERIVED from the attitude builder (for preferential attitudes)
Equations
- v.preferentialValence = v.attitude.bind fun (x : Features.Attitude) => x.valence
Instances For
Does this verb presuppose its complement via factivity? DERIVED from attitude: true iff the verb is doxastic veridical.
Equations
- v.factivePresup = match v.attitude with | some (Features.Attitude.doxastic Features.Veridicality.veridical) => true | x => false
Instances For
Does this verb presuppose its complement?
Equations
- v.presupposesComplement = (v.factivePresup || v.cosType.isSome)
Instances For
Presupposition trigger type DERIVED from event structure rather than stipulated. [RS24b] argue that presupposition status follows from a verb's event structure (factivity, CoS type), not from a lexically specified trigger type. This accessor derives the prediction: verbs with factive or CoS event structure are presupposition triggers.
Note: R&S (p. 705) argue that the soft/hard trigger distinction "has
never been clearly operationalized." We use .softTrigger here as a
placeholder, not as an endorsement of a binary soft/hard taxonomy.
Equations
- v.derivedPresupType = if v.presupposesComplement = true then some PresupTriggerType.softTrigger else none
Instances For
Is this verb a causative? DERIVED from causative field.
Equations
- v.isCausative = v.causative.isSome
Instances For
Does this causative verb assert sufficiency (like "make")?
DERIVED: delegates to Causative.assertsSufficiency.
Equations
- v.assertsSufficiency = (Option.map (fun (x : Features.Causative) => x.assertsSufficiency) v.causative).getD false
Instances For
Lexicalist prediction of the external argument's theta role ([Lev93], [RHL98]), based solely on verb-internal properties.
The cascade mirrors traditional linking rules:
- raising / weather → no external role
- external causal source → stimulus (Class II psych, [Kim24])
- attitude builder or factive presupposition → experiencer
- occasion sense (manage-to) → experiencer
- Levin class flinch / learn → experiencer
- unaccusative / measure → theme
- default → agent
Contrasts with the Kratzer severing prediction (VoiceFlavor.thetaRole),
which derives the role from Voice flavor rather than verb-internal
semantics. Studies comparing the two accounts can apply both to the
same Verb and inspect divergence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Does this verb's semantics predict it is an expletive negation trigger?
DERIVED from attitude, implicative, and causative builders. Captures the propositional attitude licensing condition from [JK21] §5.5, ex. 13a:
- FEAR class: negative-valence preferential attitudes activate p (feared content) and ¬p (desired alternative).
- FORGET class: negative implicative verbs entail ¬p in w₀.
- STOP/PREVENT: causative preventatives entail ¬p in w₀.
DENY class triggers (doubt, question) are excluded — their EN-triggering requires matrix negation/questioning (pragmatic, via neg-raising), not purely lexical semantics. Temporal, logical, and comparative triggers are operators/connectives, not verbs.
Equations
- v.isENTrigger = (v.preferentialValence == some Features.AttitudeValence.negative || v.implicative == some Features.Implicative.negative || v.causative == some Features.Causative.prevent)
Instances For
Does this causative verb assert necessity (like "cause")?
DERIVED: delegates to Causative.assertsNecessity.
Equations
- v.assertsNecessity = (Option.map (fun (x : Features.Causative) => x.assertsNecessity) v.causative).getD false
Instances For
Does success of this implicative verb entail the complement?
DERIVED: delegates to Implicative.entailsComplement.
Returns some true for positive implicatives (manage, remember),
some false for negative (fail, forget), none for non-implicatives.
Equations
- v.entailsComplement = Option.map (fun (x : Features.Implicative) => x.entailsComplement) v.implicative
Instances For
Is this verb a preferential attitude predicate?
Equations
- v.isPreferentialAttitude = v.preferentialValence.isSome
Instances For
Can this verb take a clausal (CP) complement?
Checks both primary and alternate complement frames. Used to classify verbs as CP-selecting vs non-CP-selecting for coordination studies ([Sch26]).
Equations
- v.canTakeClausalComplement = (v.complementType.isClausal || match v.altComplementType with | some ct => ct.isClausal | none => false)
Instances For
Can this verb take a nominal (DP) complement?
Checks both primary and alternate complement frames.
Equations
- v.canTakeNominalComplement = (v.complementType.isNominal || match v.altComplementType with | some ct => ct.isNominal | none => false)
Instances For
Look up a verb core by citation form and sense tag.
Equations
- lookupSense verbs form tag = List.find? (fun (v : Verb) => v.form == form && v.senseTag == tag) verbs