Differences between revisions 90 and 91
Revision 90 as of 2011-07-13 17:00:31
Size: 8655
Revision 91 as of 2018-01-16 14:27:18
Size: 8684
Deletions are marked like this. Additions are marked like this.
Line 17: Line 17:
 * [[mailto:cozza{NOSPAM-at-NOSPAM}mat.unical.it|Susanna Cozza]]  * [[mailto:cozza@mat.unical.it|Susanna Cozza]]
Line 20: Line 20:
 * [[mailto:perri@mat.unical.it|Simona Perri]]

DLV-Complex: The Project

DLV-Complex is an Answer Set Programming System extending DLV by means of functions. It is a very powerful ASP system supporting (recursive) functions, sets, and lists, along with libraries for their manipulations. DLV-Complex is based on the DLV system and on the DLV-EX framework, from which it inherits the possibility of defining external predicates.

Top of Page

The Team

Top of Page


DLV-Complex is actively developed. To receive notifications about new releases and other important events regarding DLV-Complex, just have a look at this page, or drop us a note here.

Please always use the most current version of DLV-Complex (cf. version history).

Latest Version

Standard Version

We currently provide a command-line version in binary form for Linux, Windows 95/98/NT/2000/XP/Vista and Mac OS.

Static Version

We offer also a statically linked executable (currently only linux and windows versions), that includes list and set manipulation libraries. This version do not need any pre-installed dynamic library on your system; in addition, it is self-contained, meaning that you do not need to download any library (such as those below) in order to enjoy full lists and set support. It is ready-to-use. :) Nevertheless, this version do not support external predicates/libraries (see DLV-EX page).

Latest Libraries

  • List-And-Set library is needed in order to exploit built-in manipulation functions/predicates for list and set terms, unless you use a static version of DLV-Complex.

  • Other external predicate libraries can be found on the DLV-EX page.

Developing New External Predicates and Libraries

You can find below everything is necessary in order to develop and build your own external dynamic libraries.

Built-in Development Kit


  • Please note that the archives consist of two folders:
    • "LIB", containing headers and scripts needed in order to create new External Builtins libraries.

    • "doc", containing a manual and a tutorial for helping the user creating new external predicates. For further information, have a look at the documentation.

  • In order to compile your own libraries, you will need libtool. Take care of use the correct version of libtool for your system, or you may experience problems in creating dynamic libraries.

  • HINT for windows developers: you might find very useful the MinGW/MSYS environment.

Top of Page

Documentation & Examples

We provide here a quick reference guide, a short tutorial and some examples. Documentation and examples will be updated accordingly to the evolution of the system, so check them out periodically. Documentation about the creation of new built-in libraries is included in the development kit.

For a full documentation on DLV please visit the official web page.

Reference Guide and Tutorial


Top of Page


  • July 17, 2011

Fix a bug that prevented to declare lists with more than 60 elements. Improve stability.

  • June 17, 2011

Fix a bug in the Mac OS version. Update Built-In Development Kit for all platforms.

  • June 06, 2011

Add built-in development kit for windows, linux and mac os.

  • March 08, 2010

Release MacOS version of March 03, 2010.

  • March 03, 2010

Fix instantiation bug while dealing with rules featuring both assignment aggregates and external built-in. Improve stability. MacOS version to be released soon.

  • July 27th, 2009

Start moving towards new functional built-in approach, in order to meet official DLV future standards. Fix some nasty bugs involving the interaction between built-ins and aggregates. Further improve stability.

  • May 19th, 2009

Improve stability. Remove some useless #MAXINT restrictions. Release a static version.

  • July 27th, 2008

Minor bugfixes (some in finite-domain checker).

  • June 13th, 2008

Improve finite-domain checker. Nicefy help messages. Several bugfixes.

  • Early 2008

First beta version.

  • Previous versions

...did not carry a real version identification.

Top of Page


  • F. Calimeri, S. Cozza, G. Ianni, N. Leone, "Finitely Recursive Programs: Decidability and Bottom-up Computation", Technical Report, Department of Mathematics, University of Calabria, 2009 - Submitted for publication to Fundamenta Informaticae. (PDF version)

  • F. Calimeri, S. Cozza, G. Ianni, N. Leone, "Computable Functions in ASP: Theory and Implementation", Proceedings of the 24th International Conference on Logic Programming (ICLP 2008), Vol. 5366 of Lecture Notes in Computer Science (LNCS), pp. 407-424, Udine, Italy, December 2008, Springer Verlag, GmbH Tiergartenstrasse 17, 69121, Heidelberg Germany, ISBN 978-3-540-89981-5.DOI

  • F. Calimeri, S. Cozza, G. Ianni, "External Sources of Knowledge and Value Invention in Logic Programming", Annals of Mathematics and Artificial Intelligence (AMAI), Volume 50, N. 3-4, pp. 333-361, August 2007 -- Link to Springer Page (find there a PDF version)

Top of Page

Drop us a note at calimeri{at}mat.unical.it

mat.unical.it dlv-complex: dlv-complex (last edited 2018-01-16 14:27:18 by FrancescoCalimeri)