Prince (1983): Relating to the Grid #
Prince argues that the metrical grid alone, without the labelled tree, carries the theory of stress. For a uniformly labelled tree, Liberman and Prince's Relative Prominence Projection Rule says what the End Rule says, so the labelling does no work. Two grid entries clash when they are adjacent at a level with no entry one level down between them, and the Rhythm Rule is Move x, which slides a clashing entry within its level and can never move the peak of a phrase. Word stress is built from the End Rule at an edge, extrametricality, Perfect Grid Construction sweeping from an edge, and bipositional heavy syllables; together they derive the alternating systems of Garawa, Hawaiian and Winnebago and the quantity-sensitive systems of (98).
Main statements #
SWTree.uniform_rppr_iff: under uniform labelling at either edge the RPPR is the End Rule.moveXL_getD_peak,Marks.not_isContinuous_move: Move x never moves the peak, since the move would leave a hole in a column.postpeninitial_iff,antepenultimate_iff: stress three syllables from an edge comes only from extrametricality and a trough-first sweep from that edge.hawaiian_eq,hawaiian_ne_alternating: Hawaiian's initial dactyl needs the End Rule at both edges before the sweep, and no perfect grid gives it.
Implementation notes #
- A grid is the substrate's
Prosody.Grid, a list of column heights, so the Continuous Column Constraint holds by construction. - The End Rule applies to the highest level present below the level it maps into, the reading of §3.7; without Forward Clash Override it withholds a promotion that would clash.
- Perfect Grid Construction is a greedy sweep that raises a column when neither neighbour is stressed, a trough start behaving as if a stress preceded the edge.
- The edges and directions of (119) are both
Edge, a direction being named by the edge it starts from; the End Rule, Perfect Grid Construction and Move x run right to left as theList.revConjmirror images of their left-to-right versions. A syllable of two or more moras is bipositional.
TODO #
The End Rule (Final) inside the stress level that makes Garawa's penultimate stress secondary rather than tertiary, Mora Sluicing, the Forward Clash Override option of Perfect Grid Construction, the bounding of Move x in §2.2, the extrametrical systems of (99), the feet of §4, and the pitch-accent systems of §5 are not formalized.
References #
Trees, the Relative Prominence Projection Rule, and the End Rule (§1.3, §2.1) #
place e a b sets a beside b, with a at edge e.
Equations
- Prince1983.place Edge.left x✝¹ x✝ = x✝¹ ++ x✝
- Prince1983.place Edge.right x✝¹ x✝ = x✝ ++ x✝¹
Instances For
An s/w-labelled binary metrical tree whose terminals carry their grid column heights. A node
holds its strong daughter s, its weak daughter w, and the edge e at which s stands, so
the labelling is independent of linear order.
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Prince1983.instDecidableEqSWTree.decEq (Prince1983.SWTree.leaf a) (Prince1983.SWTree.leaf b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Prince1983.instDecidableEqSWTree.decEq (Prince1983.SWTree.leaf h) (s.node w e) = isFalse ⋯
- Prince1983.instDecidableEqSWTree.decEq (s.node w e) (Prince1983.SWTree.leaf h) = isFalse ⋯
Instances For
Equations
- Prince1983.instReprSWTree = { reprPrec := Prince1983.instReprSWTree.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
The grid over a tree lists the column heights of its terminals, left to right.
Equations
- (Prince1983.SWTree.leaf h).heights = [h]
- (s.node w e).heights = Prince1983.place e s.heights w.heights
Instances For
H(N) is the height of the head terminal, reached from the root through strong daughters.
Equations
- (Prince1983.SWTree.leaf h).headHeight = h
- (s.node w e).headHeight = s.headHeight
Instances For
weakHeights t lists the heights of the terminals other than the head.
Equations
- (Prince1983.SWTree.leaf h).weakHeights = []
- (s.node w e).weakHeights = Prince1983.place e s.weakHeights w.heights
Instances For
The terminals are the head and the others.
Everywhere P t says that P holds of every constituent of t.
Equations
- Prince1983.SWTree.Everywhere P (Prince1983.SWTree.leaf h) = P (Prince1983.SWTree.leaf h)
- Prince1983.SWTree.Everywhere P (s.node w e) = (Prince1983.SWTree.Everywhere P s ∧ Prince1983.SWTree.Everywhere P w ∧ P (s.node w e))
Instances For
The Relative Prominence Projection Rule (7) requires H(s) > H(w) of every pair of sisters.
Equations
- (Prince1983.SWTree.leaf h).Rppr = True
- (s.node w e).Rppr = (s.Rppr ∧ w.Rppr ∧ w.headHeight < s.headHeight)
Instances For
The head of a constituent is stronger than each of its other terminals.
Equations
- t.HeadStrong = ∀ h ∈ t.weakHeights, h < t.headHeight
Instances For
Over head-strong daughters, a node is head-strong exactly when its sisters meet the RPPR.
The RPPR, a condition on sisters, says that the head is strongest in every constituent.
Under the RPPR the grid is culminative, the head terminal being its unique peak.
edgeHeight e t is the height of the terminal at edge e.
Equations
- Prince1983.SWTree.edgeHeight e (Prince1983.SWTree.leaf h) = h
- Prince1983.SWTree.edgeHeight e (s.node w e_1) = if e_1 = e then Prince1983.SWTree.edgeHeight e s else Prince1983.SWTree.edgeHeight e w
Instances For
otherHeights e t lists the heights of the terminals other than the one at edge e.
Equations
- One or more equations did not get rendered due to their size.
- Prince1983.SWTree.otherHeights e (Prince1983.SWTree.leaf h) = []
Instances For
The End Rule (13) at edge e makes the terminal there stronger than every other terminal.
Equations
- Prince1983.SWTree.EdgeStrong e t = ∀ h ∈ Prince1983.SWTree.otherHeights e t, h < Prince1983.SWTree.edgeHeight e t
Instances For
A tree is uniformly labelled at edge e when every constituent is strong there.
Equations
- Prince1983.SWTree.Uniform e (Prince1983.SWTree.leaf h) = True
- Prince1983.SWTree.Uniform e (s.node w e_1) = (e_1 = e ∧ Prince1983.SWTree.Uniform e s ∧ Prince1983.SWTree.Uniform e w)
Instances For
Under uniform labelling at either edge the RPPR says exactly what the End Rule says, so the labelling of nonterminals does no work.
Clash and Move x (§2.2) #
Columns i < j clash at level n (27) when both reach level n and no column between them
reaches level n - 1.
Equations
- Prince1983.Clash g n i j = (i < j ∧ n ≤ List.getD g i 0 ∧ n ≤ List.getD g j 0 ∧ ∀ k < j, i < k → List.getD g k 0 + 1 < n)
Instances For
Equations
- Prince1983.instDecidableClash g n i j = id inferInstance
A grid is eurhythmic when no two columns clash at any level from 2 up to the peak.
Equations
- Prince1983.NoClash g = ∀ n ≤ g.peak, 2 ≤ n → ∀ i < List.length g, ∀ j < List.length g, ¬Prince1983.Clash g n i j
Instances For
Equations
- Prince1983.instDecidableNoClash g = id inferInstance
A grid of stresses and unstressed columns with no two stresses adjacent is eurhythmic.
The landing site of a leftward move at level n from column i is the nearest column to the
left with an entry at level n - 1 and none at level n.
Equations
- Prince1983.landing? g n i = List.findRev? (fun (k : ℕ) => List.getD g k 0 == n - 1) (List.range i)
Instances For
The leftmost column that clashes at level n with a column to its right.
Equations
- Prince1983.clashing? g n = List.find? (fun (i : ℕ) => (List.range (List.length g)).any fun (j : ℕ) => decide (Prince1983.Clash g n i j)) (List.range (List.length g))
Instances For
Leftward Move x at level n slides the left member of the first clash within its level to
the landing site, provided its column has no entry above level n.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Move x(D;L) of (119f) moves entries leftward when it runs right to left, and the rightward rule is its mirror image.
Equations
Instances For
Marks.move r i k slides one mark within row r from column i to column k.
Equations
- Prince1983.Marks.move r i k m = List.modify m r fun (row : List Bool) => (row.set i false).set k true
Instances For
Sliding the level-n entry out of a column that reaches above level n leaves a hole (32),
so no such move is available on well-formed grids.
Move x at level n never touches a column taller than n, so no entry is slid out from under
a taller column (32).
A culminative grid has no clash at or above its peak, since both columns would be peaks.
The absolute peak never moves (31), since below the peak Move x leaves taller columns alone and at or above it a culminative grid has no clash.
The End Rule, extrametricality, and Perfect Grid Construction (§3.2, §3.3) #
The last index #
The last index whose element satisfies p.
Equations
- Prince1983.lastIdx? p [] = none
- Prince1983.lastIdx? p (x_1 :: l) = (Option.map (fun (x : ℕ) => x + 1) (Prince1983.lastIdx? p l)).or (if p x_1 = true then some 0 else none)
Instances For
The last index is the first index of the reversed list, counted back from the end.
The End Rule #
The edge-most column reaching level n.
Equations
- Prince1983.edgeIdx? Edge.left x✝¹ x✝ = List.findIdx? (fun (x : ℕ) => decide (x✝¹ ≤ x)) x✝
- Prince1983.edgeIdx? Edge.right x✝¹ x✝ = Prince1983.lastIdx? (fun (x : ℕ) => decide (x✝¹ ≤ x)) x✝
Instances For
A rule applied at an edge runs as it is from the left and as its mirror image from the right.
Equations
- Prince1983.fromEdge Edge.left x✝ = x✝
- Prince1983.fromEdge Edge.right x✝ = List.revConj x✝
Instances For
The End Rule ER(E;L;FCO) of (16), (97) and (119a) promotes the edge-most entry at the
highest level present below L by one level, so that the edge-most stress of a constituent
becomes its main stress and, absent stresses, its edge syllable is stressed. Without Forward Clash
Override the promotion is withheld when it would clash.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extrametricality elm(E) of (119c) hides the edge column from the rule applied inside.
Equations
- Prince1983.elm Edge.left x✝ [] = x✝ []
- Prince1983.elm Edge.left x✝ (x_3 :: t) = x_3 :: x✝ t
- Prince1983.elm Edge.right x✝¹ x✝ = x✝¹ (List.dropLast x✝) ++ List.drop (List.length x✝ - 1) x✝
Instances For
One sweep of Perfect Grid Construction raises a column to the stress level when neither
neighbour reaches it, prev being the height of the column just passed.
Equations
- Prince1983.sweep x✝ [] = []
- Prince1983.sweep x✝ (x_2 :: t) = (if x_2 < 2 ∧ x✝ < 2 ∧ t.headD 0 < 2 then 2 else x_2) :: Prince1983.sweep (if x_2 < 2 ∧ x✝ < 2 ∧ t.headD 0 < 2 then 2 else x_2) t
Instances For
Whether a sweep starts at a peak or a trough, A of (119b).
Instances For
Equations
- Prince1983.instDecidableEqAltitude x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Prince1983.instReprAltitude = { reprPrec := Prince1983.instReprAltitude.repr }
Equations
- Prince1983.instReprAltitude.repr Prince1983.Altitude.peak prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Prince1983.Altitude.peak")).group prec✝
- Prince1983.instReprAltitude.repr Prince1983.Altitude.trough prec✝ = Repr.addAppParen (Std.Format.nest (if prec✝ ≥ 1024 then 1 else 2) (Std.Format.text "Prince1983.Altitude.trough")).group prec✝
Instances For
The other altitude.
Equations
Instances For
The height of a column at a peak, stressed, or at a trough, unstressed.
Equations
Instances For
Perfect Grid Construction PG(D;A) of (61), (62) and (119b) lays down a clash-free, maximally
alternating stress level by a sweep in direction D starting from a peak or a trough.
Equations
Instances For
The alternating stress level is 2, 1, 2, … from a peak and 1, 2, 1, … from a trough.
Equations
- Prince1983.alt x✝ 0 = []
- Prince1983.alt x✝ n.succ = x✝.height :: Prince1983.alt x✝.flip n
Instances For
The distance of column i of n from the edge a sweep in direction d starts at.
Equations
- Prince1983.startDist Edge.left x✝¹ x✝ = x✝
- Prince1983.startDist Edge.right x✝¹ x✝ = x✝¹ - 1 - x✝
Instances For
A sweep over an unstressed word stresses the columns whose distance from the starting edge has the parity of the start, a peak stressing the even distances (62). Weri is (62d), sweeping right to left from a peak; Warao, (62c); Maranungku, (62b); Southern Paiute, (62a).
Stressing the first syllable of an unstressed word.
The End Rule at the stress level #
The End Rule at the stress level never raises a column above it.
An already stressed initial syllable is left alone.
Stressing a light initial syllable, withheld before a stressed second position unless Forward Clash Override is on.
Stressing a light final syllable, withheld after a stressed penultimate position unless Forward Clash Override is on.
Main stress #
Column i carries the main stress when it is strictly taller than every other column.
Equations
- Prince1983.MainStressAt g i = (i < List.length g ∧ ∀ j < List.length g, j ≠ i → List.getD g j 0 < List.getD g i 0)
Instances For
Equations
- Prince1983.instDecidableMainStressAt g i = id inferInstance
The End Rule at the level above the peak puts the main stress on the edge-most peak.
On a grid of stresses and unstressed columns the End Rule at word level promotes the edge-most stress.
Garawa and Winnebago (63), (65) #
In Garawa (63) the End Rule stresses the initial syllable, Perfect Grid Construction sweeps right to left from a trough, and the End Rule at word level makes the initial stress the main stress.
Equations
- Prince1983.garawa n = Prince1983.endRule Edge.left 3 false (Prince1983.pg Edge.right Prince1983.Altitude.trough (Prince1983.endRule Edge.left 2 false (List.replicate n 1)))
Instances For
Clash blocks the sweep next to the initial stress, so "nonprimary stress may never occur on syllables directly following the main stress".
Nonprimary stress on the penult, and alternating back from it.
In Winnebago (65), with the initial syllable extrametrical, a trough-first sweep from the left and the End Rule at word level put main stress on the third syllable.
Equations
- Prince1983.winnebago n = Prince1983.endRule Edge.left 3 false (Prince1983.elm Edge.left (Prince1983.pg Edge.left Prince1983.Altitude.trough) (List.replicate n 1))
Instances For
Stress three syllables from an edge (§3.2, §3.3) #
Perfect Grid Construction stresses an unstressed word, with or without an extrametrical syllable at an edge, in the parameter space of §3.2.
Equations
- Prince1983.alternating d a x n = x.elim (Prince1983.pg d a) (fun (x : Edge) => Prince1983.elm x (Prince1983.pg d a)) (List.replicate n 1)
Instances For
Stress three syllables in, in every word long enough, is the extrametricality variant of a trough-first sweep from the left and arises from no other setting of the parameters, so grid theory derives postpeninitial stress only as Winnebago has it.
Antepenultimate stress, the mirror image, is the extrametricality variant of a trough-first sweep from the right and arises from no other setting of the parameters.
Hawaiian (64) #
In simplified Hawaiian (64), long vowels aside, the final syllable is extrametrical, the End Rule applies finally and then initially at the stress level, Perfect Grid Construction sweeps right to left from the final stress, and the End Rule applies finally at word level.
Equations
- One or more equations did not get rendered due to their size.
Instances For
In a three-syllable word (64a) the End Rule (Initial) is blocked by the clash it would create with the penultimate stress.
After the End Rule stresses both edges, the sweep back from the penult leaves an initial dactyl when the alternation would stress the second syllable ((64b), (64c)).
"All long words (greater than three syllables) begin with a stress."
Main stress falls on the penult.
No perfect grid gives Hawaiian's initial dactyl, whatever its direction, starting altitude and extrametricality, so the End Rule must stress both edges before the sweep.
The End Rule at the phrase and Move x (28) to (31) #
The citation grids of achromatic, lens, Dundee, marmalade (28), antique, dealer, and chair (31).
Equations
- Prince1983.achromatic = [2, 1, 3, 1]
Instances For
Phrasal stress on lens creates a word-level clash with -ma- (29a), which Move x resolves by sliding the entry to the initial syllable (30a).
Move x resolves the clash in Dundee marmalade the same way ((29b), (30b)).
In the compound antique dealer (31a) the clashing entry sits under the phrasal peak, so Move x cannot touch it.
In the phrase antique chair (31b) the same clash is resolved.
Quantity: bipositional heavy syllables (§3.5, §3.7) #
A heavy syllable, one of two or more moras, occupies two grid positions with its nucleus above the second, so it is intrinsically stressed (74); a light syllable occupies one.
Equations
- Prince1983.mora m = if 2 ≤ m then [2, 1] else [1]
Instances For
Quantity Sensitivity QS of (119d) maps a syllable string to its grid.
Equations
- Prince1983.qs w = List.flatMap Prince1983.mora w
Instances For
The grid position of the nucleus of syllable k.
Equations
- Prince1983.nucleus w k = List.length (Prince1983.qs (List.take k w))
Instances For
Heavy syllables never clash, since their nuclei are separated by their second positions (74).
Every syllable ends in a weak position.
The first stress of the quantity-sensitive grid is the nucleus of the first heavy syllable.
The last stress of the quantity-sensitive grid is the nucleus of the last heavy syllable.
A word of light syllables is an unstressed grid.
The three kinds of quantity-sensitive system without alternation (97), (98) #
The opposite edge, Ē of (97).
Instances For
Fixed stress, (97) I, applies QS, ER(E;Σ) and ER(E;Wd), so the edge syllable and every heavy syllable are stressed and the edge-most stress is the main stress.
Equations
- Prince1983.fixedStress e fco w = Prince1983.endRule e 3 fco (Prince1983.endRule e 2 fco (Prince1983.qs w))
Instances For
The system of (97) II, E defaulting to Ē, applies QS, ER(Ē;Σ) and ER(E;Wd), putting main
stress on the E-most heavy syllable or, lacking heavies, on the Ē syllable.
Equations
- Prince1983.defaultOpposite e w = Prince1983.endRule e 3 false (Prince1983.endRule (Prince1983.opposite e) 2 false (Prince1983.qs w))
Instances For
The system of (97) III, E defaulting to E, applies QS and then ER(E;Wd) to the highest
level present, putting main stress on the E-most heavy syllable or, lacking heavies, on the E
syllable.
Equations
- Prince1983.defaultSame e w = Prince1983.endRule e 3 false (Prince1983.qs w)
Instances For
In Khalkha Mongolian, Fore and Yana, (98) III.i, main stress falls on the first heavy syllable.
Lacking heavy syllables, main stress falls on the first syllable ((98) III.i).
In Aguacatec and Golin, (98) III.ii, main stress falls on the last heavy syllable.
Lacking heavy syllables, main stress falls on the last syllable ((98) III.ii).
After the End Rule stresses the initial syllable, the last stress is the last stress of the rest of the word, or the initial syllable itself.
The End Rule at the initial edge leaves the last stress where it is.
In Classical Arabic, Eastern Cheremis, Chuvash, Hindi, Huasteco and Dongolese Nubian, (98) II.i, main stress falls on the last heavy syllable.
Lacking heavy syllables, main stress falls on the first syllable ((98) II.i).
The End Rule leaves a heavy final syllable alone and stresses a light one.
In Komi, (98) II.ii, main stress falls on the first heavy syllable.
Lacking heavy syllables, main stress falls on the last syllable ((98) II.ii).
In West Greenlandic Eskimo, (98) I.ii, the last syllable is stressed and carries the main stress, whether heavy or light.
The initial syllable is stressed under Forward Clash Override.
In Koya, (98) I.i, the first syllable is stressed, with Forward Clash Override, and carries the main stress.
In Malayalam (§3.7) the first syllable carries the main stress unless it is light and the second heavy, the End Rule being blocked by clash there.
In Malayalam a heavy second syllable after a light first one carries the main stress.