Back to the Arabic PAPPI homepage

Notes on Arabic PAPPI:
AGR Criterion

1. Theory

1.1 Examples

Taken from [pg32. Chapter 2: Word Order, Agreement and Case, Fassi Fehri (1993)]

VSO (poor vs. rich AGR)

[45a] daxal-at  n-nisaaQ-u    makaatib-a(-hunna)
      entered-f the-women-nom office.pl-acc(-their.f)
      The women have entered (their) offices

[45b] *daxal-na    n-nisaaQ-u    makaatib-a(-hunna)
      entered-f.pl the-women-nom office.pl-acc(-their.f)
SVO (rich vs. poor AGR)
[46a] n-nisaaQ-u    daxal-na     makaatib-a(-hunna)
      the-women-nom entered-f.pl office.pl-acc(-their.f)
      The women have entered (their) offices

[46b] *n-nisaaQ-u    daxal-at  makaatib-a(-hunna)
      the-women-nom entered-f office.pl-acc(-their.f)

1.2 AGR Criterion

Simplified form:

2. Implementation

2.1 Parser Operation

Construct a new parser operation AGR Criterion:

Definition in file principles14.pl:

agrCriterion in_all_configurations CF where
	specIP(CF,Spec) then richAGRiffRNP(Spec,CF).
specIP/2 defined elsewhere as:
specIP(IP,Subject) :- cat(IP,i2), Subject immediate specifier_of IP.
See online documentation (http://www.neci.nj.nec.com/homepages/sandiway/pappi/doc/refman/) for definitions of PAPPI primitives:

Primitive Description
cat(X,C) C category label of phrase X
X specifer_of YP [YP X [Y' Y .. ]]

Two ways to define iff condition:

richAGRiffRNP(Spec,IP) :-
	IP has_feature agr(AGR),
(1)	richAGR(AGR) iff rNP(Spec)
(2)	poorAGR(AGR) iff expletive(Spec).
[Actually neither is entirely correct, need to mix them for dependency reasons.]

2.1.1 Rich AGR

richAGR(AGR) iff rNP(Spec)
Define richAGR/1 and rNP/1 (referential NP) as follows:
richAGR(X) :- \+ unspecifiedForNumber(X).	  % also called by sCase

rNP(X) :- \+ ( X has_feature nonarg(+) ; possibleEmptyExpletive(X)).

2.1.2 Poor AGR

poorAGR(X) :- unspecifiedForNumber(X).
Use poorAGR approach because of interactions with theta and binding theory.

Insertion of empty categories in PAPPI:

Typology: PRO, pro, trace, parasitic gap, operator, ...

New: Empty expletive (EXPL)

expletive(X) :- X has_feature nonarg(+).
expletive(X) :- possibleEmptyExpletive(X), setExpletiveFeatures(X).
Expletives in PAPPI have feature nonarg(+).
possibleEmptyExpletive(X) :- ec(X), emptyType(X).

emptyType(X) :- X has_feature ec(T), unassigned(T).
Marks empty NP as EXPL:
setExpletiveFeatures(X) :-
	addFeature(nonarg(+),X), 
	X has_feature_set [a(na),p(na)].
Values for +/-A, +/-P: na (not applicable).

2.2 Parses

Permits:

Rules out:

Assume NP[1] is an argument.

Switch off Case Filter, Theta Criterion violation:

3. Other PAPPI Changes

3.1 Structural Case Assignment

Structural Case is assigned under government.
sCaseAssign in_all_configurations CF where
	sCaseConfig(CF,Assigner,Case,NP) 
		then assignSCase(Assigner,Case,NP).

Logical Variable Description
Head the Case assigner
Case the Case to be assigned
NP the Case receiver

Simplified definition:

sCaseConfig(CF,Head,Case,XP) :-
	governs(Head,XP,CF),
	caseAssigner(Head,Case),
	adjacent(Head,XP,CF) if caseAdjacency.
Infl with poor AGR governs into Spec-VP:
governs(I,Subj,Proj) :-				  % governing into Spec-VP
	I head_of Proj,
	I has_feature agr(AGR),
	poorAGR(AGR),
	XP complement_of Proj,
	Subj specifier_of XP.
Proj = [ I(AGR) XP ]

[XP Subj .. ]

3.2 Intermediate Traces and Case Transmission

Extra parse for example (46a):

Subject moves to Spec-CP via Spec-IP.

PAPPI allows A-to-A-bar Case transmission, used in Topicalization and Scrambling.

However, this is insertion of Case at an intermediate trace:

Eliminate this in the Case-marking code:

caseMark(Head,NP,Case) :-
	ec(NP), 
	NP has_feature apos,
	antecedent(NP,A),
	\+ A has_feature apos
	-> \+ intermediateTrace(NP),		  % NEW
	   aBarCaseTransmit(Head,A,Case)
	;  checkMorphCase(NP,Case),
	   NP has_feature case(Case).

3.3 Topicalization

Extra parse for example (4ba):

How to deal with this?


Back to the Arabic PAPPI homepage