IC's real constraints perform bounds propagation in the same way as the integer versions; indeed, most of the basic integer constraints are transformed into their real counterparts, plus a declaration of the integrality of the variables appearing in the constraint.
- Real variables may be declared using reals/1, $::/2, ::/2 (specifying non-integer bounds) or just by using them in an IC constraint
- Basic constraints available for real variables are $=/2, $>=/2, $=</2, $>/2, $</2 and $\=/2 as well as their reified versions and the reified connectives
- Real constraints also work with integer variables and a mix of integer and real variables
- Solutions to real constraints can be found using locate/2, locate/3, locate/4 or squash/3
Figure 9.3: Real variables and constraints