artikel(der). artikel(die). artikel(das). names(peter). names(elke). names(oma). nomen(kuehe). nomen(auto). nomen(haus). nomen(mensch). praedikat(besucht). praedikat(malt). praedikat(mag). praedikat(faehrt). praedikat(kocht). nona(X):-names(X);nomen(X). subjekt_mit_Art([X,Y]):-artikel(X),nona(Y). subjekt_ohne_Art([X]):-nona(X). objekt([]). objekt(L):-objekt_mit_Art(L);objekt_ohne_Art(L). objekt_mit_Art([X,Y]):-artikel(X),nona(Y). objekt_ohne_Art([X]):-nona(X). satz([K|[S|R]]):-artikel(K),subjekt_mit_Art([K,S]), erstes(X,R,O),praedikat(X),objekt(O). satz([K|R]):-subjekt_ohne_Art([K]),erstes(X,R,O),praedikat(X),objekt(O). %analysiere:-lies_Satz(S),write(S),nl,schreibe_Liste(S),nl,!,satz(S). erstes(X,[X],[]). erstes(X,[X|Y],Y).