PROLOG-REQUEST@SUSHI.STANFORD.EDU.UUCP (02/22/87)
PROLOG Digest Monday, 23 Feb 1987 Volume 5 : Issue 11 Today's Topics: Query - Frames & Connection Graph Proof Procedure, Programming - 91 Function ---------------------------------------------------------------------- From: "Norbert E. Fuchs" <fuchs%ifi.unizh.chunet@RELAY.CS.NET> Subject: Frames in Prolog Does anybody know about an efficient implementation of frames in Prolog, or a Prolog system with frames? Thank you very much for your help. -- Norbert E. Fuchs ------------------------------ Date: Tue, 17 Feb 87 19:11:37 est From: Stephen Schaefer <schaefer%andy.bgsu.edu@RELAY.CS.NET> Subject: Connection Graph Proof Procedure Can anyone point me to further references on the application of the connection graph proof procedure, described in Kowalski's _Logic_ _for_ _Problem_ _Solving_, chapter 8? Are any Prolog implementations built on top of it? Thanks. -- Stephen P. Schaefer ------------------------------ Date: 17 Feb 87 23:21:17 GMT From: milano!varghese@im4u.utexas.edu Subject: 91 Function In article <3782@milano.UUCP>, varghese@milano.UUCP writes: > > A "fix" to make it converge to 91: > > (defun f91 (x) > (cond ((= x 91) 91) > ((> x 111) (f91 (f91 (- x 10)))) > ((> x 100) (f91 (- x 10))) > (t (f91 (f91 (+ x 11)))))) > > or, if you don't speak LISP, a Prolog version: > > f91(91,91) :- !. > f91(X,Y) :- X > 111, !, Z is X - 10, f91(Z,W), f91(W,Y). > f91(X,Y) :- X > 100, !, Z is X - 10, f91(Z,Y). > f91(X,Y) :- Z is X + 10, f91(Z,W), f91(W,Y). > The last line of the Prolog version should be f91(X,Y) :- Z is X + 11, f91(Z,W), f91(W,Y). to make it correspond to the Lisp version. I work on Lisp machines and the Prolog version is a translation of the Lisp program. Sorry about that. -- Joe Varghese ------------------------------ End of PROLOG Digest ********************