Proto-role entailment profiles #
[Dow91] [Gri11] [DK00b] [Lev19]
An EntailmentProfile records which of [Dow91]'s ten proto-role
entailments (pp.572–573) a verb imposes on one of its arguments. Proto-Agent
and Proto-Patient are cluster concepts: each is a set of entailments, and an
argument's degree of agenthood or patienthood is the set it satisfies. The
Argument Selection Principle is stated lattice-theoretically ([Gri11]):
subjecthood tracks strict superset dominance on Proto-Agent feature sets,
with Proto-Patient dominance breaking ties.
Main declarations #
EntailmentProfile— the ten Boolean entailment fieldsEntailmentProfile.pAgentScore,EntailmentProfile.pPatientScore— flat feature countsPAgentDominates,PPatientDominates— subset ordering on feature sets- the pointwise
BooleanAlgebrainstance,EntailmentProfile.support, and the cluster setsProtoRoleFeature.agentCluster/patientCluster— the Boolean-cube order, with the counting accessors and dominance relations recharacterized as cardinality and cluster-restricted inclusion OutranksForSubject— the lattice-based Argument Selection PrinciplePredictsUnaccusative,PredictsUnergative— split-intransitivity predictionsactivitySubjectProfile…accomplishmentObjectProfile— the [RHL98] template-level profile defaults (per-verb content lives in the class map,Semantics/ArgumentStructure/LevinClassProfiles.lean)- the projection to [Gri11]'s lattice objects and its consistency
theorems live in
Projection.lean
Implementation notes #
The ten entailments are not independent ([Lev19] §2.1): volition
presupposes sentience (WellFormedInternal); causation,
movement, and independent existence pair asymmetrically with Proto-Patient
entailments (WellFormedPair); and the affectedness-related Proto-Patient
entailments form an implicational hierarchy ([Bea10]). Their algebraic
counterparts live in Agentivity.lean, reached via the projection in
Projection.lean. [Dow91]'s original
flat-counting selection principle is preserved for comparison in
Studies/Dowty1991.lean; the counting accessors here are informational only.
Causation priority ([DK00b]) needs no extra clause: it falls out
of feature-set inclusion.
The ten entailments defining the proto-roles ([Dow91] pp.572–573):
the first five are Proto-Agent, the last five Proto-Patient. Fields default
to false, so a profile lists only the entailments it imposes.
- volition : Bool
Volitional involvement in the event.
- sentience : Bool
Sentience or perception.
- causation : Bool
Causes an event or change of state in another participant.
- movement : Bool
Movement relative to another participant.
- independentExistence : Bool
Exists independently of the event named by the verb.
- changeOfState : Bool
Undergoes a change of state.
- incrementalTheme : Bool
Incremental theme: the argument measures out the event.
- causallyAffected : Bool
Causally affected by another participant.
- stationary : Bool
Stationary relative to another participant.
- dependentExistence : Bool
Does not exist independently of the event.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ten proto-role entailments as a feature index ([Dow91] pp.572–573): five Proto-Agent, then five Proto-Patient.
- volition : ProtoRoleFeature
- sentience : ProtoRoleFeature
- causation : ProtoRoleFeature
- movement : ProtoRoleFeature
- independentExistence : ProtoRoleFeature
- changeOfState : ProtoRoleFeature
- incrementalTheme : ProtoRoleFeature
- causallyAffected : ProtoRoleFeature
- stationary : ProtoRoleFeature
- dependentExistence : ProtoRoleFeature
Instances For
Equations
- ArgumentStructure.instDecidableEqProtoRoleFeature x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
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.
A profile as its feature-indicator function: the profile is a point
of the Boolean cube on ProtoRoleFeature.
Equations
- p.feature ArgumentStructure.ProtoRoleFeature.volition = p.volition
- p.feature ArgumentStructure.ProtoRoleFeature.sentience = p.sentience
- p.feature ArgumentStructure.ProtoRoleFeature.causation = p.causation
- p.feature ArgumentStructure.ProtoRoleFeature.movement = p.movement
- p.feature ArgumentStructure.ProtoRoleFeature.independentExistence = p.independentExistence
- p.feature ArgumentStructure.ProtoRoleFeature.changeOfState = p.changeOfState
- p.feature ArgumentStructure.ProtoRoleFeature.incrementalTheme = p.incrementalTheme
- p.feature ArgumentStructure.ProtoRoleFeature.causallyAffected = p.causallyAffected
- p.feature ArgumentStructure.ProtoRoleFeature.stationary = p.stationary
- p.feature ArgumentStructure.ProtoRoleFeature.dependentExistence = p.dependentExistence
Instances For
EntailmentProfile is the Boolean cube ProtoRoleFeature → Bool; the
Fintype instance (and any order or Boolean-algebra structure a consumer
needs) transports along this equivalence.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ArgumentStructure.EntailmentProfile.instFintype = Fintype.ofEquiv (ArgumentStructure.ProtoRoleFeature → Bool) ArgumentStructure.EntailmentProfile.equivFeatures.symm
Feature counting #
Number of Proto-Agent entailments. Informational: the Argument Selection Principle uses lattice comparison ([Gri11]), not counting.
Equations
- p.pAgentScore = p.volition.toNat + p.sentience.toNat + p.causation.toNat + p.movement.toNat + p.independentExistence.toNat
Instances For
Number of Proto-Patient entailments.
Equations
- p.pPatientScore = p.changeOfState.toNat + p.incrementalTheme.toNat + p.causallyAffected.toNat + p.stationary.toNat + p.dependentExistence.toNat
Instances For
Lattice comparison #
p has every Proto-Agent feature that q has: the subset ordering on
Proto-Agent feature sets.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ArgumentStructure.instDecidablePAgentDominates p q = id inferInstance
p has every Proto-Patient feature that q has.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ArgumentStructure.instDecidablePPatientDominates p q = id inferInstance
p's Proto-Agent feature set is a strict superset of q's.
Equations
Instances For
Equations
- ArgumentStructure.instDecidablePAgentStrictlyDominates p q = id inferInstance
p's Proto-Patient feature set is a strict superset of q's.
Equations
Instances For
Equations
- ArgumentStructure.instDecidablePPatientStrictlyDominates p q = id inferInstance
Argument selection #
The lattice-based Argument Selection Principle ([Gri11],
[DK00b]): subj outranks obj for subjecthood iff subj
strictly Proto-Agent-dominates obj, or the two are Proto-Agent-incomparable
and obj strictly Proto-Patient-dominates subj. Causation priority is
structural: {causation, IE} strictly dominates {IE} yet is incomparable
with {sentience, IE}.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ArgumentStructure.instDecidableOutranksForSubject subj obj = id inferInstance
[Dow91]'s Corollary 1 (p.579): neither argument outranks the other, so subject choice may alternate (buy/sell, like/please).
Equations
Instances For
Equations
- ArgumentStructure.instDecidableAllowsAlternation p q = id inferInstance
Split intransitivity #
The sole argument lacks the priority Proto-Agent entailments — volition and causation ([DK00b]) — and bears at least one Proto-Patient entailment ([Dow91] Table 1). Unlike flat counting, this classifies arrive as unaccusative.
Equations
- ArgumentStructure.PredictsUnaccusative p = (p.volition = false ∧ p.causation = false ∧ p.pPatientScore > 0)
Instances For
Equations
- ArgumentStructure.instDecidablePredEntailmentProfilePredictsUnaccusative p = id inferInstance
The sole argument bears a priority Proto-Agent entailment (volition or causation) and no Proto-Patient entailment.
Equations
- ArgumentStructure.PredictsUnergative p = ((p.volition = true ∨ p.causation = true) ∧ p.pPatientScore = 0)
Instances For
Equations
- ArgumentStructure.instDecidablePredEntailmentProfilePredictsUnergative p = id inferInstance
Well-formedness #
Volition presupposes sentience: only sentient entities can act volitionally ([Dow91] p.607, [Lev19] §2.1).
Equations
- ArgumentStructure.WellFormedInternal p = (p.volition = true → p.sentience = true)
Instances For
Equations
- ArgumentStructure.instDecidablePredEntailmentProfileWellFormedInternal p = id inferInstance
Equations
- ArgumentStructure.instDecidableWellFormedPair subj obj = id inferInstance
The do-test #
Equations
- ArgumentStructure.instDecidablePredEntailmentProfilePassesDoTestFromProfile p = id inferInstance
Effectors and force recipients #
A self-energetic force bearer ([VVW96]): movement plus independent existence, realized as external argument.
Equations
- ArgumentStructure.IsEffector p = (p.movement = true ∧ p.independentExistence = true)
Instances For
Equations
- ArgumentStructure.instDecidablePredEntailmentProfileIsEffector p = id inferInstance
Causally affected or stationary, realized as internal argument.
Equations
- ArgumentStructure.IsForceRecipient p = (p.causallyAffected = true ∨ p.stationary = true)
Instances For
Equations
- ArgumentStructure.instDecidablePredEntailmentProfileIsForceRecipient p = id inferInstance
An effector carries at least two Proto-Agent entailments.
Template-level proto-role defaults #
Per-template subject/object defaults ([RHL98] with
[Dow91]'s entailments), consumed by Template.subjectProfile and
Template.objectProfile in EventStructure.lean and by Fragment-level verb
entries. Per-verb entailment content is NOT stored here: it lives in the
Levin-class → template map (Semantics/ArgumentStructure/LevinClassProfiles.lean),
and Dowty's own per-verb attributions are typed data rows in
Data/ProtoRoles/Dowty1991.json consumed by Studies/Dowty1991.lean.
Activity template subject: V+S+M+IE. Transitive activities like hit add causation at the class level via root-contributed objects.
Equations
- ArgumentStructure.activitySubjectProfile = { volition := true, sentience := true, movement := true, independentExistence := true }
Instances For
Achievement template subject: undergoes change (M+IE+CoS). Caveat: the
movement entailment fits directed-motion achievements (arrive) but
overgeneralizes to non-motion achievements (recognize, notice), whose
subjects are sentient rather than moving — those pattern with the psych-state
templates in LevinClassProfiles.lean.
Equations
- ArgumentStructure.achievementSubjectProfile = { movement := true, independentExistence := true, changeOfState := true }
Instances For
Accomplishment template subject: full proto-agent (V+S+C+M+IE). Dowty-confirmed at the class level: the primary transitive verbs of [Dow91] (35) (build, write, murder, eat, wash) have subjects with "volition, sentience, causation, and movement" and no Proto-Patient entailments (p. 577); independent existence is the parenthesized (27e).
Equations
- ArgumentStructure.accomplishmentSubjectProfile = { volition := true, sentience := true, causation := true, movement := true, independentExistence := true }
Instances For
Accomplishment template object: result patient (CoS+CA). Dowty-confirmed at the class level: the (35) objects have "change, causally affected" (p. 577); the remaining Proto-Patient entailments are hedged there as "(mostly) incremental theme, stationary, dependent existence", so incremental themes (eat, build) add IT per class or per verb — not all accomplishment objects measure the event.
Equations
- ArgumentStructure.accomplishmentObjectProfile = { changeOfState := true, causallyAffected := true }
Instances For
The Boolean cube order #
Pointwise order and Boolean-algebra structure, transported along
equivFeatures: p ≤ q is entailment-set inclusion, and p ⊔ q imposes
the union of the two profiles' entailments — [RS05]'s role
bundling. support is the imposed entailment set; the counting accessors
and dominance relations are its cardinality and cluster-restricted
inclusion (pAgentScore_eq_card, pAgentDominates_iff_subset).
[Dow91]'s five Proto-Agent entailments as a feature set.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The five Proto-Patient entailments as a feature set.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- x✝¹.instDecidableRelLe x✝ = decidable_of_iff (∀ (f : ArgumentStructure.ProtoRoleFeature), x✝¹.feature f ≤ x✝.feature f) ⋯
The set of entailments a profile imposes.
Equations
- p.support = {f : ArgumentStructure.ProtoRoleFeature | p.feature f = true}
Instances For
The Proto-Agent count is the size of the support's agent-cluster part.
The Proto-Patient count is the size of the support's patient-cluster part.
The profile imposes entailments from both proto-role clusters — [RS05]'s complex role.
Equations
- p.IsComplexRole = (0 < p.pAgentScore ∧ 0 < p.pPatientScore)
Instances For
Joining an agentive profile with an affected one yields a complex role.
Proto-Agent dominance is inclusion of the supports' agent-cluster parts.
Proto-Patient dominance is inclusion of the supports' patient-cluster parts.
The join retains the left component's Proto-Agent entailments.
The join retains the right component's Proto-Agent entailments.
The join inherits the left component's Proto-Patient entailments.
The join inherits the right component's Proto-Patient entailments.