我在prolog中有一个证据(元解释器):
solvept(true,true):- !.
solvept((A,B),(ProofA,ProofB)):-
!, solvept(A,ProofA), solvept(B,ProofB).
solvept(A,(A:-Proof)):-
clause(A,B), solvept(B,Proof).
使用此KB:
son(aa,bb).
son(bb,cc).
son(rr,tt).
好的,现在我想要计算一些基本事实。
谁能帮帮我?
答案 0 :(得分:2)
一些提示:clause/2
标准谓词在其第二个参数中返回原子true
以获取事实。还有一个ground/1
标准谓词,允许您测试术语是否为基础。最后,您需要一些额外的参数来实际计算证明期间使用的基础事实的数量。这个数字最初为零,每次使用基础事实时它都会递增。尝试使用累加器来实现计数。考虑报告您的实施尝试。