  szereti(pal,sor).
  szereti(eva,cola).
  szereti(jozsi,bor).
  szereti(jeno,sor).
  szereti(imre,sor).
  szereti(jani,cola).
  szereti(pista,bor).
  mernek(sarok,bor).
  mernek(sarok,sor).
  mernek(hullam,sor).
  mernek(hullam,bor).
  mernek(hullam,cola).
  jar(Diak,Kocsma):-szereti(Diak,Ital),
                    mernek(Kocsma,Ital).



/*	Variációk sok (vagy az összes) megoldás keresésére	*/

m1:-forall(jar(Ki,Hova),writef('%10c%10c%w',[Ki,Hova,'\n'])).


/* Próbálja ki ezeket a hivásokat (önállóan begépelve (bemásolva) a futtató környezetbe)
Mindkét esetben kérjen alternatív megoldásokat is (pontosvessző):
	setof(Hova,jar(Ki,Hova),L).
  	setof(Ki,jar(Ki,Hova),L).
Milyen adatok kerülnek az L listába?
*/


/* Próbálja ki őket beágyazva egy-egy szabályba: (hívja meg az eljárásokat :)) */


m2(Ki):-setof(Hova,jar(Ki,Hova),L),write(L).

m3(Hova):-setof(Ki,jar(Ki,Hova),L),write(L).
  

/*
Mit csinál az m4 eljárás? Az eddigiek alapján próbálja meg kitalálni.
Lehetőleg előbb gondolkozzon, és csak utána próbálja ki, de mindenképpen próbálja is ki.
Ha végiggondolta, írja meg az eljárás párját. (mit jelent, hogy "párja"?)
*/


m4:-setof((H,L), setof(K, jar(K,H), L), LL),write(LL).
 

/* Próbálja ki ezeket is: */


m5:-findall(H,jar(_,H),L),write(L).               


m6:-forall(jar(K,H),ki(K,H)).

ki(K,H):-writef('%w\t%w\n',[K,H]).               
  


/*
HF (saját érdekében fontos, hogy megoldja) :

1. Próbálja ki a futtatási környezetben a 
	 forall(m2(H),writeln(H)).
hívást, ill. ugyanezt az m3-mal. A tapasztaltak alapján írjon olyan eljárást,
amely
a/ emberenként kiírja, hogy ki milyen kocsmákba jár
b/ kocsmánként kiírja, hogy ki szokott odajárni.


2. Irassa ki azokat a kocsmákat, ahova jár valaki, de minden kocsmanév csak egyszer szerepeljen!

*/