繁体   English   中英

元解释器Prolog,计算基础事实的数量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM