如何定义此谓词,使其不会永远 运行
How do I define this predicate so that it doesn't run forever
我需要定义一个谓词:
?- X = succ(X), nu(X).
false.
我该怎么做?它似乎不会 return 任何东西,只会永远 运行。
你可以这样试试:
nu(0).
nu(S) :-
acyclic_term(S),
S = succ(X),
nu(X).
必须调用 acyclic_term/1 才能在第一个查询中失败。
我需要定义一个谓词:
?- X = succ(X), nu(X).
false.
我该怎么做?它似乎不会 return 任何东西,只会永远 运行。
你可以这样试试:
nu(0).
nu(S) :-
acyclic_term(S),
S = succ(X),
nu(X).
必须调用 acyclic_term/1 才能在第一个查询中失败。