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 c294a29cb2
Support placeholders with #external declarations
This adds support for declaring predicates as placeholders through the
“#external” directive in the input language of clingo.

Placeholders are not subject to completion. This prevents predicates
that represent instance-specific facts from being assumed as universally
false by default negation when translating an encoding.

This stretches clingo’s usual syntax a bit to make the implementation
lightweight. In order to declare a predicate with a specific arity as a
placeholder, the following statement needs to be added to the program:

    #external <predicate name>(<arity>).

Multiple unit tests cover cases where placeholders are used or not as
well as a more complex graph coloring example.
2018-04-08 20:28:57 +02:00
.ci Drop Boost dependency 2018-03-25 17:24:06 +02:00
app Drop Boost dependency 2018-03-25 17:24:06 +02:00
examples Added example with simple propositions. 2017-06-12 15:42:23 +02:00
include/anthem Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
lib Update Catch to 2.2.2 2018-04-07 00:22:01 +02:00
src Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
tests Support placeholders with #external declarations 2018-04-08 20:28:57 +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 Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
CMakeLists.txt Switch to C++17 2018-03-24 16:09:52 +01:00
LICENSE.md Updated year in license file. 2017-03-30 00:19:49 +02:00
README.md Drop Boost dependency 2018-03-25 17:24:06 +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 [--simplify] file...

With the option --simplify, 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