We have applied the new constraint-logic-programming (CLP) language PrologIII to the real, complex problem of devising chemical reaction-pathway hypotheses. The problem statement is organized as a set of informal premises that acceptable hypotheses must fulfill, including two key premises that specify the numbers of reaction steps and chemical species to be allowed in a pathway. Our approach to the problem involves formalizing these diverse premises as boolean, numerical, and other PrologIII constraint types.

The resulting program is a clear improvement in terms of scope and flexibility on its immediate predecessor developed in a procedural language. The program is part of ongoing research, since automation of the chemistry problem has not previously been realized.

Our application has involved in a natural way constraints of both boolean and numerical character; previous reported CLP applications have exploited only one or the other language ability. The current program illustrates how the combination of such constraints can be achieved. Our result also constitutes evidence that the wholly separate processing of boolean and numerical constraints in PrologIII is not an important obstacle to the solution of tasks presenting both aspects.

From our experience we extract some observations on PrologIII and CLP applications programming, with emphasis on factors that increase program efficiency.

full paper