anthem/src/anthem
Patrick Lühne 3e096e39aa
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 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:
2018-04-06 23:09:14 +02:00
..
output Refactored error handling. 2017-05-31 18:03:19 +02:00
ASTCopy.cpp Added back completion support. 2017-06-01 02:37:45 +02:00
ASTUtils.cpp Switch to C++17 2018-03-24 16:09:52 +01:00
Completion.cpp Support placeholders with #external declarations 2018-04-06 23:09:14 +02:00
HiddenPredicateElimination.cpp Support placeholders with #external declarations 2018-04-06 23:09:14 +02:00
Simplification.cpp Switch to C++17 2018-03-24 16:09:52 +01:00
Translation.cpp Support placeholders with #external declarations 2018-04-06 23:09:14 +02:00