/*
Három embert mutatunk be, Aladárt, Bélát és Balázst. Egyikük asztalos, a másik bádogos, a harmadik agronómus. Egyikük Budapesten, a másik Békéscsabán, a harmadik Aszódon lakik, Hogy ki hol lakik, és mi a foglalkozása, azt találja ki Ön.
Annyit azonban elmondhatunk, hogy
- Balázs csak ritkán látogat a fővárosba, pedig minden rokona Budapesten lakik;
- két olyan ember is van a társaságban, akinek foglalkozása és lakhelye ugyanazzal a betűvel kezdődik, mint a neve;
- az asztalos felesége Balázs húga.


*/

:- use_module(library(clpfd)). 

start :- All =  [Aladar,Bela,Balazs,
		 Asztalos,Badogos,Agronomus, 
	         Budapest,Bekescsaba,Aszod], 

		 All ins 1..3,
		 all_different([Aladar,Bela,Balazs]),
		 all_different([Asztalos,Badogos,Agronomus]),
		 all_different([Budapest,Bekescsaba,Aszod]),
		 
		 Balazs #\= Budapest,
		 Asztalos #\= Balazs,
  		 Asztalos #= Budapest,
 		
		 Balazs #= Badogos,
		 Balazs #= Bekescsaba,
		 Aladar #= Aszod,
		 Aladar #= Agronomus,

		 Balazs #=1,
		 Budapest #=2, 
  		
		 label(All),

 		 kiir(1,All),kiir(2,All),kiir(3,All),fail.
start.


kiir(N,[Aladar,Bela,Balazs,
        Asztalos,Badogos,Agronomus,
        Budapest,Bekescsaba,Aszod]):-  nth1(N1,[Aladar,Bela,Balazs],N),
			               nth1(N1,['Aladár','Béla','Balázs'],Nev),
				       nth1(N2,[Budapest,Bekescsaba,Aszod],N),
				       nth1(N2,['Budapest','Békéscsaba','Aszód'],Hely),
				       nth1(N3,[Asztalos,Badogos,Agronomus],N),
				       nth1(N3,['asztalos','bádogos','agronómus'],Munka),
				       writef('%w\t%w\t%w\n',[Nev, Hely, Munka]).
 


/*

Forrás:

http://www.tankonyvtar.hu/hu/tartalom/tamop425/0046_prolog_feladatgyujtemeny/ch01s09.html

*/