Fission (Distributed Morphology) #
@cite{halle-marantz-1993}
Fission is a postsyntactic operation that splits a single terminal node
into two morphological exponents. This module provides the generic
framework; language-specific instantiations live in Fragments/.
The key parameters of any Fission rule:
- Structural context: What verb-head configuration licenses Fission?
- Person condition: Which person categories trigger Fission?
- Realization: How is the split terminal spelled out?
The result of Fission: two clitic positions.
- cl1Form : String
Cl₁: bears person features
- cl2Form : String
Cl₂: bears case features
Instances For
Equations
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
A Fission rule parameterized over a person category type.
Language-specific modules instantiate this with their own person type, structural context, and realization function.
- contextOk : List Minimalist.VerbHead → Bool
Structural context check (e.g., inchoative = vGO ∧ vBE).
- personOk : Person → Bool
Person/number condition (e.g., [+PART, +SING]).
- realize : Person → FissionOutput
Realization: map person category to the two clitic forms.
Instances For
Apply Fission given a rule, a person category, and a verb-head list.
Returns none if either the structural or person condition fails.
Equations
- Morphology.DM.Fission.applyFission rule p heads = if (rule.contextOk heads && rule.personOk p) = true then some (rule.realize p) else none
Instances For
A PF well-formedness condition: checks whether a list of overt clitic forms satisfies a language-specific phonological requirement (e.g., anticausative marking in Spanish).
- isSatisfied : List String → Bool
Instances For
When Fission produces a clitic that satisfies a PF condition, another overt marker (e.g., SE) may be optional.
Equations
- Morphology.DM.Fission.fissionSatisfiesPF rule pf p heads = match Morphology.DM.Fission.applyFission rule p heads with | some output => pf.isSatisfied [output.cl1Form] | none => false