🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #2733

Prolog terminology

#2733
From: Chris Moss
Date: Mon, 27 Jul 1987 10:14
154 lines
6023 bytes
We would like to encourage some discussion of standardization issues
on the net. Terminology is always a contentious issue, and so
appended here is a reprint of one of the BSI documents on terminology.
Comments please!

I suggest you post issues directly to the network, and to help the
discussion, please (1) quote only as much of the definitions as are
necessary to make your point (2) remember that definitions hang
together. Check the ramifications of your point on other definitions.
(3) be constructive, suggest replacements if possible.

Sorry for the length of this posting.
I'm going on holiday next week so won't respond immediately.
Chris Moss.

---------------------------------------------------------------------
		THE TERMINOLOGY OF PROLOG  

BSI/IST/5/15 PS/135 Edited by N D North, National Physical
Laboratory, Teddington, Middlesex, England 

NOTE - This is a working document and replaces PS/65/1. Features described
in it may well be changed or even not appear in an eventual standard.

			Introduction

This is the terminology to be adopted in standard Prolog.  The format
is modelled on that of ISO Standards Handbook 10, Data Processing -
Vocabulary.  Words and phrases that are defined in the glossary are
printed in italics when they are used in definitions (in the printed
version).  Suggestions for additions and corrections are welcomed.

			Definitions

argument	A term  which is associated with a literal  or compound
	term. 

arity	 	A non-negative integer associated with a functor or
	predicate. 

atom	One of a set of unstructured objects whose only
	property is that equality of two elements can be determined.
	NOTE - Most Prologs give an atom some structure by introducing a
	built-in predicate  which relates the atom to the sequence of
	symbols comprising its name.

body	A goal, distinguished by its context as part of a rule. 

bound	A variable is bound with respect to a substitution unless the
	substitution maps the variable to itself.

built-in predicate	A procedure  whose definition is part of the
	Prolog system.  NOTE - A built-in predicate cannot be redefined.

clause	A clause is a fact or a rule

compound term 	A functor  of arity N together with a sequence of N
	arguments. 

constant	An atom, a number, or a string. 

to consult 	To read in and store a program, executing any
	directives. 

database	The set of procedures  with respect to which resolution
	is performed.

directive 	A goal  given as input to the top level,
	interactively or in a program  being consulted.  Variable
	substitutions that are found while executing the directive are
	not output.

empty list 	A distinguished atom. Variously written
	as "[]", (), <>, nil.

fact  	A literal which is known to be true.  There is
	implicit universal quantification over any variables in the
	fact.

functor 	A functor symbol together with an arity. 

functor symbol	An atom,  associated with a functor. 

goal  	A literal, or a disjunction or conjunction of goals.

ground	A term is ground if it contains no uninstantiated
	variables. A term is ground with respect to a substitution
	if repeated application of the substitution yields a ground
	term. 

head (of a rule)	A literal, distinguished by its context.

head (of a list)	The first argument of a non-empty list. 

instantiated	A variable is instantiated with respect to
	a substitution if repeated application of the substitution
	yields a constant or a compound term. 

list 	Either the empty list  or a non-empty list. 

list constructor 	A distinguished functor, of arity
	two, used for constructing lists. Usually written as '.'

literal 	A predicate  of arity N  and a sequence of N  arguments.

most general unifier	The unique minimal substitution which
	unifies  a set of terms. 

non-empty list	A compound term  whose functor  is the list constructor
	and which has two arguments, the second of which is a list. 

number		An integer or floating point number.

predicate	A predicate symbol together with an an arity. 

predicate symbol	An atom,  associated with a predicate. 

procedure	A sequence of clauses  defining a predicate.  The
	predicate symbol and arity of all facts and heads of rules in the
	procedure are those of the predicate being defined.

program 	A sequence of clauses  and directives. 

query	A goal  given as interactive input to the top level.  Variable
	substitutions found while executing the query are output.

resolution	A method for finding a substitution which,
	when applied to a set of literals, makes their conjunction true
	with respect to a set of clauses. 

rule	Syntactically a head and a body.  Declaratively a
	statement that, if the body is true for some substitution, then
	the head is also true for that substitution. 

string	A sequence of characters.  NOTE - Strings are implemented as a
	separate data type.

substitution	A mapping from variables to terms.  By
	extension a substitution acts on a term by acting on each
	variable in the term. 

tail 	The second argument of a non-empty list. 

term	A constant, a compound term  or a variable. 

to unify 	To find a substitution which, when repeatedly applied to
	a set of terms, makes them all identical.

uninstantiated	A variable  is uninstantiated when it is not
	instantiated. 

variable	An object which can represent any term.

** End of Terminology list
Technical Details
Message-ID: <505@ivax.doc.ic.ac.uk>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!seismo!mcvax!ukc!eagle!icdoc!cdsm

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!mcvax!ukc!eagle!icdoc!cdsm
From: cdsm@doc.ic.ac.uk (Chris Moss)
Newsgroups: comp.lang.prolog
Subject: Prolog terminology
Message-ID: <505@ivax.doc.ic.ac.uk>
Date: Mon, 27-Jul-87 06:14:16 EDT
Article-I.D.: ivax.505
Posted: Mon Jul 27 06:14:16 1987
Date-Received: Thu, 30-Jul-87 07:04:00 EDT
Sender: cdsm@doc.ic.ac.uk
Reply-To: cdsm@doc.ic.ac.uk (Chris Moss)
Organization: Dept. of Computing, Imperial College, London, UK.
Lines: 154