Article View: net.lang.prolog
Article #682Re: Standard behavior?
From: Gilbert Cockton
Date: Mon, 09 Jun 1986 13:39
Date: Mon, 09 Jun 1986 13:39
24 lines
1378 bytes
1378 bytes
In article <29700028@uiucdcs> reddy@uiucdcs.UUCP writes: > >To rggoebel@watdragon: > >You can try explaining cut, var and nonvar logically. If you do it >successfully, you could become a star of the logic programming community. In all humility, and with a strong chance of getting it all wrong here I go: var(X) = All t in Term: can_unify(t,X) where can_unify is true if a most general unifier can be found for both its arguments. nonvar(X) = Exists t in Term: NOT(can_unify(t,X)) Dirty structures like lists with uninstantiated tails (as in the unit time queue trick) are nonvar under these definitions. I've had minimal training in Logic, so I don't know if the set of all Terms is an ok construct. Seems ok to me. This leaves cut, which is definitely meta-logical.
Technical Details
Message-ID:
<768@aimmi.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!linus!philabs!cmcl2!seismo!mcvax!ukc!cstvax!hwcs!aimmi!gilbertReferences:
<6500005@uicsl> <29700028@uiucdcs>Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!linus!philabs!cmcl2!seismo!mcvax!ukc!cstvax!hwcs!aimmi!gilbert From: gilbert@aimmi.UUCP (Gilbert Cockton) Newsgroups: net.lang.prolog Subject: Re: Standard behavior? Message-ID: <768@aimmi.UUCP> Date: Mon, 9-Jun-86 09:39:34 EDT Article-I.D.: aimmi.768 Posted: Mon Jun 9 09:39:34 1986 Date-Received: Sat, 14-Jun-86 06:48:33 EDT References: <6500005@uicsl> <29700028@uiucdcs> Reply-To: gilbert@aimmi.UUCP (Gilbert Cockton) Organization: Heriot-Watt/Strathclyde Alvey MMI Unit, Scotland Lines: 24