/* Napisati prolog predikat koji, konsultujuci bazu znanja, proverava da li se dva umesena atoma nalaze u nekoj od relacija specificiranih listom. Argumenti predikata su atomi i lista naziva relacija. */ provera(A,B,[],[]):-!. provera(A,B,[G|R],[G|RR]):-(vazi(A,B,G);vazi(B,A,G)),provera(A,B,R,RR). provera(A,B,[G|R],RR):-not(vazi(A,B,G)),not(vazi(B,A,G)),provera(A,B,R,RR). vazi(X,Y,Rel):- S=..[Rel,X,Y],call(S). razliciti([],[]). razliciti([G|R],[G|R1]) :- not(pripada(G,R)),razliciti(R,R1). razliciti([G|R],L) :- razliciti(R,L). pripada(X,[X|_]). pripada(X,[_|R]):-pripada(X,R). program1994011:-write('Unesi prvi atom: '),read(A),nl, write('Unesi drugi atom: '),read(B),nl, write('Unesi listu relacija: '),read(L),nl, provera(A,B,L,L1), razliciti(L1,L2), write(L2).