Metrical Foot Structure #
@cite{hayes-1995} @cite{kager-2007}
Foot types, metrical parsing, and OT constraints on metrical structure.
A metrical foot is a prosodic constituent grouping syllables into a rhythmic unit. @cite{hayes-1995} identifies three canonical foot types:
| Type | Well-formed shapes | Stress system |
|---|---|---|
| Moraic trochee | (H), (LL) | Weight-sensitive |
| Syllabic trochee | (σσ) | Weight-insensitive |
| Iamb | (LH), (LL), (H) | Right-prominent |
The foot's head (prominent syllable) determines stress: initial in trochees, final in iambs.
Definitions #
SyllWeight.morae: mora count from weight classFootType: the three canonical foot typesParseElement: element in a metrical parse (footed or unfooted)MetricalParse: a complete metrical parse of a prosodic domain- OT constraints:
ftBinViolations,parseSylViolations,allFtLeftViolations
The three canonical foot types (@cite{hayes-1995}, Ch. 3).
- moraicTrochee : FootType
Moraic trochee: bimoraic with initial prominence. Well-formed shapes: (H) = 2μ, (LL) = 2μ. Used in weight-sensitive stress (Turkish, Latin, Telugu).
- syllabicTrochee : FootType
Syllabic trochee: bisyllabic with initial prominence. Well-formed shape: (σσ) regardless of weight. Used in weight-insensitive stress (Czech, Pintupi).
- iamb : FootType
Iamb: prominence on the heavier/final syllable. Well-formed shapes: (LH), (LL), (H). Used in right-prominent stress (Creek, Yupik).
Instances For
Equations
- Phonology.Syllable.instDecidableEqFootType 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
- Phonology.Syllable.instReprFootType = { reprPrec := Phonology.Syllable.instReprFootType.repr }
An element in a metrical parse: either a foot grouping syllables or an unparsed (stray) syllable. The list preserves left-to-right linear order within the prosodic domain.
- foot : List SyllWeight → ParseElement
A foot containing one or more syllables (represented by weight).
- unfooted : SyllWeight → ParseElement
An unparsed syllable not dominated by any foot.
Instances For
Equations
- Phonology.Syllable.instDecidableEqParseElement.decEq (Phonology.Syllable.ParseElement.foot a) (Phonology.Syllable.ParseElement.foot b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Phonology.Syllable.instDecidableEqParseElement.decEq (Phonology.Syllable.ParseElement.foot a) (Phonology.Syllable.ParseElement.unfooted a_1) = isFalse ⋯
- Phonology.Syllable.instDecidableEqParseElement.decEq (Phonology.Syllable.ParseElement.unfooted a) (Phonology.Syllable.ParseElement.foot a_1) = isFalse ⋯
- Phonology.Syllable.instDecidableEqParseElement.decEq (Phonology.Syllable.ParseElement.unfooted a) (Phonology.Syllable.ParseElement.unfooted b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
Instances For
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
A metrical parse: a prosodic domain represented as a linear sequence of footed and unfooted syllables.
Equations
Instances For
Extract all feet from a parse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Mora count of a single foot.
Equations
- Phonology.Syllable.footMorae ws = List.foldl (fun (x1 : ℕ) (x2 : Phonology.Syllable.SyllWeight) => x1 + x2.morae) 0 ws
Instances For
Total syllable count in a parse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Number of unparsed syllables in a parse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Is a foot degenerate (subminimal)? A monomoraic foot (L) is degenerate — it fails to meet the bimoraic minimum.
Equations
Instances For
Equations
- Phonology.Syllable.instDecidableIsDegenerate ws = id inferInstance
Is a foot well-formed for the given foot type?
Equations
- Phonology.Syllable.isWellFormedFoot Phonology.Syllable.FootType.moraicTrochee ws = (Phonology.Syllable.footMorae ws = 2)
- Phonology.Syllable.isWellFormedFoot Phonology.Syllable.FootType.syllabicTrochee ws = (ws.length = 2)
- Phonology.Syllable.isWellFormedFoot Phonology.Syllable.FootType.iamb ws = (Phonology.Syllable.footMorae ws ≥ 1 ∧ Phonology.Syllable.footMorae ws ≤ 3 ∧ ws.length ≤ 2)
Instances For
Equations
- One or more equations did not get rendered due to their size.
FT-BIN(μ): assign one violation for each foot that does not consist of exactly two morae (@cite{kager-2007}).
Well-formed moraic trochees: (H) = 2μ, (LL) = 2μ. Violations: degenerate (L) = 1μ, superheavy (SH) = 3μ.
Equations
- Phonology.Syllable.ftBinViolations p = (List.filter (fun (ws : List Phonology.Syllable.SyllWeight) => Phonology.Syllable.footMorae ws != 2) p.feet).length
Instances For
PARSE-SYL: assign one violation for each syllable not parsed into a foot (@cite{kager-2007}). Drives exhaustive parsing.
Equations
Instances For
ALL-FT-LEFT: for each foot, count the number of syllables intervening between the left edge of the prosodic domain and the left edge of the foot (@cite{kager-2007}). Sum over all feet.
A foot at syllable position k (0-indexed) incurs k violations. Drives left-to-right iterative footing.
Instances For
Equations
- Phonology.Syllable.allFtLeftViolations.go [] a✝ = 0
- Phonology.Syllable.allFtLeftViolations.go (Phonology.Syllable.ParseElement.foot ws :: rest) a✝ = a✝ + Phonology.Syllable.allFtLeftViolations.go rest (a✝ + ws.length)
- Phonology.Syllable.allFtLeftViolations.go (Phonology.Syllable.ParseElement.unfooted a :: rest) a✝ = Phonology.Syllable.allFtLeftViolations.go rest (a✝ + 1)
Instances For
ALL-FT-RIGHT: for each foot, count the number of syllables intervening between the right edge of the foot and the right edge of the prosodic domain. Sum over all feet.
Drives right-to-left iterative footing.
Equations
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Phonology.Syllable.allFtRightViolations.go total [] a✝ = 0
- Phonology.Syllable.allFtRightViolations.go total (Phonology.Syllable.ParseElement.unfooted a :: rest) a✝ = Phonology.Syllable.allFtRightViolations.go total rest (a✝ + 1)