The property tables of the Levin classes #
LevinClass.properties is the property table of a class's entry in Part II of Levin's English
Verb Classes and Alternations: each line names an alternation of Part One by its section number,
or a further property, with the book's asterisk or question mark, its scope and any further
qualifier. A class shows an alternation (LevinClass.Participates) when a line names it without a
diacritic, lacks it (LevinClass.Stars) when a line stars it or the section grouping it, and
tests it (LevinClass.Tests) when it does either.
Implementation notes #
- A starred family heading, such as "*Causative Alternations", denies each of the family's
subsections, so
Starsdescends to them. An attested family heading is entered as the subsection whose Part One list carries the class, soParticipatesreads the lines as they stand. - A heading phrased as a denial ("not available", "not possible") is the alternation starred.
- A class may list related alternations under different bases: the spray/load class attests the
other causative alternations of its locative variant and stars the causative alternations of its
with variant, so
ParticipatesandStarsare not disjoint, and the qualifiers tell the lines apart.
References #
The alternation of Part One a property line names, if it names one.
Equations
- l.alternation? = match l.heading with | Data.VerbClasses.Heading.alternation n => ArgumentStructure.DiathesisAlternation.ofNumber? n | Data.VerbClasses.Heading.property p => none
Instances For
The property table of the class's entry, in the book's order.
Equations
- c.properties = c.entry.properties
Instances For
The class's table lists the alternation with the given diacritic.
Equations
- c.Lists a d = ∃ l ∈ c.properties, l.heading = Data.VerbClasses.Heading.alternation a.number ∧ l.diacritic = d
Instances For
Equations
The class shows the alternation when its table lists it without a diacritic.
Equations
- c.Participates a = c.Lists a Data.VerbClasses.Diacritic.none
Instances For
The class lacks the alternation when its table stars it or the section grouping it.
Equations
- c.Stars a = (c.Lists a Data.VerbClasses.Diacritic.star ∨ ∃ p ∈ a.parent?, c.Lists p Data.VerbClasses.Diacritic.star)
Instances For
Equations
- One or more equations did not get rendered due to their size.
The class's table tests the alternation, attesting or starring it.
Equations
- c.Tests a = (c.Participates a ∨ c.Stars a)
Instances For
Equations
- c.instDecidableTests a = { decide := decide (c.Participates a) || decide (c.Stars a), reflects_decide := ⋯ }