Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!munnari.oz.au!cs.mu.oz.au!ok From: ok@cs.mu.oz.au (Richard O'Keefe) Newsgroups: comp.lang.prolog Subject: What does "extralogical" mean? Keywords: usage Message-ID: <2204@munnari.oz.au> Date: 27 Sep 89 08:04:50 GMT Sender: news@cs.mu.oz.au Lines: 49 Once upon a time I thought I knew what "extra-logical" meant in logic programming circles. I could, for example, turn to "The Art of Prolog", and find There is a class of predicates in Prolog that lie outside the logic programming model, and are called {\it extra-logical\/} predicates. These predicates achieve a side effect in the course of being satisfied as a logical goal. Sterling and Shapiro explicitly list transput commands and program manipulation commands. [I do wish people would stop talking about SIDE effects when referring to the MAIN effect of something like write/1 or assert/1.] The Sterling and Shapiro text offers two definitions, really. X is extra-logical if [definition 1] it lies outside the logic programming model or [definition 2] it has a ``side effect''. Under definition 1, I would include var/1 and anything which can be used to simulate it, such as cut, unsound negation, unsound if then else, findall/3, even perhaps compare/3 (but not NU Prolog's termCompare/3). However, Sterling & Shapiro do NOT describe these operations in their chapter on extra-logical predicates, which suggests that they may not have intended the word to apply to them. The reason that I ask is that I was stunned to find a paper which described the Mycroft/O'Keefe type system as ``extralogical''. Now, we're talking about a type system where type declarations are syntactic sugar for certain Horn clauses, and where a predicate declaration pred p(T1, ..., Tn) is interpreted as saying that p(X1, ..., Xn) :- Body is to be read declaratively as p(X1, ..., Xn) :- isa(X1, T1), ..., isa(Xn, Tn), Body. (in essence, the type checks are ``factored'' out into the declaration.) I really can't see any side effects there, nor can I see how to simulate var/1 with this stuff, nor yet does it seem to me to lie outside the logic programming model. Is there some other sense of ``extralogical'' which does apply? Did presenting the system in proof theoretic rather than model theoretic terms damn it to extralogicality? So, what DOES ``extralogical'' mean? -- GNUs are more derived than other extant alcelaphines,| Richard A. O'Keefe such as bonteboks, and show up later in the fossil | visiting Melbourne record than less highly derived species. (Eldredge) | ok@munmurra.cs.mu.OZ.au