Atomic Lexical Entailments and Roots #
Lexical entailments are the atomic claims a verbal root makes about
the events it describes and the participants in those events.
Following [BKG20], we treat these as
structured atoms rather than as a fixed feature vector: a root
is a finite collection of such atoms, and its kind signature
(Root.Kinds) is the derived set of kinds its atoms realize —
exposing the Bifurcation Thesis of Roots and Manner/Result
Complementarity as testable conjectures rather than architectural
commitments.
Main declarations #
LexEntailment— labeled atoms;LexEntailment.kindprojects its B&K-G kindRoot— a named list of atomsRoot.kinds— the derived signatureRoot.HasState/HasManner/HasResult/HasCause— kind membership
Atomic entailments #
An atomic structural claim a verbal root makes — one of the four
B&K-G entailment kinds (state, manner, result, cause). The three
contentful kinds carry a label; hasCause is nullary.
LexEntailment.kind projects the kind each realizes.
Participant/proto-role entailments (volition, sentience, movement,
affectedness, …) are deliberately not modeled here: they are an
orthogonal, linking-relevant layer carried by
ArgumentStructure.EntailmentProfile.
- hasState
(label : String)
: LexEntailment
Attributes a static property (state-kind atom).
- hasManner
(label : String)
: LexEntailment
Specifies the manner in which the action is performed.
- becomesState
(label : String)
: LexEntailment
Entails change of state to the labelled result.
- hasCause : LexEntailment
Entails a causing event. Nullary because B&K-G's typology is neutral about what causes — only that there is a cause. The cause-type distinction (internal vs external, [Boh04]) is carried separately by
Semantics.Lexical.EventStructure.InternalExternalCause.
Instances For
Equations
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasState a) (Verb.LexEntailment.hasState b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasState label) (Verb.LexEntailment.hasManner label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasState label) (Verb.LexEntailment.becomesState label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasState label) Verb.LexEntailment.hasCause = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasManner label) (Verb.LexEntailment.hasState label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasManner a) (Verb.LexEntailment.hasManner b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasManner label) (Verb.LexEntailment.becomesState label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.hasManner label) Verb.LexEntailment.hasCause = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.becomesState label) (Verb.LexEntailment.hasState label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.becomesState label) (Verb.LexEntailment.hasManner label_1) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.becomesState a) (Verb.LexEntailment.becomesState b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq (Verb.LexEntailment.becomesState label) Verb.LexEntailment.hasCause = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq Verb.LexEntailment.hasCause (Verb.LexEntailment.hasState label) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq Verb.LexEntailment.hasCause (Verb.LexEntailment.hasManner label) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq Verb.LexEntailment.hasCause (Verb.LexEntailment.becomesState label) = isFalse ⋯
- Verb.instDecidableEqLexEntailment.decEq Verb.LexEntailment.hasCause Verb.LexEntailment.hasCause = isTrue ⋯
Instances For
Equations
- Verb.instReprLexEntailment = { reprPrec := Verb.instReprLexEntailment.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
The B&K-G kind an atom realizes. Total — every atom has a kind —
but kept Option-valued for the closure API (Closure.lean),
which quantifies over a.kind = some k.
Equations
Instances For
Roots #
A verbal root: a name and a finite set of atomic entailments it imposes.
The set is the root's base entailment set — the atoms asserted
directly. A closure operation (B&K-G's networks of entailments
where one atom may entail another) is layered on top in
Closure.lean.
- name : String
The root form;
""for an unnamed annotation (e.g. a quality-profile-only root carried by a verb whose root form is its citation form). - entailments : Finset LexEntailment
The B&KG structural-entailment atoms;
∅where the root's structural content has not been annotated (itskindsis then uninformative, and a verb falls back to its class viaVerb.classKinds). - outcomes : Option OutcomeCardinality
The outcome-set cardinality the root encodes ([Bha24]): the axis orthogonal to the
kinds(derived fromentailments).nonewhere the root has not been annotated for outcomes;nonecan also carry [Bha24]'s own gap — true intransitives have no outcome set at all (end of §5.1.2), lacking an object. - profile : Profile
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Finset carries no Repr, so Root cannot deriving Repr; we supply
one by hand so Verb can deriving Repr over its root field. It shows
name, outcomes, and profile in full plus the entailments
cardinality — the entailment set itself has no computable Repr
(Finset/Multiset would need a LinearOrder on the elements to render),
but this already distinguishes roots that differ in outcomes/profile, which
the old name-only Repr collapsed.
BEq/LawfulBEq need no hand-rolled instance: both come from the derived
DecidableEq (line above) via the global instBEqOfDecidableEq.
Equations
- Verb.instReprRoot = { reprPrec := fun (r : Verb.Root) (x : ℕ) => repr (r.name, r.entailments.card, r.outcomes, r.profile) }
The derived kind signature of a root: the set of kinds its atoms realize.
Equations
- r.kinds = {k : Verb.LexKind | ∃ a ∈ r.entailments, a.kind = some k}
Instances For
The root entails attribution of some state.
abbrev (not def) so Decidable/simp/decide see through to the
underlying Finset membership without per-predicate boilerplate.
Equations
- r.HasState = (Verb.LexKind.state ∈ r.kinds)
Instances For
The root specifies some manner.
Equations
- r.HasManner = (Verb.LexKind.manner ∈ r.kinds)
Instances For
The root entails some change of state (B&K-G "result").
Equations
- r.HasResult = (Verb.LexKind.result ∈ r.kinds)
Instances For
The root entails causation.
Equations
- r.HasCause = (Verb.LexKind.cause ∈ r.kinds)