Documentation

Linglib.Theories.Syntax.Minimalist.Features

Feature Infrastructure for Minimalist Agree #

@cite{adger-2003} @cite{chomsky-1995} @cite{chomsky-2000} @cite{chomsky-2001} @cite{alok-2020} @cite{alok-bhalla-2026} @cite{lobeck-1995} @cite{panagiotidis-2015} @cite{pollock-1989}

Phi-features, case values, and feature bundles — the shared infrastructure underlying all Agree-based operations. Extracted from Agree.lean to separate the feature types (what can be checked) from the Agree operation (how checking works) and the failure model (what happens when checking fails; see ObligatoryOperations.lean).

±Interpretable Features (@cite{chomsky-1995} Ch 4 §4.5) #

The ±Interpretable distinction is orthogonal to valued/unvalued:

Interpretability is determined by the combination of feature type and host category: person on N is +Interpretable, person on T is –Interpretable. isInterpretableOn encodes this mapping.

Design Decision: PersonLevel replaces Nat #

PhiFeature.person uses Features.Prominence.PersonLevel (.first |.second |.third) rather than a raw Nat. This eliminates the possibility of meaningless person values (e.g., person 47) and grounds the feature inventory in the same canonical type used across the library:

For unvalued (probe) features, the value is irrelevant — FeatureVal.sameType matches any .person _ against any .person _ and any .number _ against any .number _, ignoring specific values. Use .person .third and .number .sg as conventional placeholders for probes.

Phi-features (agreement features).

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

      Honorific level: social ordering between speaker and referent. Relational, not absolute. ⟦iHON⟧ = λx. S_i ≺ x, where ≺ encodes social hierarchy.

      Instances For
        def Minimalist.instReprHonLevel.repr :
        HonLevelStd.Format
        Equations
        Instances For
          @[implicit_reducible]
          Equations

          Feature values that can be checked via Agree

          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              def Minimalist.instDecidableEqFeatureVal.decEq (x✝ x✝¹ : FeatureVal) :
              Decidable (x✝ = x✝¹)
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Do two feature values have the same type, ignoring specific values?

                This is the correct matching predicate for Agree: a probe with [uPerson] should match any goal with [Person:x], regardless of the specific person value x. In contrast, DecidableEq (==) compares both type and value, which is wrong for Agree matching where the probe carries a placeholder value.

                Equations
                Instances For

                  A grammatical feature: either valued or unvalued.

                  Valued vs unvalued is about whether the feature carries a specific value (person:3) or just a type placeholder (person:_). This is orthogonal to ±Interpretable (see Interpretability below):

                  +Interpretable–Interpretable
                  Valuedφ of N (person:3)
                  Unvaluedφ of T/v, Case of N

                  Unvalued features act as probes; valued features can be goals. But interpretability determines whether a feature must be checked and deleted before LF — a separate question from whether it currently carries a value.

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

                      Is this feature valued?

                      Equations
                      Instances For

                        Is this feature unvalued (a potential probe)?

                        Equations
                        Instances For

                          Get the feature type (ignoring valued/unvalued distinction)

                          Equations
                          Instances For

                            Do two features match in type? (for Agree) Delegates to FeatureVal.sameType, ignoring specific values.

                            Equations
                            Instances For
                              @[reducible, inline]

                              A feature bundle: list of grammatical features

                              Equations
                              Instances For

                                Does the bundle have an unvalued feature of a given type? Uses sameType so that e.g. [uPerson:] matches ftype [Person:].

                                Equations
                                Instances For

                                  Does the bundle have a valued feature of a given type? Uses sameType so that e.g. [Person:3] matches ftype [Person:_].

                                  Equations
                                  Instances For

                                    Get the valued feature of a given type (if present). Uses sameType for type-level matching.

                                    Equations
                                    Instances For

                                      Whether a feature is interpretable (contributes to LF) or uninterpretable (must be checked and deleted before LF).

                                      This is the central distinction of @cite{chomsky-1995} Ch 4 §4.5. It is orthogonal to valued/unvalued: a feature can be interpretable but unvalued (rare), or uninterpretable but valued (never, in the standard theory). The typical pairings are:

                                      • +Interpretable, valued: φ-features on nouns, categorial features
                                      • –Interpretable, unvalued: φ-features on T/v, Case on nouns

                                      AgreeSOT.lean uses Interpretability directly for tense features. GenderResolution.lean's AnnotatedFeature.interp uses Interpretability directly; CoordinateResolution.lean, AdamsonAnagnostopoulou2025.lean, and Carstens2026.lean all use it via open _root_.Minimalist.

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

                                          Whether a feature is inherently interpretable regardless of host.

                                          Some features are always interpretable (categorial, honorific, factive) or always uninterpretable (Case, EPP, ellipsis). For features whose interpretability depends on host category (phi, wh, tense), see isInterpretableOn in Checking.lean.

                                          Equations
                                          Instances For