Possível resolução

% Basta alterar o predicado cumpre_obj

cumpre_obj(situacao(_,_,_,tem),[]).
cumpre_obj(E,[Accao|R]) :-
  accao(E,Accao,S),
  cumpre_obj(S,R).

% ?- cumpre_obj(situacao(porta,chao,janela,nao_tem),L).



(c) Delfim F. Marado Torres
1999-04-13