Theta roles as proto-role clusters #
Dowty replaces the traditional list of thematic roles by two cluster concepts, the Proto-Agent and Proto-Patient entailments, and reads the familiar role types off combinations of them: an agent is volitional, sentient, causing, and moving; an experiencer is sentient without volition or causation; an instrument causes and moves without volition or sentience; a theme changes, measures out the event, and depends on it, and a patient is the causally affected theme; a source or goal has no defining entailment at all. The recipient of a transfer, for which Primus proposes a Recipient Proto-role of its own, has none here either. This file carries those labels, the profile each names, and the classifier that reads a label off a profile, so that a label is a derived classification of an argument's entailment profile and never a stored primitive.
Main declarations #
ArgumentStructure.ThetaRole: the nine traditional labels.ThetaRole.canonicalProfile: the entailments a label combines, none for source, goal and recipient;ThetaRole.IsDefinedsays a label has defining entailments.EntailmentProfile.toRole: the label of a profile, withtoRole_eq_some_agent_iffand its siblings characterizing each label andtoRole_canonicalProfilerecovering a defined label from its profile.
Implementation notes #
The classifier tests the Proto-Agent entailments first, volition before sentience before
causation, and among the Proto-Patient entailments causal affectedness before the rest, so a
profile with both sentience and causation but no volition, which Dowty's definitions do not
name, has no label. Independent existence, which Dowty parenthesizes, never decides a label.
Dowty's role hierarchies follow from the selection principle over these profiles in
Studies/Dowty1991.lean.
References #
Equations
- ArgumentStructure.instDecidableEqThetaRole x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- ArgumentStructure.instReprThetaRole = { reprPrec := ArgumentStructure.instReprThetaRole.repr }
Equations
- One or more equations did not get rendered due to their size.
canonicalProfile r is the set of entailments the label r combines in Dowty's reading of the
traditional roles, the agent all four core Proto-Agent entailments, the experiencer sentience, the
stimulus causation, the instrument causation and movement, the theme change with incremental theme
and dependent existence, the patient the causally affected theme, and the source, goal and recipient
nothing.
Equations
- One or more equations did not get rendered due to their size.
- ArgumentStructure.ThetaRole.experiencer.canonicalProfile = {ArgumentStructure.ProtoRoleFeature.sentience}
- ArgumentStructure.ThetaRole.stimulus.canonicalProfile = {ArgumentStructure.ProtoRoleFeature.causation}
- ArgumentStructure.ThetaRole.instrument.canonicalProfile = {ArgumentStructure.ProtoRoleFeature.causation, ArgumentStructure.ProtoRoleFeature.movement}
- ArgumentStructure.ThetaRole.goal.canonicalProfile = ∅
- ArgumentStructure.ThetaRole.source.canonicalProfile = ∅
- ArgumentStructure.ThetaRole.recipient.canonicalProfile = ∅
Instances For
A label is defined by proto-role entailments; source, goal and recipient are not.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
A label has defining entailments iff its profile is not empty.
A patient is a theme that is causally affected.
Every canonical profile satisfies Dowty's internal constraint that volition entails sentience.
p.toRole is the label of the profile p, agent if volitional, else experiencer if sentient
and not causing, else instrument or stimulus if causing according to movement, else patient if
causally affected, else theme if changing, measuring out the event, depending on it, or moving, and
otherwise none.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Source, goal and recipient are never read off a profile: they are not defined by entailments.
A label read off a profile is a defined one.
The classifier recovers every defined label from its canonical profile.
Distinct defined labels have distinct canonical profiles.