Reduplication

In his course "Six Problems in Phonology and Their Solution" at LSA 2005 Summer Institute at MIT, Morris Halle presented an analysis of reduplication that is remarkably similar to the approach taken in the Beesley & Karttunen chapter on Non-concatenative morphotactics. The data below (copied from Halle's forthcoming paper "Reduplication") comes from Eric Raimy's book The morphology and phonology of reduplication. Mouton-deGruyter, 2000. (I have simplified the transcription a little, wangij should really be waŋgij.)

The two languages discussed below, Mangyarrayi and Agta, mark plurals with partial reduplication but the systems are slightly different.


Singular
Plural
Gloss
gabuji
g-ab-ab-uji
old person(s)
jimgan
j-img-img-an
knowledgeable one(s)
yirag
y-ir-ir-ag
father(s)
wangij
w-ang-ang-ij
children

Table 1: Mangyarrayi reduplication (Raimy, p. 135)


Singular Plural Gloss
pusa
pus-pus-a
cat(s)
kaldin
kal-kal-din
goat(s)
jyanitor
jyan-jyan-itor
janitor(s)
takki
tak-tak-ki
leg(s)
uffu
uf-uf-fu
thigh(s)
bari
bar-bar-i
(my whole) body

Table 2: Agta reduplication (Raimy, p. 127-8, stresses omitted)

Halle writes (p. 2):

"In Mangyarrayi the plural is signaled by repeating the substgring beginning with the vowel of the first syllable and ending with the consonant(s) preceding the vowel of the second syllable. In Agta the plural is signaled by repeating the substring that starts at the  beginning of the word and ends with the consonant that follows the first vowel of the word."

In Halle's analysis, the plural morpheme has no phonetic substance but it "triggers Readjustment rules which insert square bracket junctures into the underlying junctureless segment sequence of the stems when these are in construction with a Plural morpheme." For example, in Agta the underlying singular form pusa becomes [pus]a. Actually Halle does not insert the square brackets into the phonological string but rather into the timing units that they correspond to in one-to-one fashion. This difference is of no practical consequence here. The bracketed substring is rewritten by the following relinearization rule:

X1 [X2 ... Xn-1] Xn >>> X1 X2 ... Xn-1 X2 ... Xn-1 Xn

that reduplicates the bracketed substring and removes the brackets.

It is obvious that Halle's analysis of Agta reduplication can be implemented in a finite-state system such as xfst that has a compile-replace function. In xfst terms, what Halle's Readjustment rule needs to do is to wrap the string that will undergo reduplication in between a pair of brackets followed by the reduplication operator ^2. There is no need for a special relinearization rule. A call to 'compile-replace' will do the job.

The script below illustrates the Agta case.

# -*- coding: iso-8859-1 -*-
# AgtaReduplication.script

define C [b|c|d|f|g|h|j|k|l|m|n|p|q|r|s|t|v|w|x|y|z];
define V [a|e|i|o|u];
define RED {^2};
define START "^[";
define PLURAL ?* "+Pl";

define Agta 0:"^["
            [{pusa}|{kaldin}|{jyanitor}|{takki}|{uffu}|{bari}]
            ["+Pl" | "+Sg":0]
            0:"^]";

define DeletePl "+Pl" -> 0;

define AgtaRedup C* V C @-> "[" ... "]" RED || START _ PLURAL ;

regex Agta .o. AgtaRedup .o. DeletePl;

set retokenize off

compile-replace lower

print lower-words

#####################################################################

Note that we define Agta lexicon with an initial ^[ and final ^] on the lower-side in anticipation of the call to 'compile-replace' later on. The +Sg marker is mapped directly to an epsilon but the +Pl marker is preserved so that we can use it as a context in the AgtaRedup rule. AgtaRedup wraps the substring up to the first consonant after the first vowel into square brackets and adds the reduplication operator. The regex line applies AgtaRedup to the lexicon and deletes the +Pl  marker now that it has had its effect. At this point, the network contains paths such as

     t a k           +Pl
^[ [ t a k ] ^ 2 k i     ^]

Because of the way we have reached this point, it is necessary to do 'set retokenize off' to prevent the compiler from turning the lower-side symbols into a string and retokenizing it. (This would fail because the special symbols, ^[ and ^], would need to be in double quotes.)

Finally, the command 'compile-replace lower' replaces all the expressions on the lower side of the network. This operation has no effect on the singular forms but the plural forms reduplicate the bracketed string suffixed by the ^2 operator. The path above will be replaced by the path

t a k           +Pl
t a k t a k k i

and the 'print-lower words' command prints the singular and plural forms of the six Agta words:

uffu
ufuffu
takki
taktakki
pusa
puspusa
kaldin
kalkaldin
jyanitor
jyanjyanitor
bari
barbari

The Task

Using the above Agta reduplication script as the model, write a script for Mangyarrayi reduplication.