Alignment #
A marking of the argument roles, by case, agreement or constituent order, is a function out of
ArgumentRole, and its alignment is which of the three core roles S, A and P it identifies, the
kernel of the marking on the core roles, as Comrie and Dixon define it. A three-element set has five
partitions, so a marking has one of five alignments: neutral, accusative, with S marked like A,
ergative, with S marked like P, horizontal, with A marked like P, and tripartite. The case labels a
marking uses are a further dimension: the Mayan non-perfective pattern with Set A on every subject
and the Kaqchikel progressive with Set A on the object are accusative alignments in genitive rather
than nominative clothing.
Main declarations #
Alignment.IsNeutral,Alignment.IsAccusative,Alignment.IsErgative,Alignment.IsHorizontal,Alignment.IsTripartite: the five alignments of a marking, one of which every marking has (Alignment.marking_cases).Alignment.accusative,Alignment.ergative,Alignment.tripartite,Alignment.extendedErgative,Alignment.invertedErgative: the canonical case markings.Alignment.AlignmentType: Comrie's observational classification of WALS chapters 98 to 100, withAlignmentType.MarksAgentandAlignmentType.MarksPatient.Alignment.AlignmentType.Classifies: the alignment a type names, as a property of a marking.Alignment.overt,Alignment.Fits: the conditions under which a role of a conditioned marking is overtly coded, and the fit of a conditioned marking to an order on its conditions.
Implementation notes #
The alignment predicates read the three core roles only. The values a canonical marking gives
the ditransitive roles R and T, a dative recipient in the accusative marking and the theme with
the patient elsewhere, are placeholders with no audit trail, and no consumer reads them.
AlignmentType.active, the split-S systems, identifies no fixed pair of roles and so is not the
alignment of a single marking.
References #
The marking treats S, A and P alike.
Equations
- Alignment.IsNeutral m = (m ArgumentRole.S = m ArgumentRole.A ∧ m ArgumentRole.S = m ArgumentRole.P)
Instances For
The marking treats S like A and unlike P.
Equations
- Alignment.IsAccusative m = (m ArgumentRole.S = m ArgumentRole.A ∧ m ArgumentRole.S ≠ m ArgumentRole.P)
Instances For
The marking treats S like P and unlike A.
Equations
- Alignment.IsErgative m = (m ArgumentRole.S = m ArgumentRole.P ∧ m ArgumentRole.S ≠ m ArgumentRole.A)
Instances For
The marking treats A like P and unlike S.
Equations
- Alignment.IsHorizontal m = (m ArgumentRole.A = m ArgumentRole.P ∧ m ArgumentRole.S ≠ m ArgumentRole.A)
Instances For
The marking treats S, A and P all differently.
Equations
- Alignment.IsTripartite m = (m ArgumentRole.S ≠ m ArgumentRole.A ∧ m ArgumentRole.S ≠ m ArgumentRole.P ∧ m ArgumentRole.A ≠ m ArgumentRole.P)
Instances For
Equations
- Alignment.instDecidableIsNeutral m = { decide := decide (m ArgumentRole.S = m ArgumentRole.A) && decide (m ArgumentRole.S = m ArgumentRole.P), reflects_decide := ⋯ }
Equations
- Alignment.instDecidableIsAccusative m = { decide := decide (m ArgumentRole.S = m ArgumentRole.A) && decide (m ArgumentRole.S ≠ m ArgumentRole.P), reflects_decide := ⋯ }
Equations
- Alignment.instDecidableIsErgative m = { decide := decide (m ArgumentRole.S = m ArgumentRole.P) && decide (m ArgumentRole.S ≠ m ArgumentRole.A), reflects_decide := ⋯ }
Equations
- Alignment.instDecidableIsHorizontal m = { decide := decide (m ArgumentRole.A = m ArgumentRole.P) && decide (m ArgumentRole.S ≠ m ArgumentRole.A), reflects_decide := ⋯ }
Equations
- One or more equations did not get rendered due to their size.
Every marking has one of the five alignments, the five partitions of a three-element set.
No marking is accusative and ergative at once, since it identifies S with at most one of A and P.
Canonical case markings #
The accusative marking makes S and A nominative and P accusative.
Equations
Instances For
The ergative marking makes A ergative and S and P absolutive.
Equations
Instances For
The inverted marking of the Kaqchikel progressive ([Ima14]): absolutive on S and A, genitive on P, the object being the only Case-less DP of a nominalized clause under the unaccusative requirement.
Equations
Instances For
Extended ergativity is accusative alignment in genitive clothing.
The inverted marking is likewise an accusative alignment.
The observational classification #
Morphosyntactic alignment type, the classification of WALS chapters 98 to 100 ([Com13a]): how a language groups S, A and P.
- neutral : AlignmentType
S, A and P alike.
- accusative : AlignmentType
S with A, P apart.
- ergative : AlignmentType
S with P, A apart.
- tripartite : AlignmentType
S, A and P all distinct.
- active : AlignmentType
Split-S: S is marked like A for some predicates and like P for others.
Instances For
Equations
- Alignment.instDecidableEqAlignmentType x✝ y✝ = if h : x✝.ctorIdx = y✝.ctorIdx then isTrue ⋯ else isFalse ⋯
Equations
- Alignment.instReprAlignmentType = { reprPrec := Alignment.instReprAlignmentType.repr }
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
Equations
- One or more equations did not get rendered due to their size.
The type marks A apart from S.
Equations
Instances For
Equations
- Alignment.instDecidableMarksAgent a = { decide := decide (a = Alignment.AlignmentType.ergative) || decide (a = Alignment.AlignmentType.tripartite), reflects_decide := ⋯ }
The type marks P apart from S.
Equations
Instances For
Equations
- Alignment.instDecidableMarksPatient a = { decide := decide (a = Alignment.AlignmentType.accusative) || decide (a = Alignment.AlignmentType.tripartite), reflects_decide := ⋯ }
The alignment a type names, as a property of a marking. The split-S type names none, since it identifies no fixed pair of roles.
Equations
- Alignment.AlignmentType.neutral.Classifies m = Alignment.IsNeutral m
- Alignment.AlignmentType.accusative.Classifies m = Alignment.IsAccusative m
- Alignment.AlignmentType.ergative.Classifies m = Alignment.IsErgative m
- Alignment.AlignmentType.tripartite.Classifies m = Alignment.IsTripartite m
- Alignment.AlignmentType.active.Classifies m = False
Instances For
Equations
- One or more equations did not get rendered due to their size.
- Alignment.instDecidableClassifiesOfDecidableEq m Alignment.AlignmentType.active = { decide := false, reflects_decide := ⋯ }
Conditioned marking #
A marking may depend on a condition besides the role, such as the referential properties of the
argument or of its co-argument, or the tense of the clause. A conditioned marking
m : ArgumentRole → C → Option κ codes role r under condition c by the marker m r c, or by
none, and its alignment under c is that of (m · c). Bickel, Witzlack-Makarevich and Zakharko
represent a case as a relation between roles and conditions, and test hierarchy effects as the
fit of a marking to an order on the conditions: A overtly coded on a lower set of them, P on an
upper set. The papers that posit a scale assert fit; the papers that test it count it.
The conditions under which role r is overtly coded.
Equations
- Alignment.overt m r = {c : C | m r c ≠ none}
Instances For
A conditioned marking fits an order on its conditions when A is overtly coded on a lower set of them and P on an upper set.
Equations
- Alignment.Fits m = (IsLowerSet (Alignment.overt m ArgumentRole.A) ∧ IsUpperSet (Alignment.overt m ArgumentRole.P))