You need a java-enabled web brower to run the applet.

IAsolver 0.1beta1


the Brandeis Interval Arithmetic Constraint Solver

Please send any bug reports to You need a java-enabled web brower to run the applet. Rated Top 5% WebApplet by JARS

Featured Applet for the week of 15-22 August 1997 in the Gamelan Java Archive

Source Code is now Available

The source code for IAsolver is available for browsing in this directory, or you can download this gzipped tar file (414K) directly. This source code is being released as three libraries: ia_math, ia_parser, and ia_solver. All of these are currently being distributed using the GNU LGPL copyleft for libraries.


This applet has reportedly run successfully on the following configurations:

There have been some reports of problems under some Microsoft operating systems and browsers, but I have't had any detailed bug reports yet. If you do have a problem, I would greatly appreciate it if you could send me email at describing the machine, browser, operating system and problem, and I'll post it here and try to work on it. Thanks.

Please be patient. It may take a few minutes to download this applet over the net. You can read the instructions and examples below while waiting for it to load!


When the applet has been fully loaded onto your machine, a button labelled Show IAsolver will appear at the top left of this page. Pushing this button will open a new window on which you can enter and solve systems of arithmetic constraints using narrowing. If there are two or more variables in the constraint set, then you can use the Interval Arithmetic plotting feature to simultaneously view one or more projections of the solution set.

The main window of the solver contains an area for entering constraints, an area for viewing the current bounds on the variables, and several control buttons, as shown below:


Examples of allowable constraints

The constraints must each end with a semicolon and are constructed from variable names and simple decimal numbers using the standard operators listed below. Some examples of valid constraints are:


A Constraint is one of the following relations, where A,B are expressions: A=B, A<B, A>B, A!=B, A<=B, A>=B, V:=E The last is the assignment operator. It evaluates E using interval arithmetic, and binds the resulting interval to the variable V. The allowable expressions are defined below:

Commercial Interval Arithmetic Constraint Systems

If you need a more powerful interval arithmetic constraint solver you may be interested in the ALS Prolog implementation of CLP(BNR) which combines a powerful (and efficient) interval arithmetic constraint solver with a high quality Prolog compiler and it runs on almost every platform.

Cautions and Provisos

This software is experimental and you should use at your own risk. In particular, the current version is NOT sound since it relies on Java's underlying math library which is not proven to be accurate to the last bit. Please send any bug reports, suggestions, or comments to

The development of this applet was partially supported by NSF grant CCR-9403427.