You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
POS-scoped deletion blocks metathesis analysis of other words (ParseWord incomplete) #520
A part-of-speech-scoped deletion rule makes metathesis words of another part of speech unparseable. Forward generation still produces them, so ParseWord is incomplete.
Repro
Start from conformance fixture languages/metathesis-phase-isolation (PR #480, 3421588) and add one deletion rule to the surface Morphology stratum, scoped to a part of speech that no metathesis word uses:
(ncH = <SegmentNaturalClass id="ncH"><Segment segment="cH" /></SegmentNaturalClass>; add prHDel to the Morphology stratum's phonologicalRules.)
Word
Root stratum / POS
Expected
Got
nui
SimpleMeta / posSimpleMeta
NIU
none
mu+i
ComplexMeta / posComplexMeta
MI+3SGU
none
Both words still generate forward (they are in the fixture's expected set, and removing prHDel restores them). The rule can never apply to either word in synthesis: wrong part of speech, and their roots live in deeper strata.
What seems to happen
Unapplying the deletion inserts an optional h between every vowel pair, before the part of speech is known, so n u (h) i. The deeper strata's metathesis rules then fail to match u–i adjacency across that optional node, so neither the (h)-present nor the (h)-absent reading reaches the metathesis unapplication. The optional node should be skippable, as it is for rewrite rules.
Activity
docs(divergences): 049 copy-agreement prune, 050 shared POS-scoped de…