Documentation

Linglib.Syntax.Case.Alignment

Alignment Case-Assignment Functions #

[Dix94] [Com89] [Mar91]

The SAP-indexed counterpart to Syntax/Case/Dependent.lean's configural algorithm. Each Alignment.X.assignCase is a function from Features.Prominence.ArgumentRole to Case capturing the canonical case pattern of alignment type X. The configural derivations in Dependent.lean (Marantz/Baker) and the observational AlignmentType enum (WALS-style classification, below) are checked against the case-assignment functions here as ground truth.

Coverage #

Ditransitive defaults (R, T) #

ArgumentRole has 5 constructors covering ditransitives. Ditransitive case alignment (indirective vs secundative vs neutral, per [Has05]'s typology) is its own dimension orthogonal to monotransitive alignment. The R/T cases below pick conservative defaults intended to support monotransitive reasoning at zero cost; they have no published audit trail and no current consumers in linglib (no call site applies .assignCase .R or .T). Treat them as scaffolding subject to revision when ditransitive consumers arrive:

Nominative-accusative case assignment. Monotransitive: S | A → NOM, P → ACC. R defaults to DAT (the recipient case found in Indo-European and Uralic ditransitive paradigms); T to ACC. R → DAT is IE-biased — secundative and double-accusative languages (English, many Bantu, Tagalog) assign R → ACC instead and would override this default.

Equations
Instances For

    Tripartite case assignment: A → ERG, P → ACC, S → ABS — three distinct cases, one per argument. Found in San Juan Atitán Mam (Mayan, K'ichean-Mamean) per [Sco23] ch. 3, and (per [Dix94] §2.1.5) attested in Pitta-Pitta, Wangkumara, and several other Australian languages. Mam lacks independent DP case morphology — the tripartite analysis is recoverable only from agreement patterns (Set A on A, no agreement on P, Set B on S). R/T default to ACC (consistent with P) since Mam ditransitives aren't documented in the analyzed corpus.

    Equations
    Instances For

      Kaqchikel-type non-perfective (specifically PROG sentences with the ajin matrix predicate): S | A → ABS, P → GEN. The OBJECT receives ergative/genitive case rather than the subject — opposite of the canonical extended-ergative pattern.

      Per [Ima14] §3.3.1 ("Kaqchikel: ERG=OBJ", p. 122): "Kaqchikel exhibits a cross-linguistically rare alignment pattern in the nominative-accusative system found in the progressives and in the complement position of certain embedding verbs – the object of a transitive verb is aligned with an ergative or genitive agreement morpheme."

      Imanishi's mechanism: the Unaccusative Requirement on Nominalization (eq. 90, p. 123) forces nominalized transitive verbs in Kaqchikel to passivize, removing the external argument. The object becomes the only Case-less DP in the nominalized clause and receives ergative Case from D as phase head ("phase head ergative Case", his central thesis). The subject is base-generated in the matrix (Spec-PredP headed by ajin) and gets absolutive from Infl.

      Construction-specific: this pattern arises specifically in progressive ajin constructions and certain embedding-verb constructions (e.g., chäp 'begin' in (117), p. 137 — though that construction has a slightly different sub-pattern with all subjects getting ERG too). The chäp variant is not encoded here.

      Dialectal variation (per [Ima14] fn. 26, p. 141): "My Kaqchikel consultants do not accept nominalized patterns as in (120). This is presumably because of dialectal differences." Some Kaqchikel varieties may not show the inverted pattern even in PROG sentences; [garcia-matzar-rodriguez-guajan-1997] document broader patterns that Imanishi's consultants don't accept. R/T default to ABS.

      Equations
      Instances For

        An alignment is which of the core monotransitive roles {S, A, P} an analysis groups together — the partition of {S, A, P} that assign : ArgumentRole → Case induces (the kernel of assign, restricted to the three core roles: the full Setoid.ker over ArgumentRole would also constrain the ditransitive scaffolding roles R, T, which alignment does not). This is a point in the partition lattice of a three-element set, orthogonal to the Case labels used — nominativeAccusative, extendedErgative, and invertedErgative induce the same partition with different cases. A three-element set has exactly five partitions (Bell 3 = 5), hence five monotransitive alignments; coreSig is the decidable code for the partition.

        This partition object replaces the scattered per-alignment _groups_S_with_X / _distinguishes_P theorems this file used to carry (restatements of it, now retired); only tripartite_distinguishes_all is kept, as it is re-exported by downstream consumers.

        def Alignment.coreSig (assign : Features.Prominence.ArgumentRoleCase) :
        Bool × Bool × Bool

        The core-role signature (S≈A, S≈P, A≈P) of an alignment — a faithful code for its partition of {S, A, P}: transitivity makes the three pairwise relations determine, and be determined by, the partition.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def Alignment.ConsistentSig (s : Bool × Bool × Bool) :
          Bool

          A signature is consistent (realizable as a partition) iff, by transitivity, any two of the three role-equalities force the third — ruling out the three "exactly two true" triples.

          Equations
          • Alignment.ConsistentSig s = ((!(s.1 && s.2.1) || s.2.2) && (!(s.1 && s.2.2) || s.2.1) && (!(s.2.1 && s.2.2) || s.1))
          Instances For

            Every alignment's signature is consistent: it really is a partition.

            theorem Alignment.consistent_sigs :
            {s : Bool × Bool × Bool | ConsistentSig s = true} = {(true, true, true), (true, false, false), (false, true, false), (false, false, true), (false, false, false)}

            Bell(3) = 5. Exactly five signatures are consistent — the five partitions of a three-element set: neutral (T,T,T), accusative (T,F,F), ergative (F,T,F), horizontal (F,F,T), tripartite (F,F,F). The three "exactly two equalities" triples are forbidden by transitivity.

            theorem Alignment.bell_three_eq_five :
            {s : Bool × Bool × Bool | ConsistentSig s = true}.card = 5
            theorem Alignment.assignCase_partitions :
            coreSig nominativeAccusative.assignCase = (true, false, false) coreSig extendedErgative.assignCase = (true, false, false) coreSig invertedErgative.assignCase = (true, false, false) coreSig ergative.assignCase = (false, true, false) coreSig tripartite.assignCase = (false, false, false)

            The five assignCase functions realize only three of the five partitions: nominativeAccusative, extendedErgative, and invertedErgative all induce the accusative partition {S,A}|{P} — they differ only in Case labels, not alignment (the kernel generalizing the one instance noticed in Dixon1994.extendedErgative_groups_S_with_A_like_accusative).

            theorem Alignment.horizontal_unrealized :
            ConsistentSig (false, false, true) = true coreSig nominativeAccusative.assignCase (false, false, true) coreSig ergative.assignCase (false, false, true) coreSig tripartite.assignCase (false, false, true) coreSig extendedErgative.assignCase (false, false, true) coreSig invertedErgative.assignCase (false, false, true)

            The horizontal partition {A,P}|{S} (A and P align, S apart — attested, Pamir-type) is a genuine partition of {S, A, P} realized by none of the assignCase functions here. (It is also absent from AlignmentType.)

            Ditransitive alignment: how R (recipient) and T (theme) are coded relative to monotransitive P — the ditransitive analogue of the monotransitive alignment above, hence co-located with it (used by Dixon1994 and Haspelmath2021).

            • neutral : DitransitiveAlignment

              R = T = P: no distinction among non-agent arguments.

            • indirective : DitransitiveAlignment

              T = P ≠ R: R distinctly marked, T patterns with P (indirective; analogous to accusative — English "give the book TO Mary").

            • secundative : DitransitiveAlignment

              R = P ≠ T: T distinctly marked, R patterns with P (secundative; analogous to ergative — many Bantu applicatives).

            • tripartite : DitransitiveAlignment

              R ≠ T ≠ P: all three roles distinctly marked.

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

                Whether this ditransitive alignment marks R distinctly from P.

                Equations
                Instances For

                  Whether this ditransitive alignment marks T distinctly from P.

                  Equations
                  Instances For

                    A language's ditransitive alignment profile.

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

                          Observational alignment type (WALS Chs 98/99/100) #

                          The 5-way WALS classification ([Com13a]) of how a language groups S/A/P. The case-assignment functions above are the kernel; this enum is the observational label, grounded in the partition coreSig induces by partitionSig_grounded.

                          Morphosyntactic alignment type: five categories classifying how a language groups the three core grammatical relations S, A, P.

                          • neutral : AlignmentType

                            S = A = P: no morphological distinction (e.g. Mandarin, Thai).

                          • accusative : AlignmentType

                            S = A ≠ P: subject + agent grouped, patient distinct (most common).

                          • ergative : AlignmentType

                            S = P ≠ A: absolutive grouping, agent distinct (e.g. Basque).

                          • tripartite : AlignmentType

                            S ≠ A ≠ P: all three distinctly marked (rare; Nez Perce).

                          • active : AlignmentType

                            Active / split-S: S splits into agent-like and patient-like.

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

                              Whether this alignment marks the agent (A) distinctly from S.

                              Equations
                              Instances For
                                @[implicit_reducible]
                                Equations

                                Whether this alignment marks the patient (P) distinctly from S.

                                Equations
                                Instances For
                                  @[implicit_reducible]
                                  Equations

                                  Split ergativity [Bla94b] [Dix94] #

                                  A SplitErgativity Factor is parameterised by the conditioning factor (aspect, person, animacy, …); alignment projects to the ergative or accusative family. The Hindi aspect-conditioned split (hindiSplit) is the canonical worked example, used as the cross-linguistic reference point by the Yukatek/Hindi fragments and the Mayan/Silverstein studies.

                                  structure Alignment.SplitErgativity (Factor : Type) :

                                  A split-ergative system ([Bla94b], [Dix94]): alignment varies by some conditioning factor.

                                  • ergCondition : FactorBool
                                  Instances For
                                    Instances For
                                      @[implicit_reducible]
                                      Equations
                                      def Alignment.instReprAspect.repr :
                                      AspectStd.Format
                                      Equations
                                      Instances For
                                        @[implicit_reducible]
                                        Equations

                                        The canonical aspect-conditioned split: perfective ⇒ ergative, imperfective ⇒ accusative (Hindi-Urdu). The reference instance other aspect-split languages are compared against.

                                        Equations
                                        Instances For

                                          Grounding the enum in the partition object #

                                          def Alignment.AlignmentType.partitionSig :
                                          AlignmentTypeOption (Bool × Bool × Bool)

                                          AlignmentType as the core-role signature (S≈A, S≈P, A≈P) of the partition it denotes (coreSig vocabulary). active is not a partition of {S,A,P} — it splits S — so it has no signature (none).

                                          Equations
                                          Instances For

                                            The four partition-denoting AlignmentTypes agree with the partitions the corresponding assignCase functions induce — grounding the enum in the kernel object rather than maintaining it independently.