我有一个SATCHMO的代码,我试图理解它,但我不能:
Prove(true).
Prove(A & B) :-
Prove(A),
Prove(B).
Prove (A or B):-
Prove(A);
Prove(B).
Prove(A):-
P => A,
Prove(p).
Prove(P):-
A => B or C
Prove(A),
Prove(B => P),
Prove(C => P).
Prove (B => P) :-
assert(B),
(prove(P) -> retract (B);
(retract(B), fail)).
如何在prolog中测试?
我有一些关于它的问题,我正在寻找能够解释这些事情的导师。
答案 0 :(得分:2)
尝试在Prolog中了解有关元编程的更多信息:
还可以查看SATCHMO论文,您可以在Variations on a Theme: A Bibliography on Approaches to Theorem Proving Inspired From Satchmo
中找到它们的集合。