/* Először próbálja meg csak a program elolvasása alapján 
kitalálni, hogy ki gyanús, ki a gyilkos, és csak utána futtassa le, ellenőrzésképpen */


  szemely(albert,55,ferfi,acs).
  szemely(bela,25,ferfi,focista).
  szemely(bela,25,ferfi,hentes).
  szemely(janos,25,ferfi,zsebtolvaj).
  
  viszonya_volt(barbara,janos).
  viszonya_volt(barbara,albert).
  viszonya_volt(zsuzsa,janos).
  
  meggyilkoltak(zsuzsa,golfuto).
  megolve(zsuzsa).
  
  inditek(penz).
  inditek(feltekenyseg).
  inditek(igazsagtalansag).
  
  bepiszkolva(albert,ver).
  bepiszkolva(zsuzsa,ver).
  bepiszkolva(bela,sar).
  bepiszkolva(janos,csoki).
  bepiszkolva(barbara,csoki).
  
  van_neki(albert,setabot).
  van_neki(janos,pisztoly).
  
  ugyanazt_okozza(setabot,golfuto).
  ugyanazt_okozza(karo,golfuto).
  ugyanazt_okozza(ollo,kes).
  ugyanazt_okozza(futballcipo,golfuto).
  
  tulajdona_lehet(X,futballcipo):- szemely(X,_,_,focista).
  tulajdona_lehet(X,ollo):- szemely(X,_,_,fodrasz).
  tulajdona_lehet(X,Targy):- van_neki(X,Targy).
  
  gyanus(X):- meggyilkoltak(zsuzsa,Fegyver),
              ugyanazt_okozza(Targy,Fegyver),
              tulajdona_lehet(X,Targy).
  
  gyanus(X):- inditek(feltekenyseg),szemely(X,_,ferfi,_),
              viszonya_volt(zsuzsa,X).                

  gyanus(X):- inditek(feltekenyseg),szemely(X,_,no,_),
              viszonya_volt(X,Ferfi),viszonya_volt(zsuzsa,Ferfi).                    

  gyanus(X):- inditek(penz), szemely(X,_,_,zsebtolvaj).
  
  gyilkos(Gyilkos):-szemely(Gyilkos,_,_,_),megolve(Megolve),
                    Megolve\=Gyilkos, gyanus(Gyilkos),
                    bepiszkolva(Gyilkos,Nyom),
                    bepiszkolva(Megolve,Nyom).
                                 
