Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prolog - Palindrome Functor

Tags:

I am trying to write a predicate palindrome/1 in Prolog that is true if and only if its list input consists of a palindromic list.

for example:

?- palindrome([1,2,3,4,5,4,3,2,1]).

is true.

Any ideas or solutions?

like image 397
Amjad Avatar asked Dec 29 '11 15:12

Amjad


1 Answers

A palindrome list is a list which reads the same backwards, so you can reverse the list to check whether it yields the same list:

palindrome(L):-
  reverse(L, L).
like image 120
gusbro Avatar answered Sep 21 '22 04:09

gusbro