私は Prolog を学ぼうとしてきましたが、述語 s() が何をするのか完全に困惑しています。私はそれが頻繁に使用されているのを目にしますが、インターネット上には Prolog に関するリソースがほとんどないため、答えを見つけることができません。
元。
/* sum(Is,S) is true if S is the sum of the list of integers Is. */
sum([],0).
sum([0|Is],S):-sum(Is,S).
sum([s(I)|Is], s(Z) ):-sum([I|Is],Z).