Stump (2012): The Formal and Functional Architecture of Inflectional Morphology #
This file formalizes [Stu12]'s architecture of inflection, in which a lexeme's
content paradigm is linked to the form paradigms of its stems, and its account of
noncanonical inflection as deviation from canonical paradigm linkage. Canonical linkage is
total, univalent, stem-invariant, injective and property-preserving, the five axes of the
substrate's Morphology.Linkage.IsCanonical, and the Breton inflecting preposition HERVEZ is the
paper's canonical witness (hervez_isCanonical). Each noncanonical phenomenon deviates on
one axis: Latin COEPISSE lacks present-system stems and is defective without being
suppletive (coepisse_defective_not_suppletive), Latin BELLUM shares form correspondents
between the nominative and the accusative and between the dative and the ablative, the
directional and nondirectional syncretisms of the paper's rules (24) and (25)
(bellum_nom_acc_syncretic, bellum_nom_acc_realize_eq), deponent HORTĀRĪ has passive
form correspondents for its active content cells and none for its passive ones
(hortari_unfaithful, hortari_defective, hortari_active_form_virtual), the Hungarian
pronoun ÉN takes its oblique-case forms from case stems inflected for the pronoun's own
person and number, the functor-argument reversal of rule (37)
(en_functor_argument_reversal, en_pm_lexeme_sensitive), and Latin FERRE has two stems
in complementary distribution under the default rule alone, suppletive yet
property-preserving (ferre_suppletive_yet_faithful). The deviations compound: Old
Icelandic ÞURFA forms its present as a strong verb forms its past and its past on a weak
stem, deponent and suppletive at once (thurfa_suppletive_and_unfaithful).
The forms of the paper's examples are read from the forms data (attested). Where the
paper's realization follows from a stem and an ending, the ending is read off an exemplar:
COEPISSE's perfect endings are FERRE's (coepisse_perfect_realized), and HORTĀRĪ's
passive endings are LAUDĀRE's, which realize the deponent's active content cells
(hortari_realizes_hortor, depon_vs_regular).
Implementation notes #
The Breton, Latin and Old Icelandic linkages give content and form cells one type of property
sets, identified by id; the Hungarian pronouns' content cells carry cases and their form cells
person-number sets, a case being identified with the form property set HuProp.case. The
merged dative/ablative form cell of rule (25) is represented by the dative, with both
content cells mapped there. Deponent HORTĀRĪ's stem is taken as the segments before the
personal ending, as is LAUDĀRE's, so that the endings are shared. The Hungarian pronoun's
direct-case forms and the full Old Icelandic paradigm of (44) are not represented; the
paper's discussion of the later Latin active hortābat as an exploratory expression is
described only in the docstring of the virtual form cell.
References #
Equations
- Stump2012.instDecidableEqAgr x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeAgr = { elems := { val := ↑Stump2012.Agr.enumList, nodup := Stump2012.Agr.enumList_nodup }, complete := Stump2012.instFintypeAgr._proof_1 }
Equations
- Stump2012.instReprAgr.repr Stump2012.Agr.s1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.s1")).group prec✝
- Stump2012.instReprAgr.repr Stump2012.Agr.s2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.s2")).group prec✝
- Stump2012.instReprAgr.repr Stump2012.Agr.s3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.s3")).group prec✝
- Stump2012.instReprAgr.repr Stump2012.Agr.p1 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.p1")).group prec✝
- Stump2012.instReprAgr.repr Stump2012.Agr.p2 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.p2")).group prec✝
- Stump2012.instReprAgr.repr Stump2012.Agr.p3 prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Agr.p3")).group prec✝
Instances For
Equations
- Stump2012.instReprAgr = { reprPrec := Stump2012.instReprAgr.repr }
The person of an agreement value.
Equations
Instances For
The number of an agreement value.
Equations
Instances For
a.cell c is the cell c with the person and number of the agreement value a.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Stump2012.instDecidableEqSystem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeSystem = { elems := { val := ↑Stump2012.System.enumList, nodup := Stump2012.System.enumList_nodup }, complete := Stump2012.instFintypeSystem._proof_1 }
Equations
- Stump2012.instReprSystem = { reprPrec := Stump2012.instReprSystem.repr }
Equations
- Stump2012.instReprSystem.repr Stump2012.System.pres prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.System.pres")).group prec✝
- Stump2012.instReprSystem.repr Stump2012.System.perf prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.System.perf")).group prec✝
Instances For
Breton HERVEZ: the canonical baseline #
Equations
- Stump2012.instDecidableEqHervezLex x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeHervezLex = { elems := { val := ↑Stump2012.HervezLex.enumList, nodup := Stump2012.HervezLex.enumList_nodup }, complete := Stump2012.instFintypeHervezLex._proof_1 }
Equations
- Stump2012.instReprHervezLex.repr Stump2012.HervezLex.hervez prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.HervezLex.hervez")).group prec✝
Instances For
Equations
- Stump2012.instReprHervezLex = { reprPrec := Stump2012.instReprHervezLex.repr }
Equations
- Stump2012.instDecidableEqHervezStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeHervezStem = { elems := { val := ↑Stump2012.HervezStem.enumList, nodup := Stump2012.HervezStem.enumList_nodup }, complete := Stump2012.instFintypeHervezStem._proof_1 }
Equations
- Stump2012.instReprHervezStem = { reprPrec := Stump2012.instReprHervezStem.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
HERVEZ's linkage has one stem and the identity property mapping, the canonical pattern of the paper's (14).
Equations
Instances For
HERVEZ is canonical on all five axes.
Latin COEPISSE: defectiveness #
Equations
- Stump2012.instDecidableEqCoepLex x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeCoepLex = { elems := { val := ↑Stump2012.CoepLex.enumList, nodup := Stump2012.CoepLex.enumList_nodup }, complete := Stump2012.instFintypeCoepLex._proof_1 }
Equations
- Stump2012.instReprCoepLex = { reprPrec := Stump2012.instReprCoepLex.repr }
Equations
- Stump2012.instReprCoepLex.repr Stump2012.CoepLex.coepisse prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.CoepLex.coepisse")).group prec✝
Instances For
Equations
- Stump2012.instDecidableEqCoepStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeCoepStem = { elems := { val := ↑Stump2012.CoepStem.enumList, nodup := Stump2012.CoepStem.enumList_nodup }, complete := Stump2012.instFintypeCoepStem._proof_1 }
Equations
- Stump2012.instReprCoepStem = { reprPrec := Stump2012.instReprCoepStem.repr }
Equations
- Stump2012.instReprCoepStem.repr Stump2012.CoepStem.coep prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.CoepStem.coep")).group prec✝
Instances For
A Latin verb content cell pairs a tense system with an agreement feature.
Instances For
Equations
- Stump2012.instDecidableEqSysCell.decEq { sys := a, agr := a_1 } { sys := b, agr := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Stump2012.instReprSysCell = { reprPrec := Stump2012.instReprSysCell.repr }
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.
COEPISSE's linkage follows the stem specification (18), which gives the perfect-system
cells the stem coep and the present-system cells no stem.
Equations
- One or more equations did not get rendered due to their size.
Instances For
perfEnding a is the perfect ending for the agreement a, read off FERRE's perfect form
of (41) after its stem tul.
Equations
- Stump2012.perfEnding a = List.drop 3 (Stump2012.attested "carry" (a.cell { system := ↑Stump2012.Forms.System.perf }))
Instances For
A form cell of coep realizes as the stem followed by the perfect ending.
Equations
- Stump2012.coepRealize x✝¹ x✝ = ["c", "o", "e", "p"] ++ Stump2012.perfEnding x✝.agr
Instances For
COEPISSE is defective because its present-system cells lack a stem.
The third singular present-system content cell has no realization.
Every perfect-system content cell realizes through its coep correspondent as the
paper's (17) lists, with FERRE's perfect endings.
COEPISSE keeps a single stem, so it is stem-invariant.
COEPISSE is defective without being suppletive, deviating on totality but not on stem invariance.
Latin BELLUM: syncretism #
Equations
- Stump2012.instDecidableEqBellumLex x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeBellumLex = { elems := { val := ↑Stump2012.BellumLex.enumList, nodup := Stump2012.BellumLex.enumList_nodup }, complete := Stump2012.instFintypeBellumLex._proof_1 }
Equations
- Stump2012.instReprBellumLex = { reprPrec := Stump2012.instReprBellumLex.repr }
Equations
- Stump2012.instReprBellumLex.repr Stump2012.BellumLex.bellum prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.BellumLex.bellum")).group prec✝
Instances For
Equations
- Stump2012.instDecidableEqBellumStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeBellumStem = { elems := { val := ↑Stump2012.BellumStem.enumList, nodup := Stump2012.BellumStem.enumList_nodup }, complete := Stump2012.instFintypeBellumStem._proof_1 }
Equations
- Stump2012.instReprBellumStem.repr Stump2012.BellumStem.bell prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.BellumStem.bell")).group prec✝
Instances For
Equations
- Stump2012.instReprBellumStem = { reprPrec := Stump2012.instReprBellumStem.repr }
Equations
- Stump2012.instDecidableEqCase x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeCase = { elems := { val := ↑Stump2012.Case.enumList, nodup := Stump2012.Case.enumList_nodup }, complete := Stump2012.instFintypeCase._proof_1 }
Equations
- Stump2012.instReprCase.repr Stump2012.Case.nom prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Case.nom")).group prec✝
- Stump2012.instReprCase.repr Stump2012.Case.gen prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Case.gen")).group prec✝
- Stump2012.instReprCase.repr Stump2012.Case.dat prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Case.dat")).group prec✝
- Stump2012.instReprCase.repr Stump2012.Case.acc prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Case.acc")).group prec✝
- Stump2012.instReprCase.repr Stump2012.Case.abl prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Case.abl")).group prec✝
Instances For
Equations
- Stump2012.instReprCase = { reprPrec := Stump2012.instReprCase.repr }
Equations
- Stump2012.instDecidableEqNum x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeNum = { elems := { val := ↑Stump2012.Num.enumList, nodup := Stump2012.Num.enumList_nodup }, complete := Stump2012.instFintypeNum._proof_1 }
Equations
- Stump2012.instReprNum.repr Stump2012.Num.sg prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Num.sg")).group prec✝
- Stump2012.instReprNum.repr Stump2012.Num.pl prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Num.pl")).group prec✝
Instances For
Equations
- Stump2012.instReprNum = { reprPrec := Stump2012.instReprNum.repr }
A BELLUM content cell pairs a case with a number.
Instances For
Equations
- Stump2012.instDecidableEqBellumCell.decEq { case := a, num := a_1 } { case := b, num := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Stump2012.instReprBellumCell = { reprPrec := Stump2012.instReprBellumCell.repr }
Equations
- One or more equations did not get rendered due to their size.
The property mapping sends the nominative to the accusative, the directional neuter syncretism of rule (24), and the ablative to the dative, which represents the merged dative/ablative cell of rule (25).
Equations
- Stump2012.bellumPm σ = match σ.case with | Stump2012.Case.nom => { case := Stump2012.Case.acc, num := σ.num } | Stump2012.Case.abl => { case := Stump2012.Case.dat, num := σ.num } | x => σ
Instances For
BELLUM's linkage has one stem and the syncretizing property mapping.
Equations
- One or more equations did not get rendered due to their size.
Instances For
bellRealize reads the realization of each form cell of bell off the attested forms,
the paper's (22).
Equations
- Stump2012.bellRealize x✝¹ x✝ = Stump2012.attested "war" { number := ↑x✝.num.ud, case_ := ↑x✝.case.ud }
Instances For
The nominative and accusative singular share a form correspondent, a directional syncretism.
The dative and ablative singular share a form correspondent, a nondirectional syncretism.
The nominative and accusative singular have the same realization because they share a form correspondent, the paper's (26).
The nominative singular realizes through the accusative form cell.
BELLUM's linkage is not injective, since syncretism is a failure of injectivity.
Latin HORTĀRĪ: deponency, defectiveness and virtual cells #
Equations
- Stump2012.instDecidableEqLatinVerb x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeLatinVerb = { elems := { val := ↑Stump2012.LatinVerb.enumList, nodup := Stump2012.LatinVerb.enumList_nodup }, complete := Stump2012.instFintypeLatinVerb._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Stump2012.instReprLatinVerb = { reprPrec := Stump2012.instReprLatinVerb.repr }
Equations
- Stump2012.instDecidableEqVerbStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeVerbStem = { elems := { val := ↑Stump2012.VerbStem.enumList, nodup := Stump2012.VerbStem.enumList_nodup }, complete := Stump2012.instFintypeVerbStem._proof_1 }
Equations
- Stump2012.instReprVerbStem.repr Stump2012.VerbStem.hort prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.VerbStem.hort")).group prec✝
- Stump2012.instReprVerbStem.repr Stump2012.VerbStem.laud prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.VerbStem.laud")).group prec✝
Instances For
Equations
- Stump2012.instReprVerbStem = { reprPrec := Stump2012.instReprVerbStem.repr }
Equations
- Stump2012.instDecidableEqVoice x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeVoice = { elems := { val := ↑Stump2012.Voice.enumList, nodup := Stump2012.Voice.enumList_nodup }, complete := Stump2012.instFintypeVoice._proof_1 }
Equations
- Stump2012.instReprVoice.repr Stump2012.Voice.active prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Voice.active")).group prec✝
- Stump2012.instReprVoice.repr Stump2012.Voice.passive prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Voice.passive")).group prec✝
Instances For
Equations
- Stump2012.instReprVoice = { reprPrec := Stump2012.instReprVoice.repr }
v.ud is the voice v in the forms data.
Instances For
A finite content cell pairs a voice with an agreement feature.
Instances For
Equations
- Stump2012.instDecidableEqVCell.decEq { voice := a, agr := a_1 } { voice := b, agr := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Stump2012.instReprVCell = { reprPrec := Stump2012.instReprVCell.repr }
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.
In the linkage of the two verbs, deponent HORTĀRĪ has a stem on its active cells only and the voice-flipping property mapping of rule (29), the stem specification (30a), while regular LAUDĀRE is canonical, (30b).
Equations
- One or more equations did not get rendered due to their size.
Instances For
personalEnding v a is the personal ending for the voice v and the agreement a, read
off LAUDĀRE's forms of (28) after its stem.
Equations
- Stump2012.personalEnding v a = List.drop 4 (Stump2012.attested "praise" (a.cell { voice := ↑v.ud }))
Instances For
A form cell realizes as its stem followed by the ending of the form cell's voice.
Equations
- Stump2012.verbRealize Stump2012.VerbStem.hort x✝ = ["h", "o", "r", "t"] ++ Stump2012.personalEnding x✝.voice x✝.agr
- Stump2012.verbRealize Stump2012.VerbStem.laud x✝ = ["l", "a", "u", "d"] ++ Stump2012.personalEnding x✝.voice x✝.agr
Instances For
HORTĀRĪ's deponency makes the linkage unfaithful, since the property mapping flips its active content cells to passive.
Every active content cell of HORTĀRĪ has a passive form correspondent.
The active content cells of HORTĀRĪ realize with LAUDĀRE's passive endings, as the paper's (28) lists.
On the same active content cell, LAUDĀRE realizes through an active form cell and HORTĀRĪ through a passive one.
Deponency compounds with defectiveness, since the passive content cells of HORTĀRĪ lack a stem.
The first singular active form cell of hort is virtual. No content cell corresponds to
it, since active content maps to passive form and passive content has no correspondent. The
later Latin active hortābat, as [Hip10] describes, releases it.
Hungarian ÉN: functor-argument reversal #
Equations
- Stump2012.instDecidableEqPron x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypePron = { elems := { val := ↑Stump2012.Pron.enumList, nodup := Stump2012.Pron.enumList_nodup }, complete := Stump2012.instFintypePron._proof_1 }
Equations
- Stump2012.instReprPron = { reprPrec := Stump2012.instReprPron.repr }
Equations
- Stump2012.instReprPron.repr Stump2012.Pron.en prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Pron.en")).group prec✝
- Stump2012.instReprPron.repr Stump2012.Pron.te prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Pron.te")).group prec✝
Instances For
Equations
- Stump2012.instDecidableEqHuCase x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeHuCase = { elems := { val := ↑Stump2012.HuCase.enumList, nodup := Stump2012.HuCase.enumList_nodup }, complete := Stump2012.instFintypeHuCase._proof_1 }
Equations
- One or more equations did not get rendered due to their size.
- Stump2012.instReprHuCase.repr Stump2012.HuCase.dative prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.HuCase.dative")).group prec✝
- Stump2012.instReprHuCase.repr Stump2012.HuCase.inessive prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.HuCase.inessive")).group prec✝
Instances For
Equations
- Stump2012.instReprHuCase = { reprPrec := Stump2012.instReprHuCase.repr }
Equations
- Stump2012.instDecidableEqPersNum x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypePersNum = { elems := { val := ↑Stump2012.PersNum.enumList, nodup := Stump2012.PersNum.enumList_nodup }, complete := Stump2012.instFintypePersNum._proof_1 }
Equations
- Stump2012.instReprPersNum = { reprPrec := Stump2012.instReprPersNum.repr }
Equations
- Stump2012.instReprPersNum.repr Stump2012.PersNum.p1sg prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.PersNum.p1sg")).group prec✝
- Stump2012.instReprPersNum.repr Stump2012.PersNum.p2sg prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.PersNum.p2sg")).group prec✝
Instances For
pn.cell is the cell of the person-number property pn in the forms data.
Equations
- Stump2012.PersNum.p1sg.cell = { number := ↑UD.Number.Sing, person := ↑UD.Person.first }
- Stump2012.PersNum.p2sg.cell = { number := ↑UD.Number.Sing, person := ↑UD.Person.second }
Instances For
Equations
- Stump2012.instDecidableEqHuProp.decEq (Stump2012.HuProp.case a) (Stump2012.HuProp.case b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Stump2012.instDecidableEqHuProp.decEq (Stump2012.HuProp.case c) (Stump2012.HuProp.agr pn) = isFalse ⋯
- Stump2012.instDecidableEqHuProp.decEq (Stump2012.HuProp.agr pn) (Stump2012.HuProp.case c) = isFalse ⋯
- Stump2012.instDecidableEqHuProp.decEq (Stump2012.HuProp.agr a) (Stump2012.HuProp.agr b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- Stump2012.instFintypeHuProp = Fintype.ofEquiv (Stump2012.HuCase ⊕ Stump2012.PersNum) Stump2012.HuProp.proxyTypeEquiv
Equations
- Stump2012.instReprHuProp = { reprPrec := Stump2012.instReprHuProp.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Stump2012.instDecidableEqCaseStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeCaseStem = { elems := { val := ↑Stump2012.CaseStem.enumList, nodup := Stump2012.CaseStem.enumList_nodup }, complete := Stump2012.instFintypeCaseStem._proof_1 }
Equations
- Stump2012.instReprCaseStem.repr Stump2012.CaseStem.nek prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.CaseStem.nek")).group prec✝
- Stump2012.instReprCaseStem.repr Stump2012.CaseStem.benn prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.CaseStem.benn")).group prec✝
- Stump2012.instReprCaseStem.repr Stump2012.CaseStem.rajt prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.CaseStem.rajt")).group prec✝
Instances For
Equations
- Stump2012.instReprCaseStem = { reprPrec := Stump2012.instReprCaseStem.repr }
Equations
- Stump2012.CaseStem.nek.pid = "nek"
- Stump2012.CaseStem.benn.pid = "benn"
- Stump2012.CaseStem.rajt.pid = "rajt"
Instances For
In the stem selection of rule (37), the case picks the postpositional stem.
Equations
Instances For
The property mapping computes the form property set from the lexeme, the functor-argument reversal of (32) and (37).
Equations
Instances For
The pronouns' linkage selects the stem by case and the form property set by lexeme; its content cells carry cases and its form cells person-number sets.
Equations
- Stump2012.enLinkage = { realize := Stump2012.enStems, pm := Stump2012.enPm }
Instances For
A person-number form cell of a case stem realizes as the inflected postposition of (36).
Equations
- Stump2012.enRealize x✝ (Stump2012.HuProp.agr pn) = Stump2012.attested x✝.pid pn.cell
- Stump2012.enRealize x✝¹ x✝ = []
Instances For
The inessive of ÉN corresponds to the 1sg form cell of benn, the paper's (38).
Every oblique case content cell has the case's postpositional stem, so the pronouns' linkage is total.
The reversal is unfaithful, since the correspondent's property set is the pronoun's, not the case's.
ÉN and TE send the same inessive content cell to different form property sets, so the property mapping consults the lexeme.
The inessive of ÉN and of TE realize as the first and second person forms of benn.
Latin FERRE: suppletion under the default rule #
Equations
- Stump2012.instDecidableEqFerreLex x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeFerreLex = { elems := { val := ↑Stump2012.FerreLex.enumList, nodup := Stump2012.FerreLex.enumList_nodup }, complete := Stump2012.instFintypeFerreLex._proof_1 }
Equations
- Stump2012.instReprFerreLex = { reprPrec := Stump2012.instReprFerreLex.repr }
Equations
- Stump2012.instReprFerreLex.repr Stump2012.FerreLex.ferre prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.FerreLex.ferre")).group prec✝
Instances For
Equations
- Stump2012.instDecidableEqFerreStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeFerreStem = { elems := { val := ↑Stump2012.FerreStem.enumList, nodup := Stump2012.FerreStem.enumList_nodup }, complete := Stump2012.instFintypeFerreStem._proof_1 }
Equations
- Stump2012.instReprFerreStem = { reprPrec := Stump2012.instReprFerreStem.repr }
Equations
- Stump2012.instReprFerreStem.repr Stump2012.FerreStem.fer prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.FerreStem.fer")).group prec✝
- Stump2012.instReprFerreStem.repr Stump2012.FerreStem.tul prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.FerreStem.tul")).group prec✝
Instances For
In FERRE's linkage, the stem specification (42) gives two suppletive stems in complementary distribution, and the default rule supplies the identity property mapping.
Equations
- One or more equations did not get rendered due to their size.
Instances For
FERRE is suppletive because its present- and perfect-system cells draw on different stems.
FERRE is property-preserving, since with no override the default rule preserves the content cell's property set.
FERRE is suppletive yet property-preserving, so the two axes are independent.
Old Icelandic ÞURFA: a compound deviation #
Equations
- Stump2012.instDecidableEqThurfaLex x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeThurfaLex = { elems := { val := ↑Stump2012.ThurfaLex.enumList, nodup := Stump2012.ThurfaLex.enumList_nodup }, complete := Stump2012.instFintypeThurfaLex._proof_1 }
Equations
- Stump2012.instReprThurfaLex = { reprPrec := Stump2012.instReprThurfaLex.repr }
Equations
- Stump2012.instReprThurfaLex.repr Stump2012.ThurfaLex.thurfa prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.ThurfaLex.thurfa")).group prec✝
Instances For
ÞURFA has the strong stem þarf and the weak stem þurf.
- strong : ThurfaStem
- weak : ThurfaStem
Instances For
Equations
- Stump2012.instDecidableEqThurfaStem x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeThurfaStem = { elems := { val := ↑Stump2012.ThurfaStem.enumList, nodup := Stump2012.ThurfaStem.enumList_nodup }, complete := Stump2012.instFintypeThurfaStem._proof_1 }
Equations
- Stump2012.instReprThurfaStem = { reprPrec := Stump2012.instReprThurfaStem.repr }
Equations
- One or more equations did not get rendered due to their size.
- Stump2012.instReprThurfaStem.repr Stump2012.ThurfaStem.weak prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.ThurfaStem.weak")).group prec✝
Instances For
Equations
- Stump2012.instDecidableEqTense x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Stump2012.instFintypeTense = { elems := { val := ↑Stump2012.Tense.enumList, nodup := Stump2012.Tense.enumList_nodup }, complete := Stump2012.instFintypeTense._proof_1 }
Equations
- Stump2012.instReprTense = { reprPrec := Stump2012.instReprTense.repr }
Equations
- Stump2012.instReprTense.repr Stump2012.Tense.pres prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Tense.pres")).group prec✝
- Stump2012.instReprTense.repr Stump2012.Tense.past prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Stump2012.Tense.past")).group prec✝
Instances For
A ÞURFA content cell pairs a tense with an agreement feature.
Instances For
Equations
- Stump2012.instDecidableEqTCell.decEq { tense := a, agr := a_1 } { tense := b, agr := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Stump2012.instReprTCell = { reprPrec := Stump2012.instReprTCell.repr }
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.
ÞURFA's linkage, the paper's (45) and (46), gives the present the strong stem and the past the weak stem, a suppletion, and its property mapping sends every cell to the past, the deponent tense.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In the realizations of (46), the strong stem at a past form cell gives the present forms and the weak stem the past forms.
Equations
- Stump2012.thurfaRealize Stump2012.ThurfaStem.strong x✝ = Stump2012.attested "need" (x✝.agr.cell { tense := ↑UD.Tense.Pres })
- Stump2012.thurfaRealize Stump2012.ThurfaStem.weak x✝ = Stump2012.attested "need" (x✝.agr.cell { tense := ↑UD.Tense.Past })
Instances For
ÞURFA is suppletive because its present and past draw on different stems.
ÞURFA is unfaithful because a present content cell maps to a past form cell.
ÞURFA's linkage compounds suppletion with a deponent tense mapping.
The present content cell realizes as þarf through the strong stem at the past form cell, and the past content cell as þurfta through the weak stem.