I've made a basic predicate ascending/1
to check if a list is in ascending order, on https://swish.swi-prolog.org.
ascending([]).
ascending([_]).
ascending([X, Y| T]) :-
X =< Y,
ascending([Y|T]).
It shows the following if I query ?- ascending([1, 2, 4, 6]).
:
As in, it tries to find more solutions. Pressing Next
, 10
, 100
or 1,000
just returns false
, which is a mystery in and of itself - true and false at the same time? Maybe that's because of the anonymous _
? Have I not defined completely enough? Why is it not just returning true?