pron([qu], [mask,sg,nom]) --> [wer].
pron([rel],[mask,sg,nom]) --> [der].

det([def],  [mask,sg,nom]) --> [der].
det([indef],[mask,sg,nom]) --> [ein].
det([qu],   [mask,sg,nom]) --> [welcher].
det([quant],[mask,sg,nom]) --> [jeder].

n([mask],[sg,nom]) --> ['Astronom'].
n([mask],[sg,nom]) --> ['Stern'].
en([mask],[sg,nom]) --> ['Kepler'].
v([sein],[3,sg,praes,ind]) --> [ist].
v([sein],[3,sg,praet,ind]) --> [war].
v([sein],[3,pl,praes,ind]) --> [sind].
v([sein],[3,pl,praet,ind]) --> [waren].

en([mask],[sg,nom]) --> ['Uranus'].
en([mask],[sg,gen]) --> ['Uranus\''].
en([fem], [sg,nom]) --> ['Venus'].
en([mask],[sg,nom]) --> ['Triton'].
en([mask],[sg,gen]) --> ['Keplers'].

n([Gen],[Num,Kas]) --> rn([Gen],[Num,Kas]). % Umwandlung

rn([mask],[sg,nom]) --> ['Durchmesser'].
rn([mask],[sg,nom]) --> ['Planet'].
rn([mask],[pl,nom]) --> ['Monde'].
rn([mask],[sg,gen]) --> ['Planeten'].
rn([mask],[sg,gen]) --> ['Mondes'].

poss([rel],[mask,sg,gen]) --> [dessen].
poss([rel],[fem,sg,gen]) --> [deren].
det([def],[mask,sg,gen]) --> [des].
det([def],[fem,sg,gen]) --> [der].
det([def],[_Gen,pl,_Kas]) --> [Zahlatom],  
    { anzahl(Zahlatom,Zahl), Zahl >= 2 }.

n([mask],[pl,nom]) --> [km].

anzahl(Atom,N) :-
    atom_codes(Atom,Codes),
    number_codes(1234567890,NumCodes),
    subset(Codes,NumCodes), % Atom ist Zahlatom
    number_codes(N,Codes).

a([als(nom)],[komp]) --> [größer].
a([als(nom)],[komp]) --> [kleiner].

det([def],[fem,sg,nom]) --> [die].
pron([rel],[fem,sg,nom]) --> [die].

v([nom,akk],[3,sg,praes,ind]) --> [entdeckt].
v([nom,akk],[3,sg,praes,ind]) --> [umkreist].

pron([qu], [mask,sg,akk]) --> [wen].
pron([rel],[mask,sg,akk]) --> [den].

det([def],  [mask,sg,akk]) --> [den].
det([indef],[mask,sg,akk]) --> [einen].
det([qu],   [mask,sg,akk]) --> [welchen].
det([quant],[mask,sg,akk]) --> [jeden].

n([mask],[sg,akk]) --> ['Mond'].
n([mask],[sg,akk]) --> ['Planeten'].

