Prolog列表.检查列表中的第一个和最后一个元素是否相似

Ano*_*ous 5 list prolog dcg

例:

firstlast([1,2,3,4,1]).
true;

firstlast([1,2,3,4]).
false;

firstlast([5,10,4,3]).
false;

exc...
Run Code Online (Sandbox Code Playgroud)

问题是我只允许使用谓词"firstlast"的递归.?我真的试图打破这个,但我似乎无法检查/比较最后一个元素与第一个元素.

任何提示?

das*_*ght 3

更新:由于您不允许使用其他谓词,请尝试以下操作:

firstlast([H,H]).
firstlast([F,_|T]) :- firstlast([F|T]).
Run Code Online (Sandbox Code Playgroud)

第一个谓词处理基本情况,第二个谓词删除三个或更多项目列表中的第二个元素,然后向下递归。