Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: 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 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