🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #2735

Re: Prolog terminology

#2735
From: Saumya Debray
Date: Thu, 30 Jul 1987 15:35
50 lines
2844 bytes
In article <505@ivax.doc.ic.ac.uk>, cdsm@doc.ic.ac.uk (Chris Moss) writes:
> We would like to encourage some discussion of standardization issues
> on the net. [...] This is the terminology to be adopted in standard Prolog.
----------
> argument	A term  which is associated with a literal  or compound
> 	term.

"associated" seems rather vague here.  E.g. I'd argue that if T2 is
a subterm of T1, then T1 is associated with T2 just as much as T2 is
associated with T1.  I'd rather say something like "if p is an n-ary
predicate symbol and L = p(t1, ..., tn) a literal, then the terms
t1, ..., tn are the arguments to L; if f is an n-ary function symbol ..."
----------
> atom	One of a set of unstructured objects whose only
> 	property is that equality of two elements can be determined.

Prolog's usage of the term "atom" has often bothered me, because standard
texts on logic typically define an atom to be a literal p(t1,..., tn).
I'd prefer to have Prolog's usage of "atom" replaced by "constant" (i.e.
0-ary function symbol).  That would also do away with any need to
explain what it means for an object to be "structured".  (Of course,
given established Prolog usage, I expect the atomic ambiguity will
live on!)
----------
> built-in predicate	A procedure  whose definition is part of the
> 	Prolog system.  NOTE - A built-in predicate cannot be redefined.
			^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
I have trouble with this one: surely this depends on the implementation?
E.g. in SB-Prolog, most built-in predicates *can* be redefined.

Also, what does it mean to be "part of the Prolog system"?  Do libraries
count?
----------
> goal  	A literal, or a disjunction or conjunction of goals.

There should be some provision for negation.
----------
> substitution	A mapping from variables to terms.  By
> 	extension a substitution acts on a term by acting on each
> 	variable in the term. 

I like my substitutions idempotent, i.e. "fully dereferenced", but
this might be a matter of taste.  It does simplify things elsewhere,
though: "repeated applications" of substitutions become unnecessary.
----------
-- 
Saumya Debray		CS Department, University of Arizona, Tucson

     internet:   debray@arizona.edu
     uucp:       {allegra, cmcl2, ihnp4} !arizona!debray
Technical Details
Message-ID: <1839@megaron.arizona.edu>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!rutgers!sunybcs!boulder!hao!noao!arizona!debray
References: <505@ivax.doc.ic.ac.uk>

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!rutgers!sunybcs!boulder!hao!noao!arizona!debray
From: debray@arizona.edu (Saumya Debray)
Newsgroups: comp.lang.prolog
Subject: Re: Prolog terminology
Message-ID: <1839@megaron.arizona.edu>
Date: Thu, 30-Jul-87 11:35:05 EDT
Article-I.D.: megaron.1839
Posted: Thu Jul 30 11:35:05 1987
Date-Received: Sat, 1-Aug-87 10:27:32 EDT
References: <505@ivax.doc.ic.ac.uk>
Organization: U of Arizona CS Dept, Tucson
Lines: 50