Documentation

Linglib.Core.Logic.OT

Optimality Theory — Core Vocabulary #

OT-specific vocabulary layered on Core.Logic.ConstraintEvaluation. Provides named constraints with a faithfulness/markedness distinction, convenience constructors for building tableaux from ranked constraint lists, and factorial typology computation.

Connection to ConstraintEvaluation #

ConstraintEvaluation provides the generic engine (lexLE, OTTableau, OTTableau.optimal). This module adds OT-specific structure: constraint families, named constraints, and the factorial typology pattern (enumerate all rankings, compute optima, count distinct outcomes).

Constraint families in OT.

  • faithfulness : ConstraintFamily

    Faithfulness: penalizes deviation from the input.

  • markedness : ConstraintFamily

    Markedness: penalizes marked structures in the output.

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

      A named OT constraint with family classification. eval c returns the number of violations candidate c incurs.

      Instances For
        def Core.OT.buildProfile {C : Type} (ranking : List (NamedConstraint C)) (c : C) :

        Build a violation profile from a ranked list of named constraints. Position 0 = highest-ranked constraint.

        Equations
        Instances For
          def Core.OT.buildTableau {C : Type} (candidates : List C) (ranking : List (NamedConstraint C)) (h : candidates []) :

          Build an OT tableau from a candidate list and a constraint ranking.

          Equations
          Instances For
            def Core.OT.permutations {α : Type} :
            List αList (List α)

            All permutations of a list.

            Equations
            Instances For
              def Core.OT.factorialOptima {C : Type} [DecidableEq C] (candidates : List C) (constraints : List (NamedConstraint C)) (h : candidates []) :

              For each permutation of constraints, compute the set of optimal candidates. Return the list of distinct optimal sets.

              This is the core of OT factorial typology: the number of distinct optimal sets equals the number of language types predicted by the constraint set.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Core.OT.factorialTypologySize {C : Type} [DecidableEq C] (candidates : List C) (constraints : List (NamedConstraint C)) (h : candidates []) :

                Number of distinct language types predicted by the factorial typology. Equals |factorialOptima|.

                Equations
                Instances For