Translate answer set programs to first-order theorem prover language (local mirror of https://github.com/potassco/anthem for development purposes) https://potassco.org/
Go to file
Patrick Lühne e85807accb
Fix handling of rules with multielement head
The code responsible for completing formulas made the assumption that
all head variables could be safely removed from the list of free
variables of each formula. This is only correct given the current
limitation that only rules with singleton heads are supported.

Because of this assumption, code with multiple elements in the head were
completed to an incorrect result instead of issuing an error that such
rules aren’t supported yet.

This commit improves the code by excluding only variables that are
actually replaced from the list of free variables and not all head
variables. Still, other places will need to be adjusted for full support
of rules with multiple elements in the head. For this reason, this also
adds an error message indicating that only rules with singleton heads
are supported as of now.

Finally, multiple test cases are added to check that the supported
features related to the issues outlined above are translated without
exceptions, while errors are returned when attempting to use unsupported
features.
2018-05-04 15:13:36 +02:00
.ci Add missing dependency to Ubuntu image 2018-04-10 22:29:55 +02:00
app Add option to turn on integer variable detection 2018-04-29 22:28:42 +02:00
examples Update examples 2018-04-29 22:39:44 +02:00
include/anthem Fix equality check for binary operations 2018-05-03 16:52:29 +02:00
lib Update cxxopts to 2.1.0+1+gcc4914f 2018-04-13 14:03:30 +02:00
src Fix handling of rules with multielement head 2018-05-04 15:13:36 +02:00
tests Fix handling of rules with multielement head 2018-05-04 15:13:36 +02:00
.gitattributes Initial commit. 2016-11-21 17:53:46 +01:00
.gitmodules Drop Boost dependency 2018-03-25 17:24:06 +02:00
.travis.yml Add clang to Travis configurations 2018-03-24 18:53:51 +01:00
CHANGELOG.md Add integer extensions to change log 2018-04-29 22:39:36 +02:00
CMakeLists.txt Switch to C++17 2018-03-24 16:09:52 +01:00
LICENSE.md Update copyright year in license file 2018-04-08 20:35:03 +02:00
README.md Describe --complete option in readme 2018-04-11 23:21:56 +02:00

README.md

anthem GitHub Release Build Status Build Status

Translate answer set programs to first-order theorem prover language

Overview

anthem translates ASP programs (in the input language of clingo) to the language of first-order theorem provers such as Prover9.

Usage

$ anthem [--complete] [--simplify] file...

--complete instructs anthem to perform Clarks completion on the translated formulas. With the option --simplify, the output formulas are simplified by applying several basic transformation rules.

Building

anthem requires CMake for building. After installing the dependencies, anthem is built with a C++17 compiler (GCC ≥ 7.3 or clang ≥ 5.0).

$ git clone https://github.com/potassco/anthem.git
$ cd anthem
$ git submodule update --init --recursive
$ mkdir -p build/release
$ cd build/release
$ cmake ../.. -DCMAKE_BUILD_TYPE=Release
$ make

Contributors