Documentation

Linglib.Features.PrivativePair

Privative Feature Pairs #

@cite{harbour-2016}

A neutral abstraction over pairs of privative features with containment: the inner feature entails the outer feature ([+inner] → [+outer]).

This pattern recurs across the two φ-feature domains established in @cite{harbour-2016}:

In each case, the containment constraint rules out one of the four Boolean combinations, yielding exactly three well-formed cells:

outerinnerStatusPersonNumber
++most specified1st personsingular
+intermediate2nd persondual
least specified3rd personplural
+ill-formed

@cite{harbour-2016} calls this shared skeleton the phi kernel: the same formal mechanism generates the partition structure of both person and number.

A pair of privative features with a containment relation.

inner entails outer: bearing the inner feature requires bearing the outer feature. The four Boolean combinations reduce to three well-formed cells:

  • ⟨true, true⟩ — [+outer, +inner] (most specified)
  • ⟨true, false⟩ — [+outer, −inner] (intermediate)
  • ⟨false, false⟩ — [−outer, −inner] (least specified)

The fourth combination ⟨false, true⟩ ([−outer, +inner]) violates containment.

Instances:

  • outer : Bool

    The entailed (outer) feature.

  • inner : Bool

    The entailing (inner) feature — implies outer.

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

          Well-formedness: [+inner] → [+outer]. The inner feature entails the outer feature.

          Equations
          Instances For

            Most specified cell: [+outer, +inner]. Person: 1st (speaker). Number: singular (atom).

            Equations
            Instances For

              Intermediate cell: [+outer, −inner]. Person: 2nd (non-speaker participant). Number: dual (minimal non-atom).

              Equations
              Instances For

                Least specified cell: [−outer, −inner]. Person: 3rd (non-participant). Number: plural (non-minimal non-atom).

                Equations
                Instances For
                  theorem Features.PrivativePair.illFormed_unique :
                  { outer := false, inner := true }.wellFormed = false

                  The unique ill-formed combination.

                  theorem Features.PrivativePair.exactly_three :
                  (List.filter wellFormed [{ outer := true, inner := true }, { outer := true, inner := false }, { outer := false, inner := true }, { outer := false, inner := false }]).length = 3

                  There are exactly 3 well-formed combinations.

                  Every well-formed pair is one of the three canonical cells.

                  theorem Features.PrivativePair.inner_implies_outer (p : PrivativePair) (h : p.wellFormed = true) (hi : p.inner = true) :
                  p.outer = true

                  Inner feature entails outer for well-formed pairs.

                  Specification level: counts the number of positive features. Maximal = 2, intermediate = 1, minimal = 0.

                  This defines a natural linear order on the three cells: more specified means more privative features are present.

                  Equations
                  Instances For
                    theorem Features.PrivativePair.no_four_way (a b c d : PrivativePair) :
                    a.wellFormed = trueb.wellFormed = truec.wellFormed = trued.wellFormed = truea ba ca db cb dc dFalse

                    No four-way distinction. Any partition based on a privative pair has at most 3 cells. This is the core impossibility result: a single privative pair cannot support a 4-way contrast.

                    For person: no language has a 4-way singular person distinction. For number: no language has a 4-way base number distinction from two features alone.

                    Any type that is isomorphic to PrivativePair.

                    Person.Features and Number.Features instantiate this class, inheriting no_four_way, classification, specLevel, etc. by construction — no per-domain bridge theorems needed.

                    Instances
                      theorem Features.PhiFeatures.injective {α : Type} [inst : PhiFeatures α] :
                      Function.Injective toPair

                      The embedding is injective (follows from roundtrip).

                      def Features.PhiFeatures.wellFormed {α : Type} [inst : PhiFeatures α] (a : α) :
                      Bool

                      Well-formedness via the embedding.

                      Equations
                      Instances For
                        theorem Features.PhiFeatures.no_four_way {α : Type} [inst : PhiFeatures α] [DecidableEq α] (a b c d : α) (ha : wellFormed a = true) (hb : wellFormed b = true) (hc : wellFormed c = true) (hd : wellFormed d = true) (hab : a b) (hac : a c) (had : a d) (hbc : b c) (hbd : b d) (hcd : c d) :
                        False

                        No 4-way distinction for any PhiFeatures instance.

                        def Features.PhiFeatures.specLevel {α : Type} [inst : PhiFeatures α] (a : α) :
                        Nat

                        Specification level via the embedding.

                        Equations
                        Instances For