[英]meta-interpreter Prolog, count the number of ground facts
我在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).
好的,现在我要计算一些事实。 谁能帮我?
一些提示: clause/2
标准谓词在事实的第二个参数中返回原子true
。 还有一个ground/1
标准谓词,可让您测试术语是否为地面。 最后,您需要一些额外的参数来实际计算在证明中使用的基础事实的数量。 该数字最初为零,并且每次使用地面事实时都会递增。 尝试使用累加器来实现计数。 考虑报告您的实施尝试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.