Morphs #
A morph is a minimal segmental form together with its attachment kind: root, prefix, suffix, proclitic, enclitic, or free form — the form side of [Has20]'s form–content pairing. Morphs are never zero and never discontinuous.
Equations
- Morphology.Morph.instDecidableEqSide 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
- Morphology.Morph.instReprSide = { reprPrec := Morphology.Morph.instReprSide.repr }
Equations
- Morphology.Morph.instFintypeSide = { elems := { val := ↑Morphology.Morph.Side.enumList, nodup := Morphology.Morph.Side.enumList_nodup }, complete := Morphology.Morph.instFintypeSide._proof_1 }
How tightly a bound morph attaches to its host.
- affix : Attachment
An affix, written with
-. - clitic : Attachment
A clitic, written with
=.
Instances For
Equations
- Morphology.Morph.instDecidableEqAttachment x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Morphology.Morph.instReprAttachment = { reprPrec := Morphology.Morph.instReprAttachment.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.
The ways a morph attaches.
- bound
(side : Side)
(attachment : Attachment)
: Kind
A bound morph attaches on a side of its host, as an affix or a clitic.
- root : Kind
A root morph.
- free : Kind
A free non-root morph, such as a particle or an auxiliary.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Morphology.Morph.instDecidableEqKind.decEq (Morphology.Morph.Kind.bound side attachment) Morphology.Morph.Kind.root = isFalse ⋯
- Morphology.Morph.instDecidableEqKind.decEq (Morphology.Morph.Kind.bound side attachment) Morphology.Morph.Kind.free = isFalse ⋯
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.root (Morphology.Morph.Kind.bound side attachment) = isFalse ⋯
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.root Morphology.Morph.Kind.root = isTrue ⋯
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.root Morphology.Morph.Kind.free = isFalse Morphology.Morph.instDecidableEqKind.decEq._proof_7
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.free (Morphology.Morph.Kind.bound side attachment) = isFalse ⋯
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.free Morphology.Morph.Kind.root = isFalse Morphology.Morph.instDecidableEqKind.decEq._proof_9
- Morphology.Morph.instDecidableEqKind.decEq Morphology.Morph.Kind.free Morphology.Morph.Kind.free = isTrue ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- Morphology.Morph.instReprKind = { reprPrec := Morphology.Morph.instReprKind.repr }
Equations
- Morphology.Morph.instFintypeKind = Fintype.ofEquiv ((_ : Morphology.Morph.Side) × Morphology.Morph.Attachment ⊕ Unit ⊕ Unit) Morphology.Morph.Kind.proxyTypeEquiv
A morph is a minimal segmental form with its attachment kind.
- kind : Kind
How the morph attaches.
- form : String
The bare segmental material, with no boundary notation.
Instances For
Equations
- Morphology.instDecidableEqMorph.decEq { kind := a, form := a_1 } { kind := b, form := b_1 } = if h : a = b then h ▸ if h : a_1 = b_1 then h ▸ isTrue ⋯ else isFalse ⋯ else isFalse ⋯
Instances For
Equations
- Morphology.instReprMorph = { reprPrec := Morphology.instReprMorph.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
A prefix morph.
Equations
- Morphology.Morph.pref s = { kind := Morphology.Morph.Kind.bound Morphology.Morph.Side.before Morphology.Morph.Attachment.affix, form := s }
Instances For
A suffix morph.
Equations
- Morphology.Morph.suff s = { kind := Morphology.Morph.Kind.bound Morphology.Morph.Side.after Morphology.Morph.Attachment.affix, form := s }
Instances For
A proclitic morph.
Equations
Instances For
An enclitic morph.
Equations
- Morphology.Morph.encl s = { kind := Morphology.Morph.Kind.bound Morphology.Morph.Side.after Morphology.Morph.Attachment.clitic, form := s }
Instances For
A free non-root morph.
Equations
- Morphology.Morph.free s = { kind := Morphology.Morph.Kind.free, form := s }
Instances For
A root morph.
Equations
- Morphology.Morph.root s = { kind := Morphology.Morph.Kind.root, form := s }
Instances For
The attachment of a bound morph; none for roots and free forms.
Equations
- { kind := Morphology.Morph.Kind.bound side a, form := form }.attachment? = some a
- x✝.attachment? = none
Instances For
The side a bound morph attaches on; none for roots and free forms.
Equations
- { kind := Morphology.Morph.Kind.bound side a, form := form }.side? = some side
- x✝.side? = none
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- Morphology.instToStringListMorph = { toString := fun (x : List Morphology.Morph) => match x with | [] => "∅" | ms => "…".intercalate (List.map toString ms) }