【发布时间】:2014-01-08 23:57:37
【问题描述】:
写一个谓词less/2,这样如果t1代表n1,t2代表n2,那么
less(t1, t2) 成功当且仅当 n1 less(s(z), s(s(s(z)))) 应该
成功,less(s(z), s(z)) 应该失败。如果 t1 是一个未实例化的逻辑变量,
而 t2 是自然数 n2 的适当表示,则谓词
应该枚举所有小于 n2 的数字。例如查询
?- less(X, s(s(z))).
应该以X = z 和X = s(z) 成功(不一定按此顺序)。
【问题讨论】:
-
successor-arithmetics 的常用符号是
0、s(0)、s(s(0))等。而不是z的0。看看successor-arithmetics标签下的其他问题!
标签: prolog successor-arithmetics