Prolog测试谓词是否失败

时间:2011-05-16 11:45:04

标签: prolog

我想编写一个从事实库返回解决方案的谓词。当没有解决方案时,谓词应返回“No solutions exists”。返回存在于factbase中的解决方案是微不足道的。如何实现“无解决方案”部分。我使用SWI-Prolog。

1 个答案:

答案 0 :(得分:2)

如果您有一个谓词,说fact/1包含您的所有事实,您可以使用if-then-else语句,如下所示:

fact_or_no_solution(Sol) :-
    (fact(X) ->
        Sol = X
    ;
        Sol = 'No solution exists'
    ).