Construction Grammar: Inheritance Modes #
Computational content for the two modes of constructional inheritance
distinguished by [Gol95] §3.3.1 (the InheritanceMode enum in
ConstructionGrammar.Basic), following [Die23]'s Table 2: in the
complete mode, "high- and low-level representations are fully
compatible with each other" — the unification-based regime [KF99]
built their formal CxG on and [Sag12]'s SBCG inherits from HPSG — while
in the default mode "low-level representations override high-level
representations if there is a conflict", with formal semantics in the
default-unification tradition ([LC99]). Complete mode
is defined exactly on IsCompatible inputs; default mode (inheritField)
lets the child win, and under multiple inheritance (a child with two or
more schematic parents, [Die23] §2.2.2) leaves a field unspecified
when the parents conflict and the child does not legislate
(ResolvesField).
[Die23]'s other axis — impoverished vs. full entry model, i.e. whether shared information is stored once or redundantly at every level — is a storage claim orthogonal to the inheritance algebra and is not formalized here.
Main declarations #
IsCompatible: two partial field values can strictly unifyHasConflict,inheritField,ResolvesField: normal-mode field semanticsCxnSpec: a partial constructional specification (bar level, modifier position, stress locus, self-embedding)CxnSpec.inherit,CxnSpec.IsCompatible,CxnSpec.Resolves: componentwise liftsinheritField_of_isCompatible: the two modes agree absent conflictConstructicon.parentsOf,derivedSpec,ResolvesAll,WellFormed: inheritance computed through a constructicon's linksinheritFieldUnique,Constructicon.derivedField: inheritance for fields without decidable equality (e.g. denotations)
Field algebra #
A specification field is an Option-valued partial value: none is
"unspecified", and inheritance fills unspecified fields from parents.
Two partial field values are compatible — able to strictly unify: at most one is defined, or both agree. Complete-mode inheritance ([Die23] Table 2: representations "fully compatible with each other") is defined exactly on compatible values.
Equations
- ConstructionGrammar.IsCompatible p q = (p = none ∨ q = none ∨ p = q)
Instances For
The distinct values a family of parents determines for a field.
Equations
- ConstructionGrammar.determinedValues parents = (List.filterMap id parents).dedup
Instances For
A parent family conflicts on a field when it determines two or more distinct values.
Equations
- ConstructionGrammar.HasConflict parents = (1 < (ConstructionGrammar.determinedValues parents).length)
Instances For
Equations
Normal-mode (default) inheritance for one field ([Gol95] §3.3.1; [Die23] Table 2: "low-level representations override high-level representations if there is a conflict"; [LC99]): the inheriting construction's own value wins; an unspecified field takes the unique value its parents agree on; a parental conflict the child does not legislate leaves the field unspecified.
Equations
- ConstructionGrammar.inheritField (some x_1) parents = some x_1
- ConstructionGrammar.inheritField none parents = some x_1
- ConstructionGrammar.inheritField none parents = none
Instances For
The child legislates wherever its parents conflict — [Gol95]'s normal mode: "conflicts are addressed by the inheriting construction, which specifies its own constraints".
Equations
- ConstructionGrammar.ResolvesField own parents = (ConstructionGrammar.HasConflict parents → own ≠ none)
Instances For
Equations
- ConstructionGrammar.instDecidableResolvesField own parents = id inferInstance
Absent conflict, normal-mode inheritance agrees with strict (complete-mode) unification: with compatible parents the inherited value is the priority union of child and parents. Normal mode departs from complete inheritance only at genuine conflicts.
Compatible parents impose no resolution burden on the child.
Constructional specification vocabulary #
Typed values for the inheritable form-side properties at issue in nominal-modification networks ([Gol95] §3.3; [GS25] §6).
Locus of primary stress in a modification construction: compound stress falls within the modifier (BLACKbird), phrasal modification stresses the head (black BIRD).
- modifier : StressLocus
- head : StressLocus
Instances For
Equations
- ConstructionGrammar.instDecidableEqStressLocus 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
Position of the modifier slot relative to the head.
- prenominal : ModPosition
- postnominal : ModPosition
Instances For
Equations
- ConstructionGrammar.instDecidableEqModPosition 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
Whether a construction's output can recur inside the construction's own open slot.
- allowed : SelfEmbedding
- banned : SelfEmbedding
Instances For
Equations
- ConstructionGrammar.instDecidableEqSelfEmbedding 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
A partial constructional specification: the inheritable form-side
properties of a (nominal-modification) construction. none means the
construction does not legislate the field; inheritance fills unspecified
fields from parents.
- level : Option BarLevel
X-bar level of the construction's output
- modPosition : Option ModPosition
Position of the modifier slot
- stress : Option StressLocus
Locus of primary stress
- selfEmbedding : Option SelfEmbedding
Whether the construction self-embeds
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.
Instances For
Equations
- ConstructionGrammar.instReprCxnSpec = { reprPrec := ConstructionGrammar.instReprCxnSpec.repr }
Normal-mode inheritance from a family of parent specifications, componentwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The child's own specification legislates every field its parents conflict on — well-formedness of a normal-mode multi-mother node.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- own.instDecidableResolves parents = ConstructionGrammar.CxnSpec.instDecidableResolves._aux_1 own parents
Compatible parents impose no resolution burden: any child — including one with no constraints of its own — is well-formed below them. Normal mode only demands child-side legislation at genuine conflicts.
Inheritance through a constructicon #
A specification assignment maps each construction to its own (conflict-resolving) specification; the network then computes each construction's full specification by normal-mode inheritance from the parents its links name.
The constructions a network's links name as parents of name.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The constructions a network's links name as children of name.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every link endpoint resolves to a construction in the network — no dangling name-keyed links.
Equations
- cx.WellFormed = ∀ l ∈ cx.links, (∃ c ∈ cx.constructions, c.name = l.parent) ∧ ∃ c ∈ cx.constructions, c.name = l.child
Instances For
Normal-mode derived specification of c in the network: c's own
specification wins; fields it leaves open are filled by the unique value
its parents agree on ([Die23] Table 2's default mode, computed
over the links rather than stipulated per node).
Equations
- cx.derivedSpec own c = (own c).inherit (List.map own (cx.parentsOf c.name))
Instances For
Normal-mode well-formedness of the whole network: every construction
legislates every field its parents conflict on
(CxnSpec.Resolves, at each node).
Equations
- cx.ResolvesAll own = ∀ c ∈ cx.constructions, (own c).Resolves (List.map own (cx.parentsOf c.name))
Instances For
Equations
Inheritance of denotation-valued fields #
Denotations (e.g. PartialProp-valued pragmatic contributions) have no
decidable equality, so agreeing parents cannot be deduplicated as in
inheritField. inheritFieldUnique inherits when exactly one parent
supplies a value — sufficient for single-mother inheritance, the
configuration of conventional-subtype links.
Normal-mode inheritance for one field without decidable equality:
the child's own value wins; an unspecified field takes the value of the
unique supplying parent; multiple suppliers (which inheritField could
reconcile when they agree) yield none.
Equations
- ConstructionGrammar.inheritFieldUnique (some x_1) parents = some x_1
- ConstructionGrammar.inheritFieldUnique none parents = some x_1
- ConstructionGrammar.inheritFieldUnique none parents = none
Instances For
Derived value of a denotation-valued field for c in the network:
c's own value wins; otherwise the value of the unique supplying
parent.
Equations
- cx.derivedField own c = ConstructionGrammar.inheritFieldUnique (own c) (List.map own (cx.parentsOf c.name))