Мне даны следующие предикаты:
q8([]):-
q8([X]):-
q8([H|T]):-
, которые должны обеспечить следующий вывод
q8([2, 5, 8, 8, 8, 9]).
true.
q8([8, 5, 2, 8, 9]).
false.
Моя попытка была:
q8([]):-true.
q8([X]):-true.
q8([H|T]):- H<T, q8(T).
Однакоэто терпит неудачу, потому что это пытается объединить tail
моего списка к q8([X])
, который учитывает только один элемент.Я не совсем уверен, как обойти это.
Чтобы было понятнее, если вы запустите q8([2,5,8,8,8,9])
.Я получаю сообщение об ошибке, потому что [5,8,8,8,9]
не может объединиться с X
.Это никогда не дойдет до третьего определенного q8 predicate
.
Я делаю практические проблемы для своего финала, так что вы, ребята, не помогаете с домашней работой!лол