Article View: comp.lang.misc
Article #5195Re: constraint satisfaction programming
From: Paul Voda
Date: Tue, 01 Mar 1988 05:09
Date: Tue, 01 Mar 1988 05:09
74 lines
3230 bytes
3230 bytes
In article <5070@pyr.gatech.EDU> parvis@pyr.gatech.EDU (FULLNAME) writes:
>
>I'm looking for some interesting research in the topic of constraint logic
>programming or constraint satisfaction programming. ...
Trilogy is a logic programming language with constraints:
In the domain of integers Trilogy solves arbitrary linear forms
(Diophantine systems). For instance the query:
x >= 0 & y >= 0 & 6*x + 8*y = 46
will solve without any backtracks to
x = 5 y = 2 and x = 1 y = 5
Linear forms can can be combined into formulas involving ands, ors and
existential quantifiers. Trilogy simplifies arbitrary such formulas. In other
words, Trilogy implements the full decision procedure for the Presburger
arithmetic.
Trilogy contains arrays. In this domain it solves constraints of
the form
a(i) = v
where an unknown (logical) array a is constrained in an unknown point i
to the unknown value v. For instance the query
a::[0..2]->[4..6] & a(0) < a(i) & a(i) < a(2)
where a is a logical array of three elements with the values constrained to
the interval [4..6] will solve without any backtracks to
a = [4,5,6] & i = 1
See also the article 538 for the solution of the Triangle Puzzle in Trilogy.
This contribution discusses a declarative technique which eliminates
most of the uses of the "var" predicate of Prolog.
The March issue of the Byte magazine contains a review of Trilogy.
You can read there more about the language which integrates
logic programming with procedural and data-base programming while
remaining within the first order logic (that's why the name Trilogy:
three languages within logic) Trilogy does not contain a
single extralogical feature.
You can also obtain from me two papers of mine on Trilogy:
The Constraint Language Trilogy: Semantics and Computations
and
Types of Trilogy
The papers discuss the logic foundations of computations and the types of
Trilogy.
The Byte review is admittedly, quite terse. Moreover, the reviewer
criticized Trilogy for certain shortcomings when his programs
were incorrectly programmed (for instance the Tower of Hanoi). But overall,
the review is quite good considering the fact that the author never
encountered another constraint language since Trilogy is the first
commercially available logic language with constraints.
Trilogy, which sells for $99.95 (US), was developed
for the IBM-PCs and compatibles by
Complete Logic Systems Inc.
741 Blueridge Ave.
N. Vancouver, BC
Canada V7R2J5
ph: (604) 986-3234
Technical Details
Message-ID:
<1866@ubc-cs.UUCP>Path:
arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!uw-beaver!ubc-vision!ubc-cs!vodaReferences:
<5070@pyr.gatech.EDU>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!mnetor!uunet!lll-winken!lll-lcc!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!mit-eddie!uw-beaver!ubc-vision!ubc-cs!voda From: voda@ubc-cs.UUCP (Paul Voda) Newsgroups: comp.lang.misc,comp.lang.prolog Subject: Re: constraint satisfaction programming Message-ID: <1866@ubc-cs.UUCP> Date: 1 Mar 88 05:09:25 GMT References: <5070@pyr.gatech.EDU> Sender: nobody@ubc-cs.UUCP Reply-To: voda@ubc-cs.UUCP (Paul Voda) Organization: UBC Department of Computer Science, Vancouver, B.C., Canada Lines: 73 Keywords: Trilogy, constraint satisfaction, logic programming Summary: Constraint logic language Trilogy