Vamos agora enriquecer a linguagem, construindo certos predicados que, tal como o corte, têm uma semântica operacional que ultrapassa o formalismo da lógica. Introduzimos um novo símbolo de predicado de aridade um, denotado por call. Tal como o corte, trata-se de um predicado pré-definido, isto é, que pode apenas figurar no corpo de uma cláusula ou num alvo-questão. Consideremos um átomo da forma call(A) onde A pode ser uma variável ou um átomo. No decorrer do percurso-construção da árvore de procura, quando o átomo escolhido for call(A), A deve estar instanciado por um átomo (senão erro). Então tudo se passa como se o programa comportasse (nessa etapa apenas) a cláusula
call(A) :- A.
Na terminologia procedimental, call(A) é equivalente à chamada do
procedimento A e tem, por conseguinte, o efeito de tentar construir uma árvore
de prova tendo por raíz uma instância de A. Vamos ver de seguida alguns
exemplos de utilização do corte e do call.