PROLOG
FALHA (FAIL)
- Podemos dizer que alguma coisa não é verdadeira em Prolog por meio de um predicado pré-definido especial, "fail", que sempre falha, forçando o objetivo pai a falhar. A formulação acima pode ser dada em Prolog com o uso do fail da seguinte maneira:
- gosta(maria, X) :- cobra(X), !, fail.
- gosta(maria, X) :-animal(X).
- Aqui a primeira regra se encarrega das cobras. Se X é uma cobra, então o cut evita o backtracking (assim excluindo a segunda regra) e o fail irá ocasionar a falha da cláusula. As duas regras podem ser escritas de modo mais compacto como uma única cláusula, por meio do uso do conetivo ";":
- gosta(maria, X) :- cobra(X), !, fail; animal(X).