Inheritance hierarchies #
This file defines default inheritance with override: a lexical entry inherits a property from a
more general entry unless it specifies the property itself. It is the organizing principle of
the hierarchical lexicon of Construction Morphology and the rival to relational motivation in
Relational Morphology. A Hierarchy is a single-parent forest whose parent relation is
well-founded, and Hierarchy.value looks up a node's own specification if it has one and its
nearest ancestor's otherwise, by recursion along the parent relation; the recursion step is
the priority union of partial values, Option.or.
A finite family of schemas with distinct descriptions carries its own hierarchy
(Hierarchy.ofFamily): a schema's parent is the nearest more general schema of the family,
the one whose description is greatest among those strictly below its own. What is inherited
monotonically, everything a more general description pins, needs no lookup, since an instance
of a schema instantiates every more general schema; the lookup is for defeasible properties
that a subschema may override.
Multiple inheritance, a node with two parents, is not modelled here; the multi-parent form of
the override step is Syntax/ConstructionGrammar/Inheritance.lean. The formal traditions of
defaults with override are DATR and Network Morphology.
Main declarations #
Hierarchy,Hierarchy.ofDepth: a single-parent forest with a well-founded parent relation.Hierarchy.value,Hierarchy.value_eq: default-and-override lookup and its recursion.Hierarchy.parent_asymm: no two nodes are each other's parent.Hierarchy.NearestGeneral,Hierarchy.ofFamily,Hierarchy.ofFamily_parent_eq_some_iff: the hierarchy derived from a finite family of schemas.
References #
- [jackendoff-audring-2020]
- [booij-2010-compass]
- [evans-gazdar-1996]
- [brown-hippisley-2012]
A single-parent inheritance hierarchy: parent links each node to its immediate
supertype, none at a root, and wf witnesses acyclicity.
- parent : ι → Option ι
The immediate-supertype map.
- wf : WellFounded fun (a b : ι) => self.parent b = some a
Acyclicity: the parent relation is well-founded.
Instances For
A hierarchy from a parent map and a depth function decreasing toward the root; on a finite
node type the obligation closes by decide.
Equations
- ConstructionMorphology.Hierarchy.ofDepth parent depth h = { parent := parent, wf := ⋯ }
Instances For
Default-and-override lookup: a node's own specification if present, else the nearest ancestor's, by recursion along the parent relation.
Equations
Instances For
The hierarchy of a family of schemas #
j is the nearest more general schema than i in the family when its description is
strictly below i's and above every other description of the family strictly below i's.
Equations
Instances For
With distinct descriptions, the nearest more general schema is unique.
Equations
- ConstructionMorphology.Hierarchy.instDecidableNearestGeneral family i j = id inferInstance
The subsumption hierarchy of a finite family of schemas with distinct descriptions: a schema's parent is the nearest more general schema of the family, when there is one.
Equations
- One or more equations did not get rendered due to their size.