%%% (Neu-) Griechisch (ohne Betonungen!!!): %%% folgende Umschrift wurde gewählt: %%% h = ita %%% th = thita %%% w = omega %%% u = ipsilon %%% ch = chi %%% x = ksi %%% der Rest sollte erkennbar sein! %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% THE GRAMMAR RULES %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%% sentences %%%%%%%%%%%%%%%%%%%%%%%%%%%% % a phrase is a sentence or a sentence together with an auxiliary sentence sG(M) --> s2G(M). sG(because(M1,M2)) --> s2G(M1), [giati], s2G(M2). s2G(M2) --> npG(M1,Agr,nom,Gender), vpG(M1,M2,Agr,Gender). % the subject is always included in the verb - the pronoun can be (and % usually is) omitted: s2G(M) --> vpG(Subj,M,Agr,Gender), { strongPronounG(Subj,Agr,nom,Gender,_,[]) }. %%%%%%%%%%%%%%%%%%%%%%%%% noun phrases %%%%%%%%%%%%%%%%%%%%%%%%%%%% % normal noun phrases :- block npG(-,?,?,?,-,?). npG(M1,Agr,Case,Gender) --> np1G(M1,Agr,Case,Gender). % noun phrases with a relative clause npG((M1,M2),A,Case,Gender) --> np1G(M1,A,Case,Gender), [pou], vpG(M1,M2,A,Gender). % NPs ohne Adjektive: np1G(a(Agr,M1),Agr,Case,Gender) --> indefArtG(Agr,Case,Gender), nounG(M1,Agr,Case,Gender), { singular(Agr) }. np1G(a(Agr,M1),Agr,Case,Gender) --> nounG(M1,Agr,Case,Gender), { plural(Agr) }. np1G(the(Agr,M1),Agr,Case,Gender) --> defArtG(Agr,Case,Gender), nounG(M1,Agr,Case,Gender). % NPs mit Adjektiven: np1G((a(Agr,M1),M2),Agr,Case,Gender) --> indefArtG(Agr,Case,Gender), adjG(M2,Agr,Case,Gender), nounG(M1,Agr,Case,Gender), { singular(Agr) }. np1G((a(Agr,M1),M2),Agr,Case,Gender) --> adjG(M2,Agr,Case,Gender), nounG(M1,Agr,Case,Gender), { plural(Agr) }. np1G((the(Agr,M1),M2),Agr,Case,Gender) --> defArtG(Agr,Case,Gender), adjG(M2,Agr,Case,Gender), nounG(M1,Agr,Case,Gender). % NPs that consist of only a pronoun (in nominative case rarely used!): np1G(M1,Agr,Case,Gender) --> strongPronounG(M1,Agr,Case,Gender). % names - always with the definite article: np1G(M1,s3,Case,Gender) --> defArtG(s3,Case,Gender), nameG(M1,Case,Gender). np1G((the(s3,M2),M1),s3,Case,Gender) --> defArtG(s3,Case,Gender), adjG(M1,s3,Case,Gender), nameG(M2,Case,Gender). %%%%%%%%%%%%%%%%%%%%%%%%% verbs phrases %%%%%%%%%%%%%%%%%%%%%%%%%%%% % intransitve verbs - gender doesn't matter! vpG(Subj,[M1,Subj],Agr,_) --> vp2G(M1,Agr,-none). % verbs with one NP - gender doesn't matter! % !!! Achtung: bei "be1-np:nom" muß das Agreement und Gender angepasst % werden, um Sätze wie "Uwe is the dogs" oder "he is a % woman" auszuschließen !!!! vpG(Subj,[M1,Subj,M2],Agr,_) --> vp2G(M1,Agr,-np:C), npG(M2,_,C,_). vpG(Subj,[M1,Subj,M2],Agr,Gender) --> vp2G(M1,Agr,-npAgr:nom), npG(M2,Agr,nom,Gender). % with the weak form of the pronoun there is a different word order: vpG(Subj,[M1,Subj,M2],Agr,_) --> weakPronounG(M2,_,C,_), vp2G(M1,Agr,-np:C). % verbs with an adjective phrase - gender important !!! vpG(Subj,[M1,Subj,M2],Agr,Gender) --> vp2G(M1,Agr,-ap:C), adjG(M2,Agr,C,Gender). % verbs with two NPs (with ordering 1,2 and 2,1). only the last NP may have a % relative clause as a complement vpG(Subj,[M1,Subj,M3,M2],Agr,_) --> vp2G(M1,Agr,-np:C1:C2), np1G(M2,_,C1,_), npG(M3,_,C2,_). % different word order for the weak pronomina: vpG(Subj,[M1,Subj,M3,M2],Agr,_) --> weakPronounG(M2,_,C1,_), vp2G(M1,Agr,-np:C1:C2), npG(M3,_,C2,_). % acc. object replaced by pronoun vpG(Subj,[M1,Subj,M3,M2],Agr,_) --> weakPronounG(M3,_,C2,_), vp2G(M1,Agr,-np:C1:C2), npG(M2,_,C1,_). % dat. object replaced by pronoun vpG(Subj,[M1,Subj,M3,M2],Agr,_) --> weakPronounG(M3,_,C2,_), weakPronounG(M2,_,C1,_), vp2G(M1,Agr,-np:C1:C2). % only pronouns % einfaches Verb: vp2G(M1,Agr,Objects) --> verbG(M1,Agr,Objects). % perfect and plusquamperfect ("I have slept" and "I had slept"): vp2G((T,M1),Agr,Objects) --> auxhaveG(Agr,T), verbbaseG(M1,Objects). %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% THE LEXICON %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% Greek morphology is also complicated, and when the number of words is %% not very high, it is much easier to give all word forms explicitly. %%%%%%%%%%%%%%%%%%%%%%% Verbs %%%%%%%%%%%%%%%%%%%%%%%%%%% % the verb "to see" verbG((pres,see1),s1,-np:acc) --> [blepw]. verbG((pres,see1),s2,-np:acc) --> [blepeis]. verbG((pres,see1),s3,-np:acc) --> [blepei]. verbG((pres,see1),p1,-np:acc) --> [blepoume]. verbG((pres,see1),p2,-np:acc) --> [blepete]. verbG((pres,see1),p3,-np:acc) --> [blepoun]. % aorist: verbG((past,see1),s1,-np:acc) --> [eida]. verbG((past,see1),s2,-np:acc) --> [eides]. verbG((past,see1),s3,-np:acc) --> [eide]. verbG((past,see1),p1,-np:acc) --> [eidame]. verbG((past,see1),p2,-np:acc) --> [eidate]. verbG((past,see1),p3,-np:acc) --> [eidan]. % word forms for forming perfect and plusquamperfect verbbaseG(see1,-np:acc) --> [eidei]. % the verb "to sleep" verbG((pres,sleep1),s1,-none) --> [koimamai]. verbG((pres,sleep1),s2,-none) --> [koimasai]. verbG((pres,sleep1),s3,-none) --> [koimatai]. verbG((pres,sleep1),p1,-none) --> [koimoumaste]. verbG((pres,sleep1),p2,-none) --> [koimaste]. verbG((pres,sleep1),p3,-none) --> [koimountai]. % aorist: verbG((past,sleep1),s1,-none) --> [koimhthhka]. verbG((past,sleep1),s2,-none) --> [koimhthhkes]. verbG((past,sleep1),s3,-none) --> [koimhthhke]. verbG((past,sleep1),p1,-none) --> [koimhthhkame]. verbG((past,sleep1),p2,-none) --> [koimhthhkate]. verbG((past,sleep1),p3,-none) --> [koimhthhkan]. % word form for forming perfect and plusquamperfect verbbaseG(sleep1,-none) --> [koimhthei]. % the verb "to be", can take an adjective or noun object in nominative form verbG((T,be1),Agr,-ap:nom) --> tobeG(T,Agr). verbG((T,be1),Agr,-npAgr:nom) --> tobeG(T,Agr). verbbaseG(be1,-ap:nom) --> [keineahnung]. verbbaseG(be1,-npAgr:nom) --> [keineahnung]. % present tobeG(pres,s1) --> [eimai]. tobeG(pres,s2) --> [eisai]. tobeG(pres,s3) --> [einai]. tobeG(pres,p1) --> [eimastai]. tobeG(pres,p2) --> [eiste]. tobeG(pres,p3) --> [einai]. % imperfekt: tobeG(past,s1) --> [hmoun]. tobeG(past,s2) --> [hsoun]. tobeG(past,s3) --> [htan]. tobeG(past,p1) --> [hmastan]. tobeG(past,p2) --> [hsastan]. tobeG(past,p3) --> [htan]. % the verb "to give" verbG((pres,give1),s1,-np:acc:dat) --> [dinw]. verbG((pres,give1),s2,-np:acc:dat) --> [dineis]. verbG((pres,give1),s3,-np:acc:dat) --> [dinei]. verbG((pres,give1),p1,-np:acc:dat) --> [dinoume]. verbG((pres,give1),p2,-np:acc:dat) --> [dinete]. verbG((pres,give1),p3,-np:acc:dat) --> [dinoun]. % imperfect verbG((past,give1),s1,-np:acc:dat) --> [edwsa]. verbG((past,give1),s2,-np:acc:dat) --> [edwses]. verbG((past,give1),s3,-np:acc:dat) --> [edwse]. verbG((past,give1),p1,-np:acc:dat) --> [dwsame]. verbG((past,give1),p2,-np:acc:dat) --> [dwsate]. verbG((past,give1),p3,-np:acc:dat) --> [edwsan]. % word forms for forming perfect and plusquamperfect verbbaseG(give1,-np:acc:dat) --> [dwsei]. %%%%%%%%%%%%%%%%%%%%%%% auxiliaries %%%%%%%%%%%%%%%%%%%%%%%%%%% % the verb "have" as an auxiliary verb for forming perfect... auxhaveG(s1,perf) --> [echo]. auxhaveG(s2,perf) --> [echeis]. auxhaveG(s3,perf) --> [echei]. auxhaveG(p1,perf) --> [echoume]. auxhaveG(p2,perf) --> [echete]. auxhaveG(p3,perf) --> [echoun]. % ...and plusquamperfect auxhaveG(s1,plus) --> [eicha]. auxhaveG(s2,plus) --> [eiches]. auxhaveG(s3,plus) --> [eiche]. auxhaveG(p1,plus) --> [eichame]. auxhaveG(p2,plus) --> [eichate]. auxhaveG(p3,plus) --> [eichan]. %%%%%%%%%%%%%%%%%%%%%%% pronouns %%%%%%%%%%%%%%%%%%%%%%%%%%% % nominative forms of pronouns (only strong forms) strongPronounG(me1,s1,nom,Gender) --> [ego], { gender(Gender) }. strongPronounG(you1,s2,nom,Gender) --> [esu], { gender(Gender) }. strongPronounG(he1,s3,nom,masc) --> [autos]. strongPronounG(she1,s3,nom,fem) --> [auth]. strongPronounG(it1,s3,nom,neut) --> [auto]. strongPronounG(we1,p1,nom,Gender) --> [emeis], { gender(Gender) }. strongPronounG(you2,p2,nom,Gender) --> [eseis], { gender(Gender) }. strongPronounG(you3,p2,nom,Gender) --> [eseis], { gender(Gender) }. strongPronounG(they1,p3,nom,masc) --> [autoi]. strongPronounG(they1,p3,nom,fem) --> [autes]. strongPronounG(they1,p3,nom,neut) --> [auta]. % accusative forms of pronouns - weak forms: weakPronounG(me1,s1,acc,Gender) --> [me], { gender(Gender) }. weakPronounG(you1,s2,acc,Gender) --> [se], { gender(Gender) }. weakPronounG(he1,s3,acc,masc) --> [ton]. weakPronounG(she1,s3,acc,fem) --> [thn]. weakPronounG(it1,s3,acc,neut) --> [to]. weakPronounG(we1,p1,acc,Gender) --> [mas], { gender(Gender) }. weakPronounG(you2,p2,acc,Gender) --> [sas], { gender(Gender) }. weakPronounG(you3,p2,acc,Gender) --> [sas], { gender(Gender) }. weakPronounG(they1,p3,acc,masc) --> [tous]. weakPronounG(they1,p3,acc,fem) --> [tis]. weakPronounG(they1,p3,acc,fem) --> [tes]. % variant of "tis" weakPronounG(they1,p3,acc,neut) --> [ta]. % accusative forms of pronouns - strong forms: strongPronounG(me1,s1,acc,Gender) --> [emena], { gender(Gender) }. strongPronounG(you1,s2,acc,Gender) --> [esena], { gender(Gender) }. strongPronounG(he1,s3,acc,masc) --> [auton]. strongPronounG(she1,s3,acc,fem) --> [authn]. strongPronounG(it1,s3,acc,neut) --> [auto]. strongPronounG(we1,p1,acc,Gender) --> [emas], { gender(Gender) }. strongPronounG(you2,p2,acc,Gender) --> [esas], { gender(Gender) }. strongPronounG(you3,p2,acc,Gender) --> [esas], { gender(Gender) }. strongPronounG(they1,p3,acc,masc) --> [autous]. strongPronounG(they1,p3,acc,fem) --> [autes]. strongPronounG(they1,p3,acc,neut) --> [auta]. % dative forms of pronouns - weak forms: weakPronounG(me1,s1,dat,Gender) --> [mou], { gender(Gender) }. weakPronounG(you1,s2,dat,Gender) --> [sou], { gender(Gender) }. weakPronounG(he1,s3,dat,masc) --> [tou]. weakPronounG(she1,s3,dat,fem) --> [ths]. weakPronounG(it1,s3,dat,neut) --> [tou]. weakPronounG(we1,p1,dat,Gender) --> [mas], { gender(Gender) }. weakPronounG(you2,p2,dat,Gender) --> [sas], { gender(Gender) }. weakPronounG(you3,p2,dat,Gender) --> [sas], { gender(Gender) }. weakPronounG(they1,p3,dat,Gender) --> [tous], { gender(Gender) }. % dative forms of pronouns - strong forms: strongPronounG(me1,s1,dat,Gender) --> [emena], { gender(Gender) }. strongPronounG(you1,s2,dat,Gender) --> [esena], { gender(Gender) }. strongPronounG(he1,s3,dat,masc) --> [autou]. strongPronounG(she1,s3,dat,fem) --> [auths]. strongPronounG(it1,s3,dat,neut) --> [autou]. strongPronounG(we1,p1,dat,Gender) --> [emas], { gender(Gender) }. strongPronounG(you2,p2,dat,Gender) --> [esas], { gender(Gender) }. strongPronounG(you3,p2,dat,Gender) --> [esas], { gender(Gender) }. strongPronounG(they1,p3,dat,Gender) --> [autwn], { gender(Gender) }. %%%%%%%%%%%%%%%%%%%%%%% adjectives %%%%%%%%%%%%%%%%%%%%%%%%%%% % the adjective "blue" (static in Greek) adjG(blue1,Agr,Case,Gender) --> [mple], { agr(Agr), case(Case), gender(Gender) }. % the adjective "wonderful" adjG(wonderful1,Agr,Case,Gender) --> [thaumasi], adjSuffix1(Agr,Case,Gender). % the adjective "beautiful" adjG(beautiful1,Agr,Case,Gender) --> [wrai], adjSuffix1(Agr,Case,Gender). % the adjective "small" adjG(small1,Agr,Case,Gender) --> [mikr], adjSuffix2(Agr,Case,Gender). % the adjective "old" adjG(old1,Agr,Case,Gender) --> [pali], adjSuffix1(Agr,Case,Gender). % morphology for adjectives: % 1. Deklination (unregelmäßig): adjSuffix1(Agr,nom,masc) --> [-os], { singular(Agr) }. adjSuffix1(Agr,gen,masc) --> [-ou], { singular(Agr) }. adjSuffix1(Agr,dat,masc) --> [-o], { singular(Agr) }. adjSuffix1(Agr,acc,masc) --> [-o], { singular(Agr) }. adjSuffix1(Agr,nom,masc) --> [-oi], { plural(Agr) }. adjSuffix1(Agr,gen,masc) --> [-wn], { plural(Agr) }. adjSuffix1(Agr,dat,masc) --> [-ous], { plural(Agr) }. adjSuffix1(Agr,acc,masc) --> [-ous], { plural(Agr) }. adjSuffix1(Agr,nom,fem) --> [-a], { singular(Agr) }. adjSuffix1(Agr,gen,fem) --> [-as], { singular(Agr) }. adjSuffix1(Agr,dat,fem) --> [-a], { singular(Agr) }. adjSuffix1(Agr,acc,fem) --> [-a], { singular(Agr) }. adjSuffix1(Agr,nom,fem) --> [-es], { plural(Agr) }. adjSuffix1(Agr,gen,fem) --> [-wn], { plural(Agr) }. adjSuffix1(Agr,dat,fem) --> [-es], { plural(Agr) }. adjSuffix1(Agr,acc,fem) --> [-es], { plural(Agr) }. adjSuffix1(Agr,nom,neut) --> [-o], { singular(Agr) }. adjSuffix1(Agr,gen,neut) --> [-ou], { singular(Agr) }. adjSuffix1(Agr,dat,neut) --> [-o], { singular(Agr) }. adjSuffix1(Agr,acc,neut) --> [-o], { singular(Agr) }. adjSuffix1(Agr,nom,neut) --> [-a], { plural(Agr) }. adjSuffix1(Agr,gen,neut) --> [-wn], { plural(Agr) }. adjSuffix1(Agr,dat,neut) --> [-a], { plural(Agr) }. adjSuffix1(Agr,acc,neut) --> [-a], { plural(Agr) }. % 2. Deklination (regelmäßig) adjSuffix2(Agr,nom,fem) --> [-h], { singular(Agr) }. adjSuffix2(Agr,gen,fem) --> [-hs], { singular(Agr) }. adjSuffix2(Agr,dat,fem) --> [-h], { singular(Agr) }. adjSuffix2(Agr,acc,fem) --> [-h], { singular(Agr) }. adjSuffix2(Agr,nom,fem) --> [-es], { plural(Agr) }. adjSuffix2(Agr,gen,fem) --> [-wn], { plural(Agr) }. adjSuffix2(Agr,dat,fem) --> [-es], { plural(Agr) }. adjSuffix2(Agr,acc,fem) --> [-es], { plural(Agr) }. adjSuffix2(Agr,Case,Gender) --> adjSuffix1(Agr,Case,Gender), { member(Gender,[masc,neut]) }. %%%%%%%%%%%%%%%%%%%%%%% substantives %%%%%%%%%%%%%%%%%%%%%%%%%%% % the substantive "woman" nounG(woman1,s3,nom,fem) --> [gunaika]. nounG(woman1,s3,gen,fem) --> [gunaikas]. nounG(woman1,s3,dat,fem) --> [gunaika]. nounG(woman1,s3,acc,fem) --> [gunaika]. nounG(woman1,p3,nom,fem) --> [gunaikes]. nounG(woman1,p3,gen,fem) --> [gunaikwn]. nounG(woman1,p3,dat,fem) --> [gunaikes]. nounG(woman1,p3,acc,fem) --> [gunaikes]. % the substantive "man" nounG(man1,s3,nom,masc) --> [antras]. nounG(man1,s3,gen,masc) --> [antra]. nounG(man1,s3,dat,masc) --> [antra]. nounG(man1,s3,acc,masc) --> [antra]. nounG(man1,p3,nom,masc) --> [antres]. nounG(man1,p3,gen,masc) --> [antrwn]. nounG(man1,p3,dat,masc) --> [antres]. nounG(man1,p3,acc,masc) --> [antres]. % the substantive "dog" nounG(dog1,s3,nom,masc) --> [skulos]. nounG(dog1,s3,gen,masc) --> [skulou]. nounG(dog1,s3,dat,masc) --> [skulo]. nounG(dog1,s3,acc,masc) --> [skulo]. nounG(dog1,p3,nom,masc) --> [skuloi]. nounG(dog1,p3,gen,masc) --> [skulwn]. nounG(dog1,p3,dat,masc) --> [skulous]. nounG(dog1,p3,acc,masc) --> [skulous]. % the substantive "check" (which is static) nounG(check1,Agr,Case,neut) --> [tsek], { thirdperson(Agr), case(Case) }. % the substantive "telephone" nounG(cellularphone1,s3,nom,neut) --> [thlefono]. nounG(cellularphone1,s3,gen,neut) --> [thlefonou]. nounG(cellularphone1,s3,dat,neut) --> [thlefono]. nounG(cellularphone1,s3,acc,neut) --> [thlefono]. nounG(cellularphone1,p3,nom,neut) --> [thlefona]. nounG(cellularphone1,p3,gen,neut) --> [thlefonwn]. nounG(cellularphone1,p3,dat,neut) --> [thlefona]. nounG(cellularphone1,p3,acc,neut) --> [thlefona]. %%%%%%%%%%%%%%%%%%%%%%% names %%%%%%%%%%%%%%%%%%%%%%%%%%% % names (for foreign (i.e. non-Greek) names, all cases share the same suffix): nameG(name(eva1),Case,fem) --> [efa], { case(Case) }. nameG(name(uta1),Case,fem) --> [outa], { case(Case) }. nameG(name(bob1),Case,masc) --> [mbomb], { case(Case) }. nameG(name(uwe1),Case,masc) --> [oube], { case(Case) }. %%%%%%%%%%%%%%%%%%%%%%% articles %%%%%%%%%%%%%%%%%%%%%%%%%%% % definite articles: defArtG(s3,nom,masc) --> [o]. defArtG(p3,nom,masc) --> [oi]. defArtG(s3,gen,masc) --> [tou]. defArtG(p3,gen,masc) --> [twn]. defArtG(s3,dat,masc) --> [ston]. defArtG(p3,dat,masc) --> [stous]. defArtG(s3,acc,masc) --> [ton]. defArtG(p3,acc,masc) --> [tous]. defArtG(s3,nom,fem) --> [h]. defArtG(p3,nom,fem) --> [oi]. defArtG(s3,gen,fem) --> [ths]. defArtG(p3,gen,fem) --> [twn]. defArtG(s3,dat,fem) --> [sthn]. defArtG(p3,dat,fem) --> [stis]. defArtG(s3,acc,fem) --> [thn]. defArtG(p3,acc,fem) --> [tis]. defArtG(s3,nom,neut) --> [to]. defArtG(p3,nom,neut) --> [ta]. defArtG(s3,gen,neut) --> [tou]. defArtG(p3,gen,neut) --> [twn]. defArtG(s3,dat,neut) --> [sto]. defArtG(p3,dat,neut) --> [sta]. defArtG(s3,acc,neut) --> [to]. defArtG(p3,acc,neut) --> [ta]. % indefinite articles: indefArtG(s3,nom,masc) --> [enas]. indefArtG(s3,gen,masc) --> [enos]. indefArtG(s3,dat,masc) --> [senan]. indefArtG(s3,acc,masc) --> [enan]. indefArtG(s3,nom,fem) --> [mia]. indefArtG(s3,gen,fem) --> [mias]. indefArtG(s3,dat,fem) --> [se,mia]. indefArtG(s3,acc,fem) --> [mia]. indefArtG(s3,nom,neut) --> [ena]. indefArtG(s3,gen,neut) --> [enos]. indefArtG(s3,dat,neut) --> [sena]. indefArtG(s3,acc,neut) --> [ena]. %% AUXILIARY PREDICATES plural(p1). plural(p2). plural(p3). singular(s1). singular(s2). singular(s3). case(nom). case(gen). case(dat). case(acc). gender(masc). gender(fem). gender(neut). thirdperson(s3). thirdperson(p3). agr(Agr) :- member(Agr, [s1,s2,s3,p1,p2,p3]).