swi-prolog不会回答查询

时间:2013-04-04 03:24:29

标签: prolog

我正在尝试编写一个查询来确保列表列表中存在一个元素,我尝试了这个实现:

membernested(E,[H|T]):-member(E,H).
membernested(E,[H|T]):-membernested(E,[T]).

但是Prolog不会回答这个问题,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

将您的第二个条款更改为:

membernested(E,[H|T]) :- membernested(E,T).

列表[H|T]的尾部是T,而不是[T]。没有必要将其括在另一个列表中。