Gebruik DCG gramatica regels om een predicaat reverse/3
te schrijven dat waar is als de laatste 2 argumenten een verschillijst zijn waarvan de inhoud het omgekeerde is can het eerste argument. De modus van het predicaat mag (+,-,-)
zijn.
?- reverse([1,2,3],X,[]).
X = [3, 2, 1].
?- reverse([1,2,3],X,[a]).
X = [3, 2, 1, a].
?- reverse([1,2,3],X,Y).
X = [3, 2, 1|Y].