empsup(joe, margaret).
empsup(fred, margaret).
empsup(jane, margaret).
empsup(art, jane).
empsup(mike, jane).
empsup(choldermondely, julie).
empsup(ferd, julie).
empsup(bubba, julie).

supdep(margaret, graphics).
supdep(jane, html).
supdep(julie, sales).

empsupdep(X, Y, Z) :- empsup(X, Y), supdep(Y, Z).

empsupl([X, Y]) :- empsup(X, Y).

supdepl([X, Y]) :- supdep(X, Y).

empsupvarl([X, Y, Z]) :- empsupl([X, Y]).

varsupdepl([X, Y, Z]) :- supdepl([Y, Z]).

empsupdepl(X) :- empsupvarl(X), varsupdepl(X).
