neguj(ano,ne). % neguj(ne) == ano. neguj(ne,ano). oruj(ano,_,ano). oruj(_,ano,ano). oruj(ne,ne,ne). anduj(ne,_,ne). anduj(_,ne,ne). anduj(ano,ano,ano). vyhodnot(ano,ano). vyhodnot(ne,ne). vyhodnot(nebo(X,Y), V) :- vyhodnot(X, VX), vyhodnot(Y, VY), oruj(VX, VY, V). vyhodnot(a(X,Y), V) :- vyhodnot(X, VX), vyhodnot(Y, VY), anduj(VX, VY, V). vyhodnot(neg(F), V) :- % V=ano, neg(F) vyhodnot(F, V1), % vyhodnot(F, ne). ->>>> neguj(V1,V). % neguj(ne,ano), V1=ne. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% jidlo(granule). jidlo(strudl). obsahuje(skrin,strudl). obsahuje(krabice,strudl). obsahuje(krabice,tuzka). obsahuje(krabice,krabicka). obsahuje(krabicka,kocka). obsahuje(kocka,granule). obsahuje(kocka,krabice). obsahuje2(X,Y) :- obsahuje(X,Y). obsahuje2(X,Y) :- obsahuje(X,Z), obsahuje2(Z,Y).