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. You will find everything you need in order to create your own external predicates collected in libraries on the
DLV-EX page.
The Team
Downloads
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.
Download latest linux version (requires libstdc++6.0.10 or greater)
Download latest windows version
Download latest macOS version
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).
Download latest linux STATIC version
Download latest windows STATIC version
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.
Download latest linux version (.so)
Download latest windows version (.dll)
Download latest macOS version (.so)
Other external predicate libraries can be found on the
DLV-EX page.
Developing New External Predicates and Libraries
If will find everything you need in order to create your own external predicates (collected in dynamic libraries) on the
DLV-EX 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. For a full documentation on
DLV please visit the official
web page. You might also find useful to check the official
web page of
DLV-EX out for docs and info.
Reference Guide and Tutorial
Examples
Tutorial-examples.zip Examples from the tutorial (text files in a .zip archive)
ListPath.dl Compute all simple paths and cycles in a graph
Descendants.dl Compute the set of all descendants for some given ancestors
Hanoi.dl (txt version here: Hanoi.txt) - A DLV-Complex program solving the well-known
Tower of Hanoi Puzzle - TuringMachine.dl (txt version here: TuringMachine.txt) - A DLV-Complex program simulating a Turing Machine - You can dowload also a more detailed description: TuringMachine.pdf (pdf document)
History
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.
Reports
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)
Drop us a note at
calimeri{at}mat.unical.it