HDTenEightyP/NetNews huggingface dataset:
From: bond@sce.carleton.ca (Greg Bond)
Newsgroups: comp.lang.prolog
Subject: Recursive program fixpoint as a term
Date: 21 Dec 92 17:35:23 GMT
Organization: Carleton University

In the discussion concerning the occurs check, two respondents
mentioned representing recursive program fixpoints as terms. Could
someone give me some references on this topic?

--
Greg Bond   ----->   bond@sce.carleton.ca  (613) 788 2600 (ext.1835)
Dept. of Systems and Computer Engineering, Carleton University
Ottawa, ON, Canada K1S 5B6
Newsgroups: comp.lang.prolog
From: micha@ecrc.de (Micha Meier)
Subject: Re: Trilogy vendor in UK or Europe?
Reply-To: micha@ecrc.de
Organization: European Computer-Industry Research Centre
Date: Wed, 30 Dec 1992 15:27:46 GMT

These stories about Complete Logic System going bankrupt and Paul Voda leaving
for Czechslovakia are bogus. Paul did indeed spend some time in Czechoslovakia,
but only to work on the new version of Trilogy (taken into account that the manpower
is much cheaper there). Since then he returned back to Vancouver where he
is finishing Trilogy now. As far as I know, he can be reached as voda@vanbc.wimsey.bc.ca, and also the CLS number in Vancouver is still valid.

--Micha

---
Micha Meier			------------------------------------------------
ECRC, Arabellastr. 17		The opinions expressed above are private
D-8000 Munich 81		and may not reflect those of my employer.
micha@ecrc.de, Tel. +49-89-92699-108, Fax  +49-89-92699-170

Newsgroups: comp.lang.prolog
From: mfuerst@news.cecer.army.mil (Michael Fuerst)
Subject: Re: Trilogy vendor in UK or Europe?
Organization: US Army Corps of Engineers Construction Engineering Research Labs
Date: Fri, 25 Dec 1992 05:40:39 GMT

cduguay@lcraft.ersys.edmonton.ab.ca (Claude Duguay) writes:

>fred@opal.cs.tu-berlin.de (Reinhard Arlt) writes:

>>Who markets Trilogy in the UK?  Or in Europe?  I rang the "Complete Logic
>>Systems" USA number listed in the resource guide, but got no reply.
>>I just want to play around with constraint solving, and can't afford CHIP.

>I can't tell you what their address is but Trilogy was developed by a
>Canadian company based in Vancouver, BC. You migth be able to get the
>number from directory assistance and information about distributors directly
>through them.

>Claude Duguay              cduguay@lcraft.ersys.edmonton.ab.ca 

TRILOGY probably doesn't exist as a product.   The original product was 
developed by a professor at University of British Columbia.  His product was 
incomplete and buggy.   He sold the rights to another company which pur out
a version called TRILOGY VS, but the partners could never make it commercially
complete, and they went broke.   One of the pricipals is now a stockbroker who 
told me that he has several hundred copies of TRILOGY VS in his basement, and 
that he had lost $50K on the venture.  The professor of course did quite well.
I had spokent ot him also.  He issued flyers announcing a new vesion of TRILOGY,but he has since went to Czechoslovakia (his home country) and has never issued
the product.   All this is quite unfortunate, because its could have been quite amazing.    However, a company called Transpower Corporation,  1 Oak Drive,
Parkerford, Pennsylvania 19457, USA puts out a similar product called Expert 
Thinker for $149.    It's written in Turbo Prolog and either assembler or C.
Their phone is 215-495-6362
From: jtauber@tartarus.uwa.edu.au (James Tauber)
Newsgroups: comp.lang.prolog
Subject: Natural Language Parsing in Prolog
Date: 21 Dec 1992 08:25:17 GMT
Organization: The University of Western Australia
NNTP-Posting-Host: tartarus.uwa.edu.au
X-Newsreader: Tin 1.1 PL5

Forgive me if this is an obvious question but I've never done any Prolog
programming before and, as I'm working at home, don't have access to any
books (so references will be useless to me). 
How do I implement a natural language parser in Prolog using a context-free
grammar?
I need my program simply to produce all possible sentence trees for a given
sentence.
I would imagine this would be simply a matter of declaring a relationship
for each re-write rule and then giving the program a sentence as a goal.
On a more complicated level, how would I implement a simple feature based
grammar to account for subject-verb agreement, etc.?

Thanks in advance

James Tauber

P.S. e-mail would be perferred. If you know of any ftp sites with parsers in
Prolog, that information would also be appreciated.

jtauber@tartarus.uwa.edu.au
























Newsgroups: comp.lang.prolog
From: torkel@sics.se (Torkel Franzen)
Subject: Re: Occurs check
Organization: Swedish Institute of Computer Science, Kista
	<TORKEL.92Dec20104928@bast.sics.se>
	<1992Dec21.153147.26177@cs.brown.edu>
	<1h7bnlINN5es@eagle.dfki.uni-sb.de>
Date: Tue, 22 Dec 1992 16:07:11 GMT

In article <1h7bnlINN5es@eagle.dfki.uni-sb.de> smolka@dfki.uni-sb.de
 (Gert Smolka) writes:

   >This is the perfect answer with respect to
   >rational trees (there is exactly one X such that X=f(X)).

  Yes, but the point made by Mark Johnson was that Prolog does not return
as an answer the conjunction C(X)&C'(Y) for which C(X)&C'(Y)->p(X) follows
logically from program, but instead returns C(X), which is a simplified form
of C(X)&C'(Y), equivalent to EY(C(X)&C'(Y)) only in the constraint theory.
From: smolka@dfki.uni-sb.de (Gert Smolka)
Newsgroups: comp.lang.prolog
Subject: Re: Occurs check
Date: 22 Dec 1992 16:20:21 +0100
Organization: DFKI - German Research Center for AI
Distribution: world
NNTP-Posting-Host: gs-serv1.dfki.uni-sb.de

In article <1992Dec21.153147.26177@cs.brown.edu>, 
mj@cs.brown.edu (Mark Johnson) writes:
|> This is a nice way of viewing things, but I don't know any Prolog that
|> gives you all of the constraints C.  Consider the following program:
|> 
|> 	p(a) :- q(X,X).
|> 
|> 	q(Y, f(Y)).
|> 
|> One the query p(X), Sicstus returns the following:
|> 
|> | ?- p(X).
|> 
|> X = a ? ;
|> 
|> no

This is the perfect answer with respect to
rational trees (there is exactly one X such that X=f(X)).

|> | ?- q(X,X).
|> 
|> X = f(f(f(f(f(f(f(f(f(f(f(f(f(f ...

Again, the right answer (maybe, some depth limit
in printing things would be nice).

|> That is, sicstus only returns constraints related to variables appearing
|> the goal.  But the constraints that only have cyclic solutions may be
|> associated with other variables.

Sure, but this is how it has to be, isn't it?

By the way, a recent paper of Ralf Treinen and myself in the
Proceedings of JICSLP'92 gives an in-depth study of incremental
decision methods for satisfiability, entailment and negation for
rational trees (actually, a proper generalization of Colmerauer's
rational tree system also accommodating features).  The full paper
describes an abstract machine (WAM-like) providing for an
efficient incremental implementation of the decision methods.

Both papers can be obtained by anonymous ftp from
duck.dfki.uni-sb.de (134.96.188.92) from the directory pub/papers.

@inproceedings{CFT-JICLP92,
   editor = 	"K. Apt",
   author =     "Gert Smolka and Ralf Treinen",
   title =      "Records for Logic Programming",
   booktitle =  "Proceedings of the 1992 Joint International Conference and
                 Symposium on Logic Programming",
   year = 	"1992",
   publisher = 	"The MIT Press",
   address = 	"Cambridge, Mass."
}

@TechReport{ST:cft92rep,
author	= "Gert Smolka and Ralf Treinen",
title	= "Records for Logic Programming",
institution = "German Research Center for Artificial Intelligence (DFKI)",
year	= 1992,
type	= "Research Report",
number	= "RR-92-23",
address	= {Stuhlsatzenhausweg 3, 6600 Saarbr\"ucken 11, Germany}
}

***********
Gert Smolka, DFKI, Stuhlsatzenhausweg 3, D-W-6600 Saarbr"ucken, Germany
Tel: +49 681 302-5311;  Fax: +49 681 302-5341; Net: smolka@dfki.uni-sb.de
From: musa@wsuaix.csc.wsu.edu (Jafar Musa - Business Faculty)
Newsgroups: comp.lang.prolog
Subject: sbprolog help
Date: 22 Dec 92 22:32:46 GMT
Article-I.D.: serval.1992Dec22.223246.19291
Organization: Washington State University
Originator: musa@wsuaix.csc.wsu.edu



Hello there, 
the first message got cut.

I am trying to run sbprolog, on AIX
consult(filename). 	doesnot recognize filename in the current directory.
see(filename). 		recognizes filename in the current directory.

I am trying my best to understand the manual by saumya Debray from the U of AZ.
Is there a better tutorial some where.

Any help is greatly appreciated

Musa Jafar
Washington State Univ.
Newsgroups: comp.lang.prolog
From: dumant@prl.dec.com (Bruno Dumant)
Subject: Re: Occurs check
Organization: Digital Equipment Corporation - Paris Research Laboratory
Date: Mon, 21 Dec 1992 10:48:02 GMT


 Saumya Debray writes:
 > 
 > Fernando Pereira writes:
 > > Nonetheless, the efficiency reasons that led to Prolog's
 > > unification not having the check are pretty compelling, so I do not advocate
 > > adding it to Prolog in all cases. 
 > 
 > While I believe this statement, it would be interesting to actually see some
 > numbers (preferably for programs other than nrev) showing how much more
 > expensive unification becomes with the occurs check.  Do the implementors
 > of Sepia, NU-Prolog, and other systems that provide both kinds of
 > unification have any numbers they'd care to post?

 Some benchmarks were published in a paper presenting an architecture design of
 a RISC processor for Prolog, in which the occur-check is always performed if
 necessary. They use the WAM, and take advantage of the fact that only
 get_value instructions really need to call the occur-check routine. According
 to their results, 5 % of the time is spent performing the occur-check... It's
 not that much !! Their benchmark programs include quite large programs, up to
 5600 lines. 

 With some analysis (even a simple groundness analysis can be useful, but there
 are also some more sophisticated analysis schemes), I'm sure that on most
 programs, the overhead of the occur-check on a compiled Prolog can be negligible.


 Reference:

 @inproceedings{ DRSW-89,
       author = "Peter Dreussen and Wolfgang Rosentiel and Klaus Erik Schauser and
                 J{\"{o}}rg Wedeck",
       Title  = "{Architecture Design of a RISC Processor for Prolog}", 
       Booktitle = "Euromicro 89",
       Year      =  1989 }

 
 B. Dumant
Newsgroups: comp.lang.prolog
From: ridoux@irisa.fr (Olivier Ridoux)
Subject: Rational terms (was: Occurs check)
Organization: IRISA, Rennes (Fr)
Date: Tue, 22 Dec 92 16:52:37 GMT

> |> | ?- q(X,X).
> |> 
> |> X = f(f(f(f(f(f(f(f(f(f(f(f(f(f ...
> 
> Again, the right answer (maybe, some depth limit
> in printing things would be nice).

Am I right to conclude that SICStus has an internal representation for
rational terms but no external representation?  I.e. SICStus can
compute with rational terms but cannot read them or print them, and
probably cannot assert clauses with rational terms.

If I remember well, PrologII had an external syntax, but not the
corresponding term-reader.  I.e. PrologII could compute with rational
terms and print them, but could not read them nor assert clauses with
rational terms.

Olivier Ridoux

Newsgroups: comp.lang.prolog
From: smolka@dfki.uni-sb.de (Gert Smolka)
Newsgroups: comp.lang.prolog
Subject: Re: Occurs check
Date: 21 Dec 1992 14:17:49 +0100
Organization: DFKI - German Research Center for AI
Distribution: world
NNTP-Posting-Host: gs-serv1.dfki.uni-sb.de

In article <24435@alice.att.com>,
pereira@alice.att.com (Fernando Pereira) writes:
|> If you want to program with cyclic terms, you have gone outside
|> bare first-order logic to a system in which terms are interpreted
|> in a different way. The theoretical framework and practical value
|> of that alternative were established with the Prolog II work at Marseille,
|> and there's certainly a sound way of thinking about Prolog with cyclic
|> terms. However, as far as I know there is no free lunch. Sound and
|> terminating unification of cyclic terms can be more costly than
|> unsound Prolog unification.

I seriously doubt that rational tree unification pays any significant
efficiency penalties in practise over Edinburgh-style unification
without occurs check.  As has been mentioned by Torkel before,
UNIFICATION IN SICSTUS IS RATIONAL TREE UNIFICATION, and Sicstus seems
to be rather efficient.

Isn't it strange that the forthcoming Prolog standard will explicitly
accept implementations of unification that may not terminate on certain
terms.  I certainly understand that finite tree unifications is needed
for some interesting applications.  However, given the efficiency and
the clean *logical* status of rational tree unification, I would expect
that rational tree unification is taken as default and finite tree
unification is accommodated as a built-in predicate.

By the way, was it Edinburgh or Marseille which first dropped
the occurs check?

-- 
Gert Smolka, DFKI, Stuhlsatzenhausweg 3, D-W-6600 Saarbr"ucken, Germany
Tel: +49 681 302-5311;  Fax: +49 681 302-5341; Net: smolka@dfki.uni-sb.de

Newsgroups: comp.lang.prolog
From: sshankar@myria.cs.umn.edu (Subash Shankar)
Subject: Graphs in Prolog
Organization: University of Minnesota, Minneapolis, CSci dept.
Date: Sun, 27 Dec 1992 02:47:32 GMT


I am looking for an efficient implementation of a graph data structure
(with typical graph traversal and search operations) in Prolog.  Does 
anybody know of any such code?  Thanks

--
Subash Shankar
sshankar@umn-cs.cs.umn.edu
Xref: sparky comp.lang.prolog:2312 comp.lang.lisp:3160
From: finin@cs.umbc.edu (Timothy Finin)
Newsgroups: comp.lang.prolog,comp.lang.lisp
Subject: 9th IEEE Conference on AI for Applications (CAIA-93) program
Date: 3 Jan 1993 10:51:17 -0500
Organization: Computer Science, University of Maryland Baltimore County
Distribution: world
NNTP-Posting-Host: algol.cs.umbc.edu
Summary: send email to caia@cs.umbc.edu to get program
Keywords: CAIA, Applied AI, Conference

The preliminary advance program and registration information for CAIA-93
(the 9th IEEE Conference on Artificial Intelligence for Applications) is
now available.  The conference will be held March 1-5, 1993 at the Disney
Yacht & Beach Club Resort Hotel in Orlando, Florida, USA.  To receive an
automatic response with the advance program and registration information
by email, send an email message to CAIA@CS.UMBC.EDU.

For eight consecutive years, the IEEE Computer Society's Conference on
Artificial Intelligence for Applications has provided an international
forum for the exchange of ideas, techniques, and experiences in the
application of AI to real-world problems. During this time, CAIA has
established itself as a key conference for business and technical people
who want to keep up on the fast-changing word of commercial AI.  This
year, the ninth annual CAIA will continue that tradition by providing a
provocative mix of introductory, intermediate and advanced talks,
tutorials, workshops, and panels.  The plenary talks will be given by
Patrick H. Winston (MIT) on Database Mining, Wendy Lehnert (UMASS) on
"Portability and Scalability for Information Extraction Systems" and Frank
Mayadas (Alfred T. Sloan Foundation) on "Computer Technology Outlook and
Applications"

CAIA-93 will be held at the Disney Yacht & Beach Club Resort Hotel, a
world class hotel on the Disney property.  Due to some special
circumstances, we have obtained exceptionally good rates.

For registration or general information, contact: CAIA '93 Registration,
IEEE Computer Society, 1730 Mass. Ave., N.W., Washington, DC 20036-1992
Voice: 202-371-1013; Fax: 202-728-0884, email: j.harward@compmail.com.




Newsgroups: comp.lang.prolog
From: house@helios.usq.EDU.AU (ron house)
Subject: TEST (PLEASE IGNORE) (RH)
Organization: University of Southern Queensland
Date: Wed, 16 Dec 1992 02:29:23 GMT

Testing...

--

Ron House.                 USQ
(house@helios.usq.edu.au)  Toowoomba, Australia.
From: mmh@dcs.qmw.ac.uk (Matthew Huntbach)
Newsgroups: comp.lang.prolog
Subject: Re: Occurs check
Date: 21 Dec 92 09:33:51 GMT
Organization: Computer Science Dept, QMW, University of London, UK.

In article <1992Dec18.190711.1063@quintus.com> ludemann@quintus.com (Peter Ludemann) writes:
>Without the occurs check, "infinite" or "rational" terms can be produced.
>I've seen one practical use for them, for representing the fixpoint
>of a recursive program as a term.  No doubt, there are other uses.
>
Yes, that's one of the things I use them for. I'm working on a
partial evaluator which allows for infinite terms, and
partially eveluates them away to produce recursive logic
programs.

Matthew Huntbach
From: arindam@cs.uwindsor.ca (Arindam Das)
Newsgroups: comp.lang.prolog
Subject: same predicate in different files ?
Keywords: Quintus Prolog, predicate/same arity, different files
Date: 22 Dec 1992 20:48:53 GMT

Hi netters,


Is it possible in Quintus Prolog to define same predicate (of same arity) in
more than one file and consult them together ?

Suppose I have a rule 

        tree(A1, A2):-
              A1 = branch,
              A2 = branch.

      in file1.pl and file2.pl which have been developed separately
by different persons. Now I want to consult both files together since
they are parts of the same program. HOW COULD I DO THAT ?


Hint of any form is appreciated.


Thanx in advance.

-arindam
-- 
Arindam Das                            email: arindam@CS.Uwindsor.Ca
Dept. of Comp. Sci.                           ph# (519)253-4232Ext 3003/3007
U. of Windsor, Ont, Canada             
Newsgroups: comp.lang.prolog
From: torkel@sics.se (Torkel Franzen)
Subject: Re: Occurs check
Organization: Swedish Institute of Computer Science, Kista
	<TORKEL.92Dec20104928@bast.sics.se>
	<1992Dec21.153147.26177@cs.brown.edu>
Date: Mon, 21 Dec 1992 16:54:40 GMT

In article <1992Dec21.153147.26177@cs.brown.edu> mj@cs.brown.edu 
(Mark Johnson) writes:

   >This is a nice way of viewing things, but I don't know any Prolog that
   >gives you all of the constraints C.  Consider the following program:
   >p(a) :- q(X,X).
   >q(Y, f(Y)).
    ....
   >That is, sicstus only returns constraints related to variables appearing
   >the goal.  But the constraints that only have cyclic solutions may be
   >associated with other variables.

  True; but this standard behavior can be understood from the point of view
of the model.  In the theoretical model, your clauses have a canonical
form

          p(X) :- X=a,q(Y,Y).
          q(X,Y) :- Y=f(X).

and the Prolog execution ends with a goal X=a,Y=f(Y). Since this is a
conjunction of constraints, there is nothing more for the resolution
mechanism to do, and the constraint solver decides whether this is a
solution to be presented to the user. Now, it's a difficult task in
general for the constraint solver to massage a solution into a
perspicuous human-readable form. In the present implementation of
Prolog, in effect, a solution of the form C(X)&C'(Y) to a query
A(X) is reduced to a simpler equivalent form C(X) - equivalent, that
is, in the sense that EY(C(X)&C'(Y)) is equivalent in the constraint
system to C(X). This, of course, is a good thing if the system doesn't
have routines to handle the printing of C'(Y)...

  However, your example doesn't have anything to do with circular terms
in particular. You might as well define q by the clause q(b,b).
From: cduguay@lcraft.ersys.edmonton.ab.ca (Claude Duguay)
Newsgroups: comp.lang.prolog
Subject: Re: Help: overlays in Turbo-Prolog 2.0
Date: Mon, 21 Dec 92 07:09:41 MST
Organization: LogiCraft Corp, Edmonton, AB, Canada

vpa@jvd.simbirsk.su (Pavel A. Winogradov) writes:

> Hi, everyone!
> 
> Please, help me.
> I'm programming Turbo-Prolog 2.0. How i may building overlays in there?
> May be exist overlay-linker then can do it for Turbo-Prolog 2.0 ?
> 
> Thank's.
> --
> Pavel A. Winogradov,<vpa@jvd.simbirsk.su>,Ulyanovsk,Russia
> 

Turbo Prolog was originally developed by the Prolog Development Center in
Denmark and they had an Advanded Users Guide that shows examples of how
you can overlay Turbo Prolog programs with PLINK86. Development has been
taken over by PDC and Turbo Prolog is now PDC Prolog. The new compilers are
source code compatible and up to version 3.3 now. You may want to investigate
this avenue and find out more about what products they offer and what options
are available for overlay linking.

In Denmark, call PDC at +45 36 72 10 22

In USA, call (404) 873-1366

Claude Duguay              cduguay@lcraft.ersys.edmonton.ab.ca 
Newsgroups: comp.lang.prolog
From: mj@cs.brown.edu (Mark Johnson)
Subject: Re: Occurs check
Organization: Brown University Department of Computer Science
Date: Mon, 21 Dec 1992 19:56:46 GMT

In article <TORKEL.92Dec21175440@bast.sics.se> torkel@sics.se (Torkel Franzen) writes:
>(Mark Johnson) writes:
>
>   >This is a nice way of viewing things, but I don't know any Prolog that
>   >gives you all of the constraints C.  Consider the following program:
>   >p(a) :- q(X,X).
>   >q(Y, f(Y)).
>    ....
>   >That is, sicstus only returns constraints related to variables appearing
>   >the goal.  But the constraints that only have cyclic solutions may be
>   >associated with other variables.
...
>  However, your example doesn't have anything to do with circular terms
>in particular. You might as well define q by the clause q(b,b).

Only that the constraints that q introduces, viz. X=f(X),
are not satisfiable wrt the standard equality theory.
The answer Sicstus prolog returns gives the user no indication
of this.  BTW, I don't think this is a problem with Sicstus, only
that it doesn't solve all the problems involved with cyclic solutions.

Mark

P.S.  I'm interested in this approach.  I know of work by 
Hoefeld and Smolka ``Definite Relations over Constraint Languages'',
and Chen and D.S. Warren ``C-Logic of Complex Objects'' and
``Abductive Logic Programming'' that describe the decomposition
into a relational and constraint components. Any other pointers
to relevant literature?


Mark Johnson
Cognitive Science, Box 1978
Brown University
From: torkel@sics.se (Torkel Franzen)
Newsgroups: comp.lang.prolog
Subject: Re: Occurs check
Date: 21 Dec 92 18:11:38 GMT
	<TORKEL.92Dec20104928@bast.sics.se>
	<1992Dec21.153147.26177@cs.brown.edu>
	<TORKEL.92Dec21175440@bast.sics.se>
Organization: Swedish Institute of Computer Science, Kista


  I wrote:

   >However, your example doesn't have anything to do with circular terms
   >in particular. You might as well define q by the clause q(b,b).

  A clarification: if we take "logical consequence of the program" in
my original formulation to mean consequence in predicate logic with
identity, then q(b,b) cannot be used in the example. (I prefer to formulate
the soundness property in predicate logic without identity.) However,
q might be defined say by q(X,Y) :- X=Y*Y with constraints over the real
numbers.
From: musa@wsuaix.csc.wsu.edu (Jafar Musa - Business Faculty)
Newsgroups: comp.lang.prolog
Subject: sbprolog help
Keywords: sbprolog
Date: 22 Dec 92 22:24:59 GMT
Article-I.D.: serval.1992Dec22.222459.19069
Organization: Washington State University
Originator: musa@wsuaix.csc.wsu.edu

Any idea what I am doing wrong?
I am reading the user manual edited by Saumya Debray U. of AZ).
I could not figer out what is wrong.

ANy help is greatly appreciate.

Musa Jafar
Washington State Univ.
.
Newsgroups: comp.lang.prolog