anthem/include/anthem
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
..
output Added new option --parentheses=full to make parsing the output easier. 2017-06-06 02:02:26 +02:00
AST.h Implemented #show statements for completed output. 2017-06-05 03:02:22 +02:00
ASTCopy.h Major refactoring to uniquely link variables to their declarations (breaks simplification and completion). 2017-05-30 03:56:35 +02:00
ASTForward.h Major refactoring to uniquely link variables to their declarations (breaks simplification and completion). 2017-05-30 03:56:35 +02:00
ASTUtils.h Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
ASTVisitors.h Fixed issue with simplifying binary operations in arguments. 2017-06-09 22:00:00 +02:00
Body.h Switch to C++17 2018-03-24 16:09:52 +01:00
Completion.h Implemented #show statements for completed output. 2017-06-05 03:02:22 +02:00
Context.h Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
Exception.h Added missing error message when input file does not exist. 2017-06-01 03:29:09 +02:00
Head.h Switch to C++17 2018-03-24 16:09:52 +01:00
HiddenPredicateElimination.h Implemented #show statements for completed output. 2017-06-05 03:02:22 +02:00
Location.h Refactored error handling. 2017-05-31 18:03:19 +02:00
RuleContext.h Major refactoring to uniquely link variables to their declarations (breaks simplification and completion). 2017-05-30 03:56:35 +02:00
Simplification.h Refactored formula simplification with Clingo’s variants. 2017-03-23 00:44:10 +01:00
StatementVisitor.h Support placeholders with #external declarations 2018-04-08 20:28:57 +02:00
Term.h Switch to C++17 2018-03-24 16:09:52 +01:00
Translation.h Started implementing color output (currently for head only). 2016-11-24 02:42:32 +01:00
Utils.h Removed unused function. 2017-06-01 03:43:18 +02:00