Prolog - diferenças entre corte vermelho e corte verde
Comecei a aprender prólogo e queria deixar tudo mais claro. Eu li que "o corte verde não muda o significado declarativo do programa, enquanto o corte vermelho". Mas, o significado do programa não é realmente puro declarativo (apenas pelo fato de o prólogo realmente voltar atrás para todas as opções).
Aqui está um exemplo:
p(1).
p(2) :- !.
p(3).
foi dito que este é um corte verde. Mas se eu executar isso:
p(X), X =:= 3.
Eu serei "verdadeiro" sem um corte e "falso" com um corte. então, do que sinto falta?
Desde já, obrigado.