vec(hadr).
vec(zidle).
obsahuje(suplik, skripta).
obsahuje(suplik, tuzka).
obsahuje(skripta, info).
obsahuje(krabice, kocka).
obsahuje(kocka, granule).
obsahuje(granule, atomy).
obsahuje(granule, kocka).
obsahuje2(X,Y):-obsahuje(X,Z),obsahuje(Z,Y).
obsahuje12(X,Y):-obsahuje(X,Y);obsahuje2(X,Y).

je_v(X,Y) :- obsahuje(X,Y).
je_v(X,Y) :- obsahuje(X,Z),je_v(Z,Y).

h(ano).
h(ne).

neguj(ano,ne).
neguj(ne,ano).
anduj(ano,ano,ano).
anduj(_,ne,ne).
anduj(ne,_,ne).
oruj(ano,_,ano).
oruj(_,ano,ano).
oruj(ne,ne,ne).


vyhodnot(ano, ano).
vyhodnot(ne, ne).
vyhodnot(a(X, Y), V) :-
    vyhodnot(X, LV),
    vyhodnot(Y, PV),
    anduj(LV, PV, V).

vyhodnot(ne(X),V):-vyhodnot(X,Z),neguj(Z,V).

vyhodnot(nebo(X,Y),V):-
    vyhodnot(X, LV),
    vyhodnot(Y,PV),
    oruj(LV,PV,V).




