츠모 (Satchmo) (또한 위에서 언급 한 "주제에 의한 변주곡"에 나열된)의 첫 번째 논문
Rainer Manthey와 François Bry입니다. SATCHMO : 프롤로그에서 구현 된 정리 검증기. 제 9 회 자동 공제에 관한 국제 회의록, 415-434 페이지. Springer-Verlag, 1988.
이 논문은 Satchmo의 몇 가지 Prolog 구현을 제시하고 그 장점을 설명합니다. 또한 몇 가지 예가 있습니다.
:- op(1200, xfx, '--->').
:- unknown(_, fail).
satisfiable :-
setof(Clause, violated_instance(Clause), Clauses),
!,
satisfy_all(Clauses),
satisfiable.
satisfiable.
violated_instance((B ---> H)) :-
(B ---> H),
B,
\+ H.
satisfy_all([]).
satisfy_all([(_B ---> H) | RestClauses]) :-
H,
!,
satisfy_all(RestClauses).
satisfy_all([(_B ---> H) | RestClauses]) :-
satisfy(H),
satisfy_all(RestClauses).
/*
satisfy((A,B)) :-
!,
satisfy(A),
satisfy(B).
*/
satisfy((A;B)) :-
!,
(satisfy(A) ; satisfy(B)).
satisfy(Atom) :-
\+ Atom = untrue,
(
predicate_property(Atom, built_in)
->
call(Atom)
;
assume(Atom)
).
assume(Atom) :-
% nl, write(['Asserting ': Atom]),
asserta(Atom).
assume(Atom) :-
% nl, write(['Retracting ': Atom]),
retract(Atom),
!,
fail.
LeanTAP라는 츠모 (Satchmo)의 대안을 제공하는 마법 프롤로그의 12 개 라인의 또 다른 멋진 린 Theorum 증명 용지 : 베커/Posegga 여기에 내가 Attempto 제어 영어에 대한 내 추론 레이스의 시작 지점으로 사용되는 츠모 (Satchmo) 버전입니다 http://web.sec.uni-passau.de/papers/Lean_Proving_Position_Paper_AISB_WS94.pdf –