Documentation

Studies.RoseWalker2004

Rose & Walker (2004): A Typology of Consonant Agreement as Correspondence #

This file formalizes the paper's account of long-distance consonant agreement: consonants of an output that are similar enough stand in a correspondence relation, demanded by CORR constraints arrayed in a fixed hierarchy by similarity, and IDENT-CC constraints require correspondents to agree in the harmonizing feature, so that intervening segments are neutral and agreement holds between exactly the pairs whose CORR constraint outranks the input–output faithfulness resisting the change. The nasal case studies are formalized: the nasal correspondence hierarchy (nasalSimilarity, corr), IDENT-OI(nasal) interpolated at a cut in it, and the typology winner_eq, that a nasal and an oral consonant agree in the optimal output exactly when their pair is at least as similar as the cut, so that demoting the faithfulness constraint only widens the agreeing class (agree_of_le). Ngbaka cuts the hierarchy below the homorganic nasal–prenasal pairs, and its words are the fixed points of that grammar (ngbaka_rows); Kikongo cuts it below every nasal–voiced-stop and nasal–approximant pair and splits IDENT-CC by direction, so that only consonants to the right of a nasal agree, and its alternations are the rows of kikongo_rows, with the paper's tableaux for the agreeing suffix, the neutral voiceless stop, and the direction of agreement reproduced over generated or the paper's own candidates.

Implementation notes #

Segments are the paper's chart of stop series on the nasality–voicing continuum by place, approximants, fricatives, and vocoids; a candidate is an output string aligned with the input and a correspondence relation among its consonants, listed as coindexed pairs. CORR constraints count the consonant pairs at least as similar as their stratum that fail to correspond, the directional IDENT-CC constraints the coindexed pairs in which a nasal is followed, or preceded, by an oral correspondent, and IDENT-OI(nasal) the consonants nasalized. GEN keeps or nasalizes each consonant and coindexes the consonants by any partition; the tableau of the paper's five-consonant directional example is over the paper's own candidates. Kikongo's surface map harmonize is the analysis's generalization, rightward agreement at the Kikongo cut with NC clusters neither triggering nor undergoing, which the paper attributes to a constraint on the structural roles of correspondents; that constraint, the exclusion of prefixes from the stem domain, and the laryngeal case studies are not formalized. Transcriptions omit tone, and the example numbers of the rows are those of the manuscript [RW01].

References #

Segments and similarity #

The places of articulation of the stops.

