Halle and Marantz (1993): Distributed Morphology and the Pieces of Inflection #
This file formalizes the English verb inflection of [HM93], section 3.1. The
seven suffixes of (8) compete under the Subset Principle for the fused Tns–Agr node,
vocabulary, and the principal parts of (7) fall out, principal_parts. The node's
features are the binary [±past] and [±participle], the [3sg] agreement complex, and the
stem the node is inserted next to, the paper's contextual feature; Agr is added at MS to
[−participle] Tns nodes and fuses with Tns before insertion, tnsAgrFusion, so a participial
node takes no Agr, agr_only_on_finite. The regular verb's identical finite past and past
participle is underspecification rather than a participle rule: -d carries only [+past], and
the only participle-specific past item is the stem-listed -n,
participle_eq_past_of_not_strong; the stem-conditioned past ∅ and the Elsewhere ∅ are
distinct items, zero_morphemes_distinct.
Implementation notes #
The paper says the ordering between the ∅ and -t pasts "is not determined by complexity"
and needs none, since their stem lists are disjoint, and that the ordering among the past block,
[3sg] -z, and [+participle] -ing "must be stipulated"; the Subset Principle's count ties
at those points, and the list order of vocabulary carries the stipulation,
past_precedes_agreement. Stem readjustment (dwel-t, brough-t) is the paper's separate rule
system (10) and is outside this file.
References #
The fused Tns–Agr node #
Equations
- HalleMarantz1993.instDecidableEqVerb 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.
- HalleMarantz1993.instReprVerb.repr HalleMarantz1993.Verb.put prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "HalleMarantz1993.Verb.put")).group prec✝
Instances For
Equations
- HalleMarantz1993.instReprVerb = { reprPrec := HalleMarantz1993.instReprVerb.repr }
Equations
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.past a) (HalleMarantz1993.Feature.past b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.past b) (HalleMarantz1993.Feature.participle b_1) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.past b) HalleMarantz1993.Feature.sg3 = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.past b) (HalleMarantz1993.Feature.stem v) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.participle b) (HalleMarantz1993.Feature.past b_1) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.participle a) (HalleMarantz1993.Feature.participle b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.participle b) HalleMarantz1993.Feature.sg3 = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.participle b) (HalleMarantz1993.Feature.stem v) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq HalleMarantz1993.Feature.sg3 (HalleMarantz1993.Feature.past b) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq HalleMarantz1993.Feature.sg3 (HalleMarantz1993.Feature.participle b) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq HalleMarantz1993.Feature.sg3 HalleMarantz1993.Feature.sg3 = isTrue ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq HalleMarantz1993.Feature.sg3 (HalleMarantz1993.Feature.stem v) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.stem v) (HalleMarantz1993.Feature.past b) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.stem v) (HalleMarantz1993.Feature.participle b) = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.stem v) HalleMarantz1993.Feature.sg3 = isFalse ⋯
- HalleMarantz1993.instDecidableEqFeature.decEq (HalleMarantz1993.Feature.stem a) (HalleMarantz1993.Feature.stem b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- HalleMarantz1993.instReprFeature = { reprPrec := HalleMarantz1993.instReprFeature.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A Tns node next to stem v.
Equations
- HalleMarantz1993.tns v past participle = [HalleMarantz1993.Feature.past past, HalleMarantz1993.Feature.participle participle, HalleMarantz1993.Feature.stem v]
Instances For
The Agr node added at MS: the [3sg] complex or the unmarked one.
Equations
- HalleMarantz1993.agr sg3 = if sg3 = true then [HalleMarantz1993.Feature.sg3] else []
Instances For
Agr fuses with a [−participle] Tns node into one terminal bearing both
bundles.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The fused node of a finite form.
Equations
- HalleMarantz1993.tnsAgr v past sg3 = HalleMarantz1993.tns v past false ++ HalleMarantz1993.agr sg3
Instances For
Agr is added only to [−participle] nodes: Fusion rejects a participial
Tns.
The Vocabulary (8) #
Stems taking -n in the past participle (beat-en).
Instances For
Stems taking the ∅ past (beat, put).
Instances For
Stems taking the -t past (dwel-t).
Equations
Instances For
The items of a stem-conditioned suffix: one per listed stem, the paper's disjunctive list in a contextual feature.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The seven suffixes of (8): the past block (-n, the unordered ∅ and
-t, default -d), then [3sg] -z, [+participle] -ing, and
the Elsewhere ∅.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ∅ and -t pasts "are not ordered by complexity" and need no
ordering: their stem lists are disjoint.
The principal parts (7) #
Equations
- HalleMarantz1993.instDecidableEqPart 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
- HalleMarantz1993.instReprPart = { reprPrec := HalleMarantz1993.instReprPart.repr }
The fused node a row is spelled out at; participles take no Agr.
Equations
- HalleMarantz1993.Part.pastParticiple.node x✝ = HalleMarantz1993.tns x✝ true true
- HalleMarantz1993.Part.pastFinite.node x✝ = HalleMarantz1993.tnsAgr x✝ true false
- HalleMarantz1993.Part.nonpast3sg.node x✝ = HalleMarantz1993.tnsAgr x✝ false true
- HalleMarantz1993.Part.nonpastParticiple.node x✝ = HalleMarantz1993.tns x✝ false true
- HalleMarantz1993.Part.nonpastFinite.node x✝ = HalleMarantz1993.tnsAgr x✝ false false
Instances For
A cell of (7): stem, row, and the suffix the paper segments.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HalleMarantz1993.Verb.ofString "beat" = some HalleMarantz1993.Verb.beat
- HalleMarantz1993.Verb.ofString "put" = some HalleMarantz1993.Verb.put
- HalleMarantz1993.Verb.ofString "dwell" = some HalleMarantz1993.Verb.dwell
- HalleMarantz1993.Verb.ofString "play" = some HalleMarantz1993.Verb.play
- HalleMarantz1993.Verb.ofString x✝ = none
Instances For
Equations
- HalleMarantz1993.Part.ofString "past_participle" = some HalleMarantz1993.Part.pastParticiple
- HalleMarantz1993.Part.ofString "past_finite" = some HalleMarantz1993.Part.pastFinite
- HalleMarantz1993.Part.ofString "nonpast_3sg" = some HalleMarantz1993.Part.nonpast3sg
- HalleMarantz1993.Part.ofString "nonpast_participle" = some HalleMarantz1993.Part.nonpastParticiple
- HalleMarantz1993.Part.ofString "nonpast_finite" = some HalleMarantz1993.Part.nonpastFinite
- HalleMarantz1993.Part.ofString x✝ = none
Instances For
The cell an example of (7) records, from its paperFeatures.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Every row of the data pool is a well-formed cell.
The cells of (7).
Equations
Instances For
The principal parts: the Subset Principle over (8) spells out every cell of (7) with the suffix the paper segments.
What the competition explains #
Syncretism by underspecification: outside the -n list, the past
participle and the finite past receive the same suffix, because every past
item but -n carries only [+past].
The stem-conditioned past ∅ (put) blocks the default -d: the
winner is the stem-listed item.
The paper's two zero morphemes are different items: the stem-conditioned
past ∅ and the Elsewhere ∅ of the nonpast finite node.
The stipulated block order: at a [+past] node that is also [3sg],
-d and -z tie on specificity and the past block's precedence in
vocabulary decides — play-ed, not play-s.
Fusion in the spell-out pipeline #
Fusion of adjacent Tns and Agr, then insertion by the Subset Principle.
Equations
- One or more equations did not get rendered due to their size.
Instances For
play-s: the domain [Tns, Agr] spells out as the single exponent
-z.
Two terminals enter, one exponent slot leaves: the misalignment is carried by the fusion module.