/* Exercise 6.1 from Stansifer */ indoEuropean(X) :- baltoSlavic(X). indoEuropean(X) :- germanic(X). indoEuropean(X) :- indoIranian(X). nigerCongo(X) :- bantu(X). nigerCongo(X) :- kwa(X). baltoSlavic(lithuanian). germanic(luxemburgish). indoIranian(magahi). indoIranian(maithili). bantu(makua). bantu(swahili). kwa(yorba). bantu(zulu). q1 :- indoEuropean(zulu). /* type q1 to make this work */ q2 :- indoEuropean(luxemburgish). q3 :- indoEuropean(letzebuerigesch). q4(X) :- indoEuropean(X). /* type q4(A) (or use any other variable) */ q5(X) :- indoEuropean(X), nigerCongo(X). q6(X,Y) :- indoEuropean(X), nigerCongo(Y).