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 in order 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 input program:
anthem

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
Description
Translate answer set programs to first-order theorem prover language (local mirror of https://github.com/potassco/anthem for development purposes)
https://potassco.org/
anthem 0.1.9
Latest
Languages
C++
99.9%
Shell
0.1%