nep_levo(trougao,pravougaonik).
nep_levo(pravougaonik,krug).
nep_levo(krug,duz).
nep_levo(kvadrat,sestougao).
nep_levo(sestougao,romboid).
nep_levo(romboid,kruzni_prsten).
nep_levo(trapez,polukrug).
nep_levo(polukrug,petougao).
nep_levo(petougao,osmougao).

nep_iznad(trougao,kvadrat).
nep_iznad(kvadrat,traprz).
nep_iznad(pravougaonik,sestougao).
nep_iznad(sestougao,polukrug).
nep_iznad(krug,romboid).
nep_iznad(romboid,petougao).
nep_iznad(kruzni_prsten,osmougao).

nep_desno(X,Y):-nep_levo(Y,X).

nep_ispod(X,Y):-nep_iznad(Y,X).

levo_u_liniji(X,Y):-nep_levo(X,Y).
levo_u_liniji(X,Y):-nep_levo(X,Z),levo_u_liniji(Z,Y).

desno_u_liniji(X,Y):-levo_u_liniji(Y,X).

iznad_u_liniji(X,Y):-nep_iznad(X,Y).
iznad_u_liniji(X,Y):-nep_iznad(X,Z),iznad_u_liniji(Y,Z).

ispod_u_liniji(X,Y):-iznad_u_liniji(Y,X).

nep_dijagonalno_l_g(X,Y):- nep_iznad(X,Z),nep_levo(Z,Y).
nep_dijagonalno_l_g(X,Y):- nep_levo(X,Z),nep_iznad(Z,Y).

nep_dijagonalno_d_g(X,Y):- nep_iznad(X,Z),nep_desno(Z,Y).
nep_dijagonalno_d_g(X,Y):- nep_desno(X,Z),nep_iznad(Z,Y).

nep_dijagonalno_l_d(X,Y):-nep_dijagonalno_d_g(Y,X).

nep_dijagonalno_d_d(X,Y):-nep_dijagonalno_l_g(Y,X).

levo_je(X,Y):-levo_u_liniji(X,Y).
levo_je(X,Y):-levo_u_liniji(X,Z),iznad_u_liniji(Z,Y).
levo_je(X,Y):-levo_u_liniji(X,Z),ispod_u_liniji(Z,Y).

desno_je(X,Y):-levo_je(Y,X).

iznad_je(X,Y):-iznad_u_liniji(X,Y).
iznad_je(X,Y):-iznad_u_liniji(X,Z),levo_u_liniji(Z,Y).
iznad_je(X,Y):-iznad_u_liniji(X,Z),desno_u_liniji(Z,Y).


