JSetL Home Page
What is JSetL

JSetL is a Java library that combines the object-oriented programming paradigm of Java with valuable concepts of CLP languages, such as logical variables, lists, unification, constraint solving, nondeterminism. The library  provides also sets and set constraints like those found  in CLP(SET) (see here). Unification may involve logical variables, as well as list and set objects ("set unification"). Constraints concern basic set-theoretical operations (e.g., membership, union, intersection, etc.), as well as equality, inequality and integer comparison operations. Set constraints are solved using a complete solver that accounts for partially specified sets (i.e., sets containing unknown elements). Equality, inequality and comparison constraints on integers are dealt with as Finite-Domain Constraints.

JSetL has been developed at the Department of Mathematics of the University of Parma (Italy). It is completely written in Java. The full Java code of the JSetL library, along with sample programs and related documents, is available at this page. The library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License.

The latest releases of JSetL have been partially supported by the GNCS project 2012 "Specifiche insiemistiche eseguibili e loro verifica formale".

Here you can find ...

Using JSetL
Current release
Other documentation

Using JSetL

The library is carried out as a Java package. The classes of the library must be saved into a folder named JSetL. To use JSetL in a program it is necessary to import the library by inserting the statement: import JSetL.*; at the beginning of the source file. JSetL must be a sub-folder of the folder in which the classes that import JSetL are saved. Otherwise, the path from root to the library folder must be added to the variable CLASSPATH.
Current releases

Other Documentation