constraint satisfaction programming

Quote:

>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