BNR Prolog


BNR Prolog, also known as CLP, is a declarative constraint logic programming language based on relational interval arithmetic developed at Bell-Northern Research in the 1980s and 1990s. Embedding relational interval arithmetic in a logic programming language differs from other constraint logic programming
systems like CLP(R) or Prolog-III in that it does not perform any symbolic processing. BNR Prolog was the first such implementation of interval arithmetic in a logic programming language. Since the constraint propagation is performed on real interval values, it is possible to express and partially solve non-linear equations.

Example rule

The simultaneous equations:
are expressed in CLP as:

?-.

and a typical implementation's response would be:

X = _58::real,
Y = _106::real.
Yes

General references