编写一个谓词less/2
,如果 t1 代表 n1,t2 代表 n2,则
less(t1, t2)
当 n1 < n2 时成功。例如,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)
(不一定按此顺序)。
编写一个谓词less/2
,如果 t1 代表 n1,t2 代表 n2,则
less(t1, t2)
当 n1 < n2 时成功。例如,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)
(不一定按此顺序)。