🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.lang.prolog
Article #682

Re: Standard behavior?

#682
From: Gilbert Cockton
Date: Mon, 09 Jun 1986 13:39
24 lines
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!gilbert
References: <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