Nanosyntax: the lexicalization algorithm #
In nanosyntax features merge one at a time, and the phrase a merger creates must be lexicalized before the next feature merges. Starke's algorithm says what happens when no entry matches the new phrase. Material evacuates from the complement of the new feature, first the constituent holding the bottom of the sequence and then ever larger constituents around it, until the remnant is lexicalized. If no evacuation helps, the derivation returns to the previous merger and takes its next option. An evacuated constituent keeps its exponent and the remnant gets one of its own, so evacuation is what makes a suffix. A lexicalized constituent is pronounced as a whole, so an entry matching the new phrase, or the whole structure evacuation has built, overrides the exponents inside it.
Main definitions #
spine,merge,adjoin: syntactic objects, with labelled phrases and the unlabelled nodes evacuation creates.mergeOptions: the ways of lexicalizing a merger, in order of preference.derivations: the derivations of a feature sequence, in order of preference.spell: the exponents of a derivation, largest lexicalized constituents first.lexicalize,exponents: the first derivation and its exponents.
Main results #
derivations_append: deriving a sequence is deriving its first part and then, from each result in turn, the rest, which is backtracking.exists_matches_of_mem_lexicalize,exponents_eq_none_iff: every constituent of the derivation is matched by an entry, so a derivation is always pronounced.exponents_cons_of_forall_leaf,exponents_ofSupersetRule: where no entry lexicalizes a feature above the bottom alone the algorithm never evacuates, so on a lexicon of containment entries its one exponent is the containment engine's spellout.
Implementation notes #
- A syntactic object is a tree with labels in
Option F. A node labelledsome fis the phrase of the featuref, with its complement as its one daughter, or none when the complement has evacuated. A node labellednoneis unlabelled and has two daughters, an evacuated constituent and the remnant it left. Evacuation leaves no trace and projects no label. - A derivation is the row of constituents along the left edge of its root. Its exponents are read off the finished structure, which is sound because a constituent once built is never changed, only merged over.
mergeOptionsfollows the pied-piping formulation of the algorithm, which adds evacuations to Starke's original steps. On a lexicon whose trees have no unlabelled node only the original ones can be lexicalized (length_le_of_mem_mergeOptions).
TODO #
- The algorithm's last resort, a specifier built in a workspace of its own, which is where prefixes come from. The literature differs on what such a derivation starts from.
References #
Syntactic objects #
The right-branching phrase a feature sequence builds without evacuation, its first feature at the bottom.
Equations
- Morphology.Nanosyntax.spine f₀ fs = Morphology.Nanosyntax.phrase (some f₀) (List.map some fs)
Instances For
The phrase a feature projects over a complement.
Equations
- Morphology.Nanosyntax.merge f t = RoseTree.node (some f) [t]
Instances For
The unlabelled node an evacuated constituent forms with the remnant it left.
Equations
- Morphology.Nanosyntax.adjoin l r = RoseTree.node none [l, r]
Instances For
A derivation in progress is the row of constituents along the left edge of its root, the one holding the bottom of the feature sequence first and the remnants of evacuation after it.
Equations
- Morphology.Nanosyntax.Derivation F = List (RoseTree (Option F))
Instances For
The object a row of constituents forms, each remnant adjoined to what evacuated from it.
Equations
- Morphology.Nanosyntax.root [] = none
- Morphology.Nanosyntax.root (t :: ts) = some (List.foldl Morphology.Nanosyntax.adjoin t ts)
Instances For
The root of a row of two or more constituents is unlabelled.
One merger #
The ways of lexicalizing the merger of a feature with a derivation, in order of preference.
The new phrase is lexicalized whole, or the first j constituents of its complement evacuate
and the remnant is lexicalized, for j from one up to all of them.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The first feature is lexicalized as a phrase of its own.
A feature merged with a single constituent is lexicalized together with it, or else the constituent evacuates and the feature is lexicalized alone, as a suffix.
On a lexicon whose stored trees have no unlabelled node a merger never fuses constituents. It grows the last one, everything before it evacuating, or adds one, everything evacuating, which are the specifier-to-specifier and complement movements of Starke's original steps.
Derivations #
The derivations of a feature sequence from a derivation, in order of preference. Each merger takes its options in turn and the rest of the sequence is derived from each.
Equations
- One or more equations did not get rendered due to their size.
- Morphology.Nanosyntax.derivations L x✝ [] = [x✝]
Instances For
Deriving a sequence is deriving its first part and then the rest from each result in turn, so a failure in the rest returns to the latest merger of the first part with an option left.
The lexicalization algorithm returns the first derivation of a feature sequence, the bottom of the sequence first.
Equations
- Morphology.Nanosyntax.lexicalize L fs = (Morphology.Nanosyntax.derivations L [] fs).head?
Instances For
Exponents #
The exponents of a row given last constituent first. The whole row gets one exponent where an entry matches the object it forms, and otherwise its last constituent gets its own after the exponents of the rest.
Equations
- One or more equations did not get rendered due to their size.
- Morphology.Nanosyntax.spellAux L [] = some []
Instances For
The exponents of a derivation, in linear order. A lexicalized constituent is pronounced as a whole, so the longest initial part of the row forming a lexicalized object gets one exponent and each constituent after it its own.
Equations
- Morphology.Nanosyntax.spell L d = Morphology.Nanosyntax.spellAux L (List.reverse d)
Instances For
A row is pronounced as soon as each of its constituents is lexicalized.
The exponents the algorithm gives a feature sequence, in linear order.
Equations
- Morphology.Nanosyntax.exponents L fs = (Morphology.Nanosyntax.lexicalize L fs).bind (Morphology.Nanosyntax.spell L)
Instances For
Soundness #
Every constituent of the derivation the algorithm returns is matched by an entry.
A sequence the algorithm derives is pronounced.
Short sequences #
A sequence of two features gets one exponent for its whole phrase, or else the exponent of its first feature followed by a suffix for the second, unless an entry matches the two phrases together.
Lexicons without suffixes #
Where no entry lexicalizes a feature alone, merging it with a single constituent can only grow the constituent.
Where no entry lexicalizes a feature above the bottom alone, the algorithm never evacuates, and the sequence has at most one derivation, its one phrase lexicalized whole.
Where no entry lexicalizes a feature above the bottom alone, the sequence gets a single exponent, that of its one phrase, or none.
On a lexicon of containment entries the algorithm never evacuates, and it gives each grade the single exponent the containment engine spells out there.