Introduzimos agora um novo símbolo de predicado de aridade zero, denotado por repeat, e que definimos pelas duas cláusulas seguintes:
repeat. repeat :- repeat.
Resulta claro que no que diz respeito à semântica lógica, isto equivale à única cláusula
repeat.
e é portanto a sua semântica operacional que faz a diferença (e o seu interesse). Para ilustrarmos a utilidade de tal construção, consideremos a questão
?- repeat, write('Qual a opcao desejada?'), read(O), faz(O), !.
Um exame à árvore de procura mostra que desencadeamos uma iteração, ``sem fim'', de
chamadas ao write e ao read, cuja condição de saída é o êxito do
predicado faz.