Root Quality Dimensions #
Within-class root content profiles: ranges over quality dimensions —
force, robustness, instrument, dimensionality, agent properties. A
multi-paper synthesis ([Tal88], [Tal00], [Dow91],
[MBB08], [SMcN26]); no single paper
carries this profile. Structural entailments (state, manner, result,
cause) are the separate Root.Kinds (Roots/Signature.lean).
Main declarations #
Root.Profile.Range— within-class variation along a dimension- the dimension enums (
ForceLevel,Robustness,InstrumentType, …) Root.Profile— the bundled profile
Range mechanism #
Acceptable values along a quality dimension.
none: the root is unconstrained on this dimension (says nothing)some [v₁, v₂, …]: the root is compatible with exactly these values
Roots are regions, not points: a verb like tear is compatible with a range of force levels, not a single one.
Equations
- Verb.Root.Profile.Range α = Option (List α)
Instances For
Equations
Instances For
Equations
- Verb.Root.Profile.Range.only vs = some vs
Instances For
Equations
- Verb.Root.Profile.Range.isCompatible none x✝ = true
- Verb.Root.Profile.Range.isCompatible (some vs) x✝ = vs.contains x✝
Instances For
Equations
- Verb.Root.Profile.Range.isConstrained none = false
- Verb.Root.Profile.Range.isConstrained (some val) = true
Instances For
Two ranges overlap if they share at least one value.
Equations
- Verb.Root.Profile.Range.overlaps none x✝ = true
- x✝.overlaps none = true
- Verb.Root.Profile.Range.overlaps (some vs₁) (some vs₂) = vs₁.any fun (x : α) => vs₂.contains x
Instances For
Quality dimensions #
Magnitude of force involved in the event.
[Tal88] identifies force magnitude as a core parameter of force-dynamic schemas. [SMcN26]: tear implies considerable force; rasgar implies less (enough to damage something flimsy).
- none : ForceLevel
- low : ForceLevel
- moderate : ForceLevel
- high : ForceLevel
Instances For
Equations
- Verb.instDecidableEqForceLevel x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprForceLevel = { reprPrec := Verb.instReprForceLevel.repr }
Equations
- Verb.instReprForceLevel.repr Verb.ForceLevel.none prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ForceLevel.none")).group prec✝
- Verb.instReprForceLevel.repr Verb.ForceLevel.low prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ForceLevel.low")).group prec✝
- Verb.instReprForceLevel.repr Verb.ForceLevel.moderate prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ForceLevel.moderate")).group prec✝
- Verb.instReprForceLevel.repr Verb.ForceLevel.high prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ForceLevel.high")).group prec✝
Instances For
Spatial pattern of force application.
[Tal00]: force vectors have directional parameters. [SMcN26]: tear implies contrary-direction force (pulling apart); rasgar implies unidirectional force (gash-like).
- none : ForceDirection
- unidirectional : ForceDirection
- bidirectional : ForceDirection
- omnidirectional : ForceDirection
Instances For
Equations
- Verb.instDecidableEqForceDirection 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.
- Verb.instReprForceDirection.repr Verb.ForceDirection.none prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ForceDirection.none")).group prec✝
Instances For
Equations
- Verb.instReprForceDirection = { reprPrec := Verb.instReprForceDirection.repr }
Material substantiality of the affected entity (patient).
[SMcN26]: the primary dimension distinguishing tear (unrestricted) from rasgar (flimsy patients only).
- insubstantial : Robustness
- flimsy : Robustness
- moderate : Robustness
- robust : Robustness
Instances For
Equations
- Verb.instDecidableEqRobustness x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprRobustness = { reprPrec := Verb.instReprRobustness.repr }
Equations
- One or more equations did not get rendered due to their size.
- Verb.instReprRobustness.repr Verb.Robustness.flimsy prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.Robustness.flimsy")).group prec✝
- Verb.instReprRobustness.repr Verb.Robustness.moderate prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.Robustness.moderate")).group prec✝
- Verb.instReprRobustness.repr Verb.Robustness.robust prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.Robustness.robust")).group prec✝
Instances For
Nature of the physical change produced by the event.
Grounded in [Lev93]'s class descriptions and [HK87] notion of "separation in material integrity":
- 45.1 Break: loss of material integrity (break, crack, shatter, tear)
- 45.2 Bend: change in shape without loss of integrity
- 44 Destroy: total destruction (no specific resulting state)
- 21 Cut: separation via instrument contact Refined by [BKG20] on CoS root types. UNVERIFIED: Levin chapter numbers cited from memory.
- separation : ResultType
- surfaceBreach : ResultType
- fracture : ResultType
- fragmentation : ResultType
- deformation : ResultType
- totalDestruction : ResultType
Instances For
Equations
- Verb.instDecidableEqResultType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprResultType = { reprPrec := Verb.instReprResultType.repr }
Equations
- One or more equations did not get rendered due to their size.
- Verb.instReprResultType.repr Verb.ResultType.separation prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ResultType.separation")).group prec✝
- Verb.instReprResultType.repr Verb.ResultType.fracture prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ResultType.fracture")).group prec✝
- Verb.instReprResultType.repr Verb.ResultType.deformation prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.ResultType.deformation")).group prec✝
Instances For
Type of instrument used in the event.
[MBB08]: instrument type interacts with object properties to determine the predictability of separation locus (their Dimension 1). Sharp instruments yield predictable separations; blunt instruments and hands yield unpredictable separations.
[Lev93]: cut verbs specify their instrument
(instrumentSpec = true); break verbs do not.
UNVERIFIED: Levin chapter (§21 vs §45.1) cited from memory.
- sharpBlade : InstrumentType
- bluntImpact : InstrumentType
- hands : InstrumentType
- none : InstrumentType
Instances For
Equations
- Verb.instDecidableEqInstrumentType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprInstrumentType = { reprPrec := Verb.instReprInstrumentType.repr }
Equations
- One or more equations did not get rendered due to their size.
- Verb.instReprInstrumentType.repr Verb.InstrumentType.hands prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.InstrumentType.hands")).group prec✝
- Verb.instReprInstrumentType.repr Verb.InstrumentType.none prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.InstrumentType.none")).group prec✝
Instances For
Dimensionality of the affected object (patient).
[MBB08]: object dimensionality interacts with instrument type and manner of action to determine event categorization cross-linguistically. 1D objects (rope, stick) can be snapped; 2D objects (cloth, paper) can be torn; 3D objects (melon, pot) can be smashed.
- oneD : ObjectDimensionality
- twoD : ObjectDimensionality
- threeD : ObjectDimensionality
Instances For
Equations
- Verb.instDecidableEqObjectDimensionality 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
- Verb.instReprObjectDimensionality = { reprPrec := Verb.instReprObjectDimensionality.repr }
Whether the agent acts with volitional intent.
[Dow91]: Proto-Agent entailment P1 = "volitional involvement in the event or state." [AYS21]: killing verb roots impose specific intentionality requirements on the agent (murder requires intentional agent; kill does not). [Lev93]: some break verbs "allow unintentional, action interpretations with body-part objects."
- nonvolitional : Volitionality
- neutral : Volitionality
- volitional : Volitionality
Instances For
Equations
- Verb.instDecidableEqVolitionality x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprVolitionality = { reprPrec := Verb.instReprVolitionality.repr }
Equations
- One or more equations did not get rendered due to their size.
- Verb.instReprVolitionality.repr Verb.Volitionality.neutral prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.Volitionality.neutral")).group prec✝
Instances For
Whether the action can be performed with care and control.
[Dow91]: Proto-Agent entailment P2 = "sentience (and/or perception)," enabling controlled action. [SMcN26]: tear is compatible with careful action ("carefully tore the tin foil"); rasgar is not ("??rasgaron con cuidado el papel").
- incompatible : AgentControl
- neutral : AgentControl
- compatible : AgentControl
Instances For
Equations
- Verb.instDecidableEqAgentControl x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Verb.instReprAgentControl = { reprPrec := Verb.instReprAgentControl.repr }
Equations
- One or more equations did not get rendered due to their size.
- Verb.instReprAgentControl.repr Verb.AgentControl.neutral prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Verb.AgentControl.neutral")).group prec✝
Instances For
Within-class root content profile.
Captures quality dimensions of root content — force, robustness,
agent properties — as opposed to Root.Kinds, which captures
structural entailments (state, manner, result, cause).
Each dimension is a Range of acceptable values; none means the
root says nothing about that dimension (unconstrained).
- forceMag : Range ForceLevel
Force magnitude: [Tal88].
- forceDir : Range ForceDirection
- patientRob : Range Robustness
Patient material robustness: [SMcN26].
- resultType : Range ResultType
- agentVolition : Range Volitionality
- agentControl : Range AgentControl
- instrumentType : Range InstrumentType
Instrument type the root selects for: [MBB08]. cut selects for sharp blades; break is unspecified.
- patientDim : Range ObjectDimensionality
Patient dimensionality: [MBB08]. tear selects for 2D objects (cloth, paper); snap for 1D (stick, twig).
Instances For
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.
- Verb.Root.instBEqProfile.beq x✝¹ x✝ = false
Instances For
Equations
- Verb.Root.instBEqProfile = { beq := Verb.Root.instBEqProfile.beq }
Equations
- Verb.Root.instReprProfile = { reprPrec := Verb.Root.instReprProfile.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Verb.Root.instInhabitedProfile = { default := Verb.Root.instInhabitedProfile.default }
Does a root profile constrain patient properties?
Equations
- rp.constrainsPatient = (rp.patientRob.isConstrained = true)
Instances For
Do two root profiles overlap (share at least one compatible event)?
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- rp₁.instDecidableOverlaps rp₂ = Verb.Root.Profile.instDecidableOverlaps._aux_1 rp₁ rp₂