s --> [].
s --> s,num.
num --> [a].
num--> [b].
num--> [c].
num--> [d].发布于 2012-11-22 08:06:31
我不知道这是否有帮助,因为我使用的prolog似乎有非常不同的语法,但我只是编写了以下程序来尝试与您的程序相匹配,它工作得很好。
程序
s([]).
s([X|Xs]) :- num(X), s(Xs).
num(a).
num(b).
num(c).
num(d).输出
?- [prologdcg].
% prologdcg compiled 0.00 sec, 2,480 bytes
true.
?- s([a,c,b]).
true.
?- s([a,c,f]).
false.使用SWI-prolog运行。
https://stackoverflow.com/questions/13503953
复制相似问题