anthem/tests
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
..
CMakeLists.txt Enforcing color output when testing for convenience. 2017-06-01 03:08:05 +02:00
main.cpp Initial commit. 2016-11-21 17:53:46 +01:00
TestCompletion.cpp Fixed regression in simplifying predicates with more than one argument. 2017-06-12 18:27:39 +02:00
TestHiddenPredicateElimination.cpp Fixed regression in simplifying predicates with more than one argument. 2017-06-12 18:27:39 +02:00
TestPlaceholders.cpp Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
TestSimplification.cpp Renamed internal variables for clarity. 2017-06-06 01:44:44 +02:00
TestTranslation.cpp Renamed internal variables for clarity. 2017-06-06 01:44:44 +02:00