Aspectual Diagnostics #
@cite{vendler-1957} @cite{dowty-1979}
Empirical tests for determining aspectual class. The for-X and in-X adverbial, progressive, stop-V-ing, and imperative diagnostics formalized here are the textbook tests originating with Vendler 1957 (the four-class taxonomy) and Dowty 1979 (the syntactic-test battery). Anchored on a documented empirical pattern (per CLAUDE.md anchoring rule), not on a specific paper-replication.
Core Tests #
| Test | States | Activities | Achievements | Accomplishments |
|---|---|---|---|---|
| "for X" | ✓ | ✓ | ✗ | ? |
| "in X" | ✗ | ✗ | ✓ | ✓ |
| Progressive | ? | ✓ | ? | ✓ |
| "stop V-ing" | ? | ✓ | ? | ✓ |
| Imperative | ✗ | ✓ | ? | ✓ |
"For X" vs "In X" Tests #
The classic tests from @cite{vendler-1957} and @cite{dowty-1979}:
"for an hour" — compatible with atelic predicates
- "John ran for an hour" ✓ (activity)
- "John knew French for ten years" ✓ (state)
- *"John recognized Mary for an hour" ✗ (achievement)
- ?"John built the house for a year" — coerced to activity
"in an hour" — compatible with telic predicates
- *"John ran in an hour" ✗ (activity, unless goal implied)
- "John built the house in a year" ✓ (accomplishment)
- "John recognized Mary in a second" ✓ (achievement)
- *"John knew French in ten years" ✗ (state)
Progressive Test #
- Activities and accomplishments take the progressive naturally
- States typically resist the progressive (*"John is knowing French")
- Achievements take the progressive with special interpretations:
- Slow-motion: "The bomb is exploding" (stretched out)
- Preliminary stages: "John is dying" (process leading to death)
Result of applying a diagnostic test.
- Accept: Test is felicitous (grammatical, acceptable)
- Reject: Test is infelicitous (ungrammatical, unacceptable)
- Marginal: Test is degraded but not completely out
- Coerced: Test is acceptable but requires meaning shift
- accept : DiagnosticResult
- reject : DiagnosticResult
- marginal : DiagnosticResult
- coerced : DiagnosticResult
Instances For
Equations
- Phenomena.TenseAspect.Diagnostics.instDecidableEqDiagnosticResult 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
Convert Bool prediction to DiagnosticResult.
Equations
Instances For
Prediction for "for X" adverbial compatibility.
"For X" measures the duration of an atelic (unbounded) eventuality:
- "ran for an hour" ✓
- "knew French for ten years" ✓
- *"arrived for an hour" ✗
- ?"built the house for a year" — coerces to repetitive
States and activities accept "for X" straightforwardly. Achievements reject "for X" (no duration to measure). Accomplishments can accept "for X" but with coercion to activity/repetition.
Equations
- Phenomena.TenseAspect.Diagnostics.forXPrediction Features.VendlerClass.state = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.forXPrediction Features.VendlerClass.activity = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.forXPrediction Features.VendlerClass.achievement = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
- Phenomena.TenseAspect.Diagnostics.forXPrediction Features.VendlerClass.accomplishment = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.coerced
- Phenomena.TenseAspect.Diagnostics.forXPrediction Features.VendlerClass.semelfactive = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.coerced
Instances For
The "for X" test identifies atelic predicates.
States and activities pass; achievements fail; accomplishments require coercion.
Prediction for "in X" adverbial compatibility.
"In X" measures time to reach a culmination point:
- *"ran in an hour" ✗ (no endpoint to reach)
- "arrived in an hour" ✓ (punctual, endpoint reached)
- "built the house in a year" ✓ (durative, endpoint reached)
- *"knew French in ten years" ✗ (no endpoint, state)
Only telic predicates have a culmination point to measure.
Equations
- Phenomena.TenseAspect.Diagnostics.inXPrediction Features.VendlerClass.state = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
- Phenomena.TenseAspect.Diagnostics.inXPrediction Features.VendlerClass.activity = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
- Phenomena.TenseAspect.Diagnostics.inXPrediction Features.VendlerClass.achievement = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.inXPrediction Features.VendlerClass.accomplishment = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.inXPrediction Features.VendlerClass.semelfactive = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
Instances For
The "in X" test identifies telic predicates.
Achievements and accomplishments pass; states and activities fail.
Prediction for progressive compatibility.
The progressive requires ongoing, dynamic eventualities:
- "John is running" ✓ (activity — paradigmatic)
- "John is building a house" ✓ (accomplishment — in progress)
- *"John is knowing French" ✗ (state — no stages)
- ?"John is arriving" — marginal (achievement, requires interpretation)
States generally reject the progressive (no stages, no development). Achievements take the progressive marginally (slow-motion, preliminary).
Equations
- Phenomena.TenseAspect.Diagnostics.progressivePrediction Features.VendlerClass.state = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
- Phenomena.TenseAspect.Diagnostics.progressivePrediction Features.VendlerClass.activity = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.progressivePrediction Features.VendlerClass.achievement = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.marginal
- Phenomena.TenseAspect.Diagnostics.progressivePrediction Features.VendlerClass.accomplishment = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.progressivePrediction Features.VendlerClass.semelfactive = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.coerced
Instances For
The progressive test distinguishes dynamic and durative predicates.
Activities and accomplishments clearly accept; states reject; achievements are marginal.
Prediction for "stop V-ing" compatibility.
"Stop V-ing" presupposes an ongoing activity that ceases:
- "John stopped running" ✓ (activity)
- "John stopped building the house" ✓ (accomplishment, activity in progress)
- ?"John stopped knowing French" — marginal (states don't "stop")
- ?"John stopped recognizing her" — requires iterative reading
This test identifies predicates with internal duration/stages.
Equations
- Phenomena.TenseAspect.Diagnostics.stopVingPrediction Features.VendlerClass.state = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.marginal
- Phenomena.TenseAspect.Diagnostics.stopVingPrediction Features.VendlerClass.activity = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.stopVingPrediction Features.VendlerClass.achievement = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.coerced
- Phenomena.TenseAspect.Diagnostics.stopVingPrediction Features.VendlerClass.accomplishment = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.stopVingPrediction Features.VendlerClass.semelfactive = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.coerced
Instances For
Prediction for imperative compatibility.
Imperatives require agentive control:
- "Run!" ✓ (activity)
- "Build a house!" ✓ (accomplishment)
- *"Know French!" ✗ (state, not controllable)
- ?"Recognize her!" — marginal (achievement, not directly controllable)
Equations
- Phenomena.TenseAspect.Diagnostics.imperativePrediction Features.VendlerClass.state = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.reject
- Phenomena.TenseAspect.Diagnostics.imperativePrediction Features.VendlerClass.activity = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.imperativePrediction Features.VendlerClass.achievement = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.marginal
- Phenomena.TenseAspect.Diagnostics.imperativePrediction Features.VendlerClass.accomplishment = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
- Phenomena.TenseAspect.Diagnostics.imperativePrediction Features.VendlerClass.semelfactive = Phenomena.TenseAspect.Diagnostics.DiagnosticResult.accept
Instances For
Result of running all diagnostic tests on a Vendler class.
- forX : DiagnosticResult
- inX : DiagnosticResult
- progressive : DiagnosticResult
- stopVing : DiagnosticResult
- imperative : DiagnosticResult
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.
- Phenomena.TenseAspect.Diagnostics.instBEqDiagnosticBattery.beq x✝¹ x✝ = false
Instances For
Run all diagnostics for a Vendler class.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Expected diagnostic battery for states.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Expected diagnostic battery for activities.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Expected diagnostic battery for achievements.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Expected diagnostic battery for accomplishments.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Expected diagnostic battery for semelfactives.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Running diagnostics on each class gives the expected battery.
Attested aspectual data for sample verbs.
- verbLemma : String
Verb lemma
- vendlerClass : Features.VendlerClass
Assigned Vendler class
- forXExample : String
Example sentence for "for X"
- forXJudgment : DiagnosticResult
Judgment for "for X"
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
"run" — activity
Equations
- One or more equations did not get rendered due to their size.
Instances For
"know" — state
Equations
- One or more equations did not get rendered due to their size.
Instances For
"build" — accomplishment
Equations
- One or more equations did not get rendered due to their size.
Instances For
"arrive" — achievement
Equations
- One or more equations did not get rendered due to their size.
Instances For
"recognize" — achievement
Equations
- One or more equations did not get rendered due to their size.
Instances For
"love" — state
Equations
- One or more equations did not get rendered due to their size.
Instances For
"write" — accomplishment (with bounded object)
Equations
- One or more equations did not get rendered due to their size.
Instances For
All sample verb data
Equations
- One or more equations did not get rendered due to their size.
Instances For
The diagnostic predictions above are hand-coded per class. These derivation theorems show they are consequences of Smith's 3-feature decomposition, not independent stipulations.
"in X" acceptance is equivalent to telicity.
This is the content of inX_identifies_telic, but stated purely
in terms of the feature function — the diagnostic follows from
the telicity feature.
"for X" acceptance is equivalent to atelicity + duration. Semelfactives are atelic but only accept "for X" with coercion (because they are punctual — no duration to measure). The diagnostic follows from two features, not from the class label.
Semelfactive coercion under "for X" derives from being atelic but punctual: atelicity licenses temporal modification, but punctuality forces iterative reinterpretation.
Progressive acceptance is equivalent to being durative and dynamic. States fail (not dynamic); achievements/semelfactives fail (not durative).