Documentation

Studies.FrischPierrehumbertBroe2004

Frisch, Pierrehumbert and Broe (2004): Similarity Avoidance and the OCP #

This file formalizes the similarity metric of [FPB04]. Homorganic consonant pairs are rare in Arabic verbal roots, and the paper shows that the rarer a pair is the more similar its consonants are, where the similarity of two consonants is the number of natural classes they share over the number containing either (equation (7)). The natural classes are those of the feature matrix (8), generated by the structured specification of [Bro93a], and only the classes whose description includes a place feature count, so that nonhomorganic consonants have similarity 0. Every printed value of the paper's similarity table (Table III) follows from the matrix and the equation (similarities_rounds).

A larger place class has more contrasts and so more natural classes, which lowers the similarity of its members: the coronal /s, n/ are less similar than the labial /f, m/, and adding /p/ and /v/ to the labials would lower the similarity of /f, m/ from 2/9 to 2/13 (expandedSimilarity_f_m). This is how the metric derives the strength of the labial co-occurrence restriction against the weakness of the coronal one. The printed list of the classes of /b, f/ has the class {b, w}, which the matrix does not generate, in place of {f}, and the count and the reported value are unaffected (labialClasses_b_f).

The paper's quantitative comparison, co-occurrence by similarity (Table IV) and the fits of five models of OCP-Place to the O/E of every pair (Table V), is printed data in Data.Experiments.FrischPierrehumbertBroe2004.

Main definitions #

Main results #

Implementation notes #

References #

Sets of columns #

A set of columns of a feature matrix, as the bits of a natural number.

  • val : ℕ

    The bits.

Instances For
    theorem FrischPierrehumbertBroe2004.Mask.ext {x y : Mask} (val : x.val = y.val) :
    x = y
    def FrischPierrehumbertBroe2004.instDecidableEqMask.decEq (x✝ x✝¹ : Mask) :
    Decidable (x✝ = x✝¹)
    Equations
    Instances For
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      @[instance_reducible]
      Equations
      @[instance_reducible]

      A column is in a set when its bit is set.

      Equations
      @[instance_reducible]
      instance FrischPierrehumbertBroe2004.Mask.instDecidableMemNat (i : ℕ) (m : Mask) :
      Decidable (i ∈ m)
      Equations

      The set of one column.

      Equations
      Instances For
        theorem FrischPierrehumbertBroe2004.Mask.mem_inf {i : ℕ} {a b : Mask} :
        i ∈ a ⊓ b ↔ i ∈ a ∧ i ∈ b
        theorem FrischPierrehumbertBroe2004.Mask.single_le_iff {i : ℕ} {m : Mask} :
        single i ≤ m ↔ i ∈ m
        theorem FrischPierrehumbertBroe2004.Mask.mem_of_le {i : ℕ} {a b : Mask} (hi : i ∈ a) (h : a ≤ b) :
        i ∈ b

        The set of the positions at which a list is true.

        Equations
        Instances For

          Matrix (8) #

          The features of matrix (8).

          Instances For
            @[instance_reducible]
            Equations

            The features in the order of (8).

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

              The place features.

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

                The consonants of (8) in its column order, as the fragment's segments.

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

                  The column of a consonant in (8).

                  Equations
                  Instances For

                    The fragment's segment for a consonant of (8).

                    Equations
                    Instances For

                      The data's consonants are the columns in order.

                      def FrischPierrehumbertBroe2004.matrix :
                      Feature → List (Option Bool)

                      Matrix (8), row by row over columns: ⊕ and ⊖ for the printed + and −, ○ where the paper leaves the feature unspecified.

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

                        Natural classes and similarity #

                        def FrischPierrehumbertBroe2004.extent (row : List (Option Bool)) (v : Bool) :

                        The columns at which a row of a matrix has a value.

                        Equations
                        Instances For
                          def FrischPierrehumbertBroe2004.attributesOf (M : Feature → List (Option Bool)) :
                          List Mask

                          The attribute extents of a matrix: the columns of each feature value.

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

                            The place classes of (8): the columns of each place feature.

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

                              The natural classes of (8) whose description includes a place feature (p. 198).

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

                                The place classes two consonants share.

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

                                  The place classes containing either of two consonants.

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

                                    The natural-classes similarity of two consonants, equation (7): the shared classes over the shared and non-shared ones.

                                    Equations
                                    Instances For

                                      Identical consonants have similarity 1 (p. 198).

                                      theorem FrischPierrehumbertBroe2004.similarity_eq_zero {x y : Phonology.Segment} (h : ∀ p ∈ places, col x ∈ p → col y ∉ p) :
                                      similarity x y = 0

                                      Consonants with no place feature in common have similarity 0 (p. 198).

                                      Computing the table #

                                      The place classes containing column i: those each place class containing i generates with the attribute extents containing i.

                                      Equations
                                      • One or more equations did not get rendered due to their size.
                                      Instances For
                                        theorem FrischPierrehumbertBroe2004.mem_classesAt {i : ℕ} {s : Mask} :
                                        s ∈ classesAt i ↔ s ∈ placeClasses ∧ i ∈ s
                                        theorem FrischPierrehumbertBroe2004.shared_eq {x y : Phonology.Segment} :
                                        shared x y = List.countP (fun (x : Mask) => decide (col y ∈ x)) (classesAt (col x))
                                        theorem FrischPierrehumbertBroe2004.either_eq {x y : Phonology.Segment} :
                                        either x y = (classesAt (col x)).length + (classesAt (col y)).length - shared x y

                                        The classes containing each column, memoized for the kernel.

                                        Equations
                                        Instances For
                                          theorem FrischPierrehumbertBroe2004.shared_segment (c c' : Consonant) :
                                          shared (segment c) (segment c') = List.countP (fun (x : Mask) => decide (c'.ctorIdx ∈ x)) (classesTable.getD c.ctorIdx [])
                                          theorem FrischPierrehumbertBroe2004.either_segment (c c' : Consonant) :
                                          either (segment c) (segment c') = (classesTable.getD c.ctorIdx []).length + (classesTable.getD c'.ctorIdx []).length - List.countP (fun (x : Mask) => decide (c'.ctorIdx ∈ x)) (classesTable.getD c.ctorIdx [])

                                          Table III #

                                          Matrix (8) and equation (7) give every printed value of Table III.

                                          The labials (p. 199) #

                                          The classes whose description includes [labial], those of the labial sub-inventory (Broe1993.mem_naturalClasses_inf).

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

                                            The set of the columns of some consonants.

                                            Equations
                                            Instances For

                                              The labial columns of (8) with /p/ and /v/ added, in the order p b f v m w: /p/ is /b/ and /v/ is /f/ with the other value of [voice].

                                              Equations
                                              Instances For

                                                Without /p/ and /v/ the expanded columns are the labial columns of (8).

                                                The natural classes of the expanded labial inventory.

                                                Equations
                                                • One or more equations did not get rendered due to their size.
                                                Instances For
                                                  theorem FrischPierrehumbertBroe2004.expandedSimilarity_f_m :
                                                  List.countP (fun (s : Mask) => decide (2 ∈ s ∧ 4 ∈ s)) expandedClasses = 2 ∧ List.countP (fun (s : Mask) => decide (2 ∈ s ∨ 4 ∈ s)) expandedClasses = 13

                                                  In the expanded inventory /f, m/ share 2 of the 13 classes containing either, where they shared 2 of 9: the new classes are {f, v}, {p, f}, {p, b, m} and {b, v, m}.