Display program code

interval.pl : Interval domains over integer and real
Reasoning about real and integer intervals is provided including intersection, addition, multiplication, comparison and labelling.

How to use:
For unbound variables X, Y and Z and evaluable (i.e. ground) arithmetic expressions (or numbers) A and B the following constraints are supported:
- X::A:B X is between numbers A and B, inclusively (X element of [A,B])
- X le Y X is smaller or equal Y (X =< Y)
- X eq Y X is equal Y (X = Y)
- X ne Y X is not equal Y (X \= Y)
- add(X,Y,Z) X + Y = Z
- mult(X,Y,Z) X * Y = Z
- int(X) X is an integer
- bool(X) X is boolean (0 or 1)
- split0(X) for X::A:B (A<0<B) cases X::A:0 and X::0:B are distinguished
- split(X) for X::A:B cases X::A:M and X::M:B (M=(A+B)/2) are discerned
- label(X) split(X) is applied repeatedly until interval is too small

Program: Change the code, then submit!

Console: Enter query or select example from below, then submit and wait for answer!

Select example query: 

CHR
WebCHR help - CHR Website - (c) Copyrights Martin Kaeser Uni Ulm 2007