/* 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).