Instances For
    @[instance_reducible]
    Equations
    def RoseWalker2004.instReprPlace.repr :
    Place → ℕ → Std.Format
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      The series of stops on the nasality–voicing continuum.

      Instances For
        @[instance_reducible]
        Equations
        def RoseWalker2004.instReprSeries.repr :
        Series → ℕ → Std.Format
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          A segment: a stop of some place and series, an approximant consonant, a fricative, or a vocoid.

          Instances For
            def RoseWalker2004.instDecidableEqSeg.decEq (x✝ x✝¹ : Seg) :
            Decidable (x✝ = x✝¹)
            Equations
            Instances For
              def RoseWalker2004.instReprSeg.repr :
              Seg → ℕ → Std.Format
              Equations
              Instances For
                @[instance_reducible]
                Equations
                @[instance_reducible]
                Equations

                A nasal stop.

                Equations
                Instances For

                  A consonant.

                  Equations
                  Instances For
                    @[instance_reducible]
                    Equations

                    The nasal counterpart of a consonant: the nasal at a stop's place, the coronal nasal for an approximant.

                    Equations
                    Instances For
                      def RoseWalker2004.nasalSimilarity :
                      Seg → Seg → Option (Fin 4)

                      The strata of the nasal correspondence hierarchy, the similarity of a nasal to another consonant: identical nasals; heterorganic nasals or a homorganic nasal and prenasal stop; a heterorganic nasal and prenasal stop or a homorganic nasal and voiced stop; a heterorganic nasal and voiced stop or a nasal and an approximant. Pairs without a nasal, and pairs with a voiceless stop, a fricative, or a vocoid, are below the threshold of similarity.

                      Equations
                      Instances For
                        def RoseWalker2004.AtLeast (k : Fin 4) (a b : Seg) :

                        A pair at least as similar as stratum k.

                        Equations
                        Instances For
                          @[instance_reducible]
                          instance RoseWalker2004.instDecidableAtLeast (k : Fin 4) (a b : Seg) :
                          Decidable (AtLeast k a b)
                          Equations
                          • One or more equations did not get rendered due to their size.
                          theorem RoseWalker2004.AtLeast.mono {k k' : Fin 4} {a b : Seg} (h : AtLeast k a b) (hk : k ≤ k') :
                          AtLeast k' a b

                          Candidates and constraints #

                          def RoseWalker2004.consonants (w : List Seg) :
                          List ℕ

                          The positions of the consonants of a string.

                          Equations
                          Instances For
                            def RoseWalker2004.consonantPairs (w : List Seg) :
                            List (ℕ × ℕ)

                            The pairs of consonant positions of a string, left position first.

                            Equations
                            • One or more equations did not get rendered due to their size.
                            Instances For

                              An output candidate: the output string, aligned position by position with the input, and the correspondence relation among its consonants as coindexed pairs of positions, each written left position first.

                              • out : List Seg
                              • corr : List (ℕ × ℕ)
                              Instances For
                                def RoseWalker2004.instDecidableEqCand.decEq (x✝ x✝¹ : Cand) :
                                Decidable (x✝ = x✝¹)
                                Equations
                                Instances For
                                  def RoseWalker2004.instReprCand.repr :
                                  Cand → ℕ → Std.Format
                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For
                                    @[instance_reducible]
                                    Equations
                                    def RoseWalker2004.Cand.seg (c : Cand) (i : ℕ) :

                                    The segment of a candidate at a position.

                                    Equations
                                    Instances For

                                      CORR at stratum k: a violation for each consonant pair at least as similar as the stratum that does not correspond.

                                      Equations
                                      Instances For

                                        IDENT-CLCR(nasal): a violation for each coindexed pair whose left member is nasal and whose right member is oral.

                                        Equations
                                        Instances For

                                          IDENT-CRCL(nasal): a violation for each coindexed pair whose right member is nasal and whose left member is oral.

                                          Equations
                                          Instances For

                                            IDENT-OI(nasal) for an input: a violation for each segment nasal in the output but not in the input.

                                            Equations
                                            Instances For

                                              The nasal correspondence hierarchy with IDENT-OI(nasal) interpolated below stratum k, under the IDENT-CC constraints top and above bottom.

                                              Equations
                                              Instances For

                                                The Ngbaka ranking: both directional IDENT-CC constraints undominated and IDENT-OI(nasal) below the homorganic nasal–prenasal stratum.

                                                Equations
                                                Instances For

                                                  The Kikongo ranking: IDENT-CLCR undominated, IDENT-OI(nasal) below every stratum, and IDENT-CRCL at the bottom.

                                                  Equations
                                                  Instances For

                                                    GEN #

                                                    def RoseWalker2004.outputs :
                                                    List Seg → List (List Seg)

                                                    The outputs for an input: each consonant kept or nasalized.

                                                    Equations
                                                    Instances For
                                                      def RoseWalker2004.partitions :
                                                      List ℕ → List (List (List ℕ))

                                                      The partitions of a list into blocks.

                                                      Equations
                                                      Instances For
                                                        def RoseWalker2004.corrOf (P : List (List ℕ)) :
                                                        List (ℕ × ℕ)

                                                        The coindexed pairs of a partition, left position first.

                                                        Equations
                                                        • RoseWalker2004.corrOf P = List.flatMap (fun (b : List ℕ) => List.flatMap (fun (i : ℕ) => List.map (fun (x : ℕ) => (i, x)) (List.filter (fun (x : ℕ) => decide (i < x)) b)) b) P
                                                        Instances For
                                                          def RoseWalker2004.gen (input : List Seg) :
                                                          List Cand

                                                          GEN: every output under every coindexation of the consonants.

                                                          Equations
                                                          • One or more equations did not get rendered due to their size.
                                                          Instances For
                                                            theorem RoseWalker2004.outputs_ne_nil (w : List Seg) :
                                                            outputs w ≠ []
                                                            theorem RoseWalker2004.partitions_ne_nil (l : List ℕ) :
                                                            partitions l ≠ []
                                                            theorem RoseWalker2004.gen_ne_nil (input : List Seg) :
                                                            gen input ≠ []
                                                            def RoseWalker2004.tableau (ranking : List Seg → List (OptimalityTheory.Constraint Cand)) (input : List Seg) :
                                                            OptimalityTheory.Tableau Cand (ranking input).length

                                                            The tableau of an input under a ranking, over GEN.

                                                            Equations
                                                            Instances For

                                                              The typology of the cut #

                                                              def RoseWalker2004.pair (a b : Seg) :
                                                              List Seg

                                                              A nasal and a consonant across a vocoid.

                                                              Equations
                                                              Instances For
                                                                def RoseWalker2004.cut (k : Fin 4) (input : List Seg) :

                                                                Both directional IDENT-CC constraints undominated and IDENT-OI(nasal) below stratum k.

                                                                Equations
                                                                Instances For
                                                                  theorem RoseWalker2004.winner_eq (k : Fin 4) (p : Place) (b : Seg) (hb : b.IsConsonant) (hn : ¬b.IsNasal) :
                                                                  (tableau (cut k) (pair (Seg.stop p Series.nasal) b)).optimal = {if AtLeast k (Seg.stop p Series.nasal) b then { out := [Seg.stop p Series.nasal, Seg.vocoid, b.nasalize], corr := [(0, 2)] } else { out := pair (Seg.stop p Series.nasal) b, corr := [] }}

                                                                  The typology: a nasal followed by an oral consonant agrees with it, the two corresponding, exactly when the pair is at least as similar as the cut below which IDENT-OI(nasal) sits; otherwise the input surfaces faithfully with no correspondence.

                                                                  theorem RoseWalker2004.agree_of_le {k k' : Fin 4} (hk : k ≤ k') (p : Place) (b : Seg) (hb : b.IsConsonant) (hn : ¬b.IsNasal) (h : (tableau (cut k) (pair (Seg.stop p Series.nasal) b)).optimal = {{ out := [Seg.stop p Series.nasal, Seg.vocoid, b.nasalize], corr := [(0, 2)] }}) :
                                                                  (tableau (cut k') (pair (Seg.stop p Series.nasal) b)).optimal = {{ out := [Seg.stop p Series.nasal, Seg.vocoid, b.nasalize], corr := [(0, 2)] }}

                                                                  Demoting IDENT-OI(nasal) only widens the agreeing class: a pair that agrees at a cut agrees at every lower cut.

                                                                  The rows #

                                                                  def RoseWalker2004.segment :
                                                                  Char → Option Seg

                                                                  The segment of a transcription character: nasals m n ŋ, voiced stops b d g, voiceless stops p t k, the approximant l, the fricatives s z f v, and vocoids.

                                                                  Equations
                                                                  Instances For
                                                                    def RoseWalker2004.IsFixedPoint (ranking : List Seg → List (OptimalityTheory.Constraint Cand)) (w : List Seg) :

                                                                    The words of a language as the fixed points of its grammar: some optimal candidate has the input as its output.

                                                                    Equations
                                                                    Instances For
                                                                      @[instance_reducible]
                                                                      instance RoseWalker2004.instDecidableIsFixedPoint (ranking : List Seg → List (OptimalityTheory.Constraint Cand)) (w : List Seg) :
                                                                      Decidable (IsFixedPoint ranking w)
                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.

                                                                      The Ngbaka words of the rows, with their judgments.

                                                                      Equations
                                                                      • One or more equations did not get rendered due to their size.
                                                                      Instances For
                                                                        theorem RoseWalker2004.ngbaka_tableaux :
                                                                        (tableau ngbaka (parse "naⁿdɛ".toList)).optimal = {{ out := parse "nanɛ".toList, corr := [(0, 2)] }} ∧ (tableau ngbaka (parse "maᵑga".toList)).optimal = {{ out := parse "maᵑga".toList, corr := [] }}

                                                                        Ngbaka's tableaux: a homorganic nasal and prenasal stop agree, the prenasal nasalized, while a heterorganic pair surfaces faithfully.

                                                                        The morpheme structure constraint: a word of the rows is well formed exactly when it is a fixed point of the Ngbaka grammar.

                                                                        def RoseWalker2004.kikongoData :
                                                                        List (List Seg × List Seg)

                                                                        The Kikongo alternations of the rows: the underlying and surface stems.

                                                                        Equations
                                                                        • One or more equations did not get rendered due to their size.
                                                                        Instances For
                                                                          def RoseWalker2004.Triggers (w : List Seg) (i : ℕ) :

                                                                          A nasal that triggers agreement: a singleton nasal, not the first half of an NC cluster.

                                                                          Equations
                                                                          Instances For
                                                                            @[instance_reducible]
                                                                            instance RoseWalker2004.instDecidableTriggers (w : List Seg) (i : ℕ) :
                                                                            Decidable (Triggers w i)
                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            def RoseWalker2004.harmonize (w : List Seg) :
                                                                            List Seg

                                                                            Kikongo's surface map: rightward agreement at the Kikongo cut, a consonant at least as similar as the cut to a preceding trigger nasalized unless it is the second half of an NC cluster.

                                                                            Equations
                                                                            • One or more equations did not get rendered due to their size.
                                                                            Instances For
                                                                              theorem RoseWalker2004.kikongo_rows (d : List Seg × List Seg) :
                                                                              d ∈ kikongoData → harmonize d.1 = d.2

                                                                              Every alternation of the rows is the surface map of its underlying stem.

                                                                              A stem without NC clusters.

                                                                              Equations
                                                                              Instances For
                                                                                theorem RoseWalker2004.kikongo_grammar (d : List Seg × List Seg) :
                                                                                d ∈ kikongoData → (consonants d.1).length ≤ 4 → NoCluster d.1 → ∃ c ∈ (tableau kikongo d.1).optimal, c.out = harmonize d.1

                                                                                The grammar agrees with the map: for the stems without NC clusters and with at most four consonants, some optimal candidate of the Kikongo ranking has the map's output.

                                                                                theorem RoseWalker2004.tumidi :
                                                                                (tableau kikongo (parse "tum-idi".toList)).optimal = {{ out := parse "tum-ini".toList, corr := [(2, 4)] }}

                                                                                tum-idi: the suffix consonant nasalizes and corresponds with the nasal.

                                                                                theorem RoseWalker2004.nikulu :
                                                                                (tableau kikongo (parse "nik-ulu".toList)).optimal = {{ out := parse "nik-unu".toList, corr := [(0, 4)] }}

                                                                                nik-ulu: the voiceless stop is neutral, agreeing with nothing and corresponding with nothing, while the approximant nasalizes.

                                                                                The paper's candidates for kudumuk-ila: the voiced stop, nasal, and suffix consonant coindexed with only the suffix nasalized; both nasalized; the stop nasalized and coindexed with the nasal alone; the nasal and suffix coindexed; the stop and suffix coindexed; and all three coindexed with nothing nasalized.

                                                                                Equations
                                                                                • One or more equations did not get rendered due to their size.
                                                                                Instances For

                                                                                  The direction of agreement: with IDENT-CLCR above IDENT-OI(nasal) and IDENT-CRCL below it, the suffix consonant to the right of the nasal nasalizes and the voiced stop to its left stays oral.