🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.prolog
Article #2738

Re: Prolog terminology

#2738
From: Harald Sondergaard
Date: Fri, 31 Jul 1987 07:23
69 lines
4298 bytes
Terminology is certainly an important issue and it is true that we could
need some clarification. The attempt by Chris Moss to start a discussion
is thus praiseworthy. In fact it is guaranteed to succeed since the draft
posted is sufficiently vague to create a heated debate.
     It seems that the attempt is premature. If a group is working on this
under the auspices of BSI, one would expect that it would like to put off
a presentation of its work to a wider audience until the draft was found
reasonably well-balanced, coherent and finished.
     A rationale and a statement of purpose would seem to be minimal
requirements for debaters. Who are the addressees of this standard? Prolog
novices? Researchers in programming languages? I would like to be more
constructive, but without a rationale it is a bit difficult. Following are
some more or less specific comments to the draft:

General
-------
Basically, much more precision is needed. As it stands, "Definitions" is
a grossly misleading heading. Also, well established term from logic
programming should be adopted. Lloyd's book by now serves more or less as
a standard, and it would be nice if there were to be no conflicts between
this book and the BSI draft [Lloyd 1984]. In particular, "atom" should be
given the meaning of "atomic formula". (Note that a second edition of
Lloyd's book is due to appear this year, and there are some changes in
terminology as compared to the first edition).

Substitutions
-------------
The idea of substitutions being mappings is fine, but note that this is
not in agreement with [Lloyd 1984]. In any case, the fact that substitutions
(apparently) are not assumed to be idempotent causes all kinds of problems.
For instance, is the continual "repeated application" of a substitution
supposed to terminate? Or does {x/f(x)} unify {x,f(x)} ("to unify")? On a
conceptual level, all substitutions generated by unification are idempotent
so why not use the fact to simplify definitions? (Admittedly the set of
idempotent substitutions is not closed under composition, but this never
causes problems for Prolog semantics). It is not stated what is meant by a
minimal substitution ("most general unifier"), and the reader may wonder
what a minimal mapping is. Indeed, if one allows for the lack of idem-
potence, there is no "unique minimal substitution" (under the ordering
we normally assume for substitutions). And in the general case, uniqueness
only holds modulo consistent renaming of variables.
     The authors of course know this well, but they should keep in mind
that readers probably do not.

Issues of reference
-------------------
It is suggested that matters of syntax and of semantics are more carefully
distinguished. It is unclear what it means for a literal (a syntactic
entity) to be "known to be true" ("fact"). Or what it means to "define a
predicate" which is in turn explained as an atom and a natural number
("procedure"). Indeed, the notion of "truth" is never clarified. A good
device for emphasizing the difference between phrases in the language
and what they denote is the term "expression". For instance it would be
more natural to say that nil is a list expression that can denote any
empty list, rather than define lists to be purely syntactic objects.

Miscellaneous
-------------
In the definition of a ground term, "uninstantiated" should be dropped.
It is not clear what "top level" means. Is a "variable substitution"
anything but a substitution ("query")? To "consult" does not sound
natural for reading and storing.

[Lloyd 1984]
Lloyd, John W., Foundations of Logic Programming, Springer-Verlag 1984

Harald Sondergaard
University of Copenhagen
Technical Details
Message-ID: <1764@munnari.oz>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!munnari!harald
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!munnari!harald
From: harald@munnari.oz (Harald Sondergaard)
Newsgroups: comp.lang.prolog
Subject: Re: Prolog terminology
Message-ID: <1764@munnari.oz>
Date: Fri, 31-Jul-87 03:23:04 EDT
Article-I.D.: munnari.1764
Posted: Fri Jul 31 03:23:04 1987
Date-Received: Sun, 2-Aug-87 01:27:17 EDT
References: <505@ivax.doc.ic.ac.uk>
Organization: Comp Sci, Melbourne Uni, Australia
Lines: 69
Summary: This discussion seems premature. Anyway, here are some comments