Commit Graph

27 Commits

Author SHA1 Message Date
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
Patrick Lühne a4cd133ba7
Correctly implemented hiding predicates with nested arguments. 2017-06-12 02:25:04 +02:00
Patrick Lühne bbbd0b65a4
Added new option --parentheses=full to make parsing the output easier. 2017-06-06 02:02:26 +02:00
Patrick Lühne 0285c1cbbb
Renamed internal variables for clarity. 2017-06-06 01:44:44 +02:00
Patrick Lühne 95984f0447
Added warning when attempting to use #show statements without completion. 2017-06-05 04:24:00 +02:00
Patrick Lühne 14abc37116
Implemented #show statements for completed output. 2017-06-05 03:02:22 +02:00
Patrick Lühne dcc504ebc0
Added another simplification step after completion. 2017-06-04 20:55:24 +02:00
Patrick Lühne 2bc60d3eea
Started implementing support for #show statements. 2017-06-01 04:05:11 +02:00
Patrick Lühne cdcee897ec
Added missing error message when input file does not exist. 2017-06-01 03:29:09 +02:00
Patrick Lühne 4baed6fbc6
Added back completion support. 2017-06-01 02:37:45 +02:00
Patrick Lühne 7aad8380d1
Refactored logging interface. 2017-05-30 17:19:26 +02:00
Patrick Lühne 1c925d661b
Major refactoring to uniquely link variables to their declarations (breaks simplification and completion). 2017-05-30 03:56:35 +02:00
Patrick Lühne a716da4af1
Finished implementing completion (unit tests to follow). 2017-04-08 16:21:24 +02:00
Patrick Lühne 27b46ceee1
Added scaffold for implementing completion. 2017-04-05 18:21:38 +02:00
Patrick Lühne 838a68e230
Refactoring to prepare for implementing completion. 2017-04-05 18:15:42 +02:00
Patrick Lühne 09c2674148
Fixed incorrectly translated choice rules with multiple elements in the aggregate. 2017-03-23 02:06:19 +01:00
Patrick Lühne 283cdd2abf
Preparations for returning multiple formulas per input rule (as necessary with head aggregates). 2017-03-23 01:23:17 +01:00
Patrick Lühne 825cd4de39
Refactored formula simplification with Clingo’s variants. 2017-03-23 00:44:10 +01:00
Patrick Lühne fc538eb7fc
Started implementing output simplifications. 2017-03-16 15:45:55 +01:00
Patrick Lühne 9e6d135781
Implemented explicit syntax tree representation for first-order formulas. 2017-03-15 16:00:43 +01:00
Patrick Lühne a653556d77
Resolved minor warnings. 2016-11-29 02:29:54 +01:00
Patrick Lühne 5816207af7
Renamed “note” to “info.” 2016-11-24 22:58:13 +01:00
Patrick Lühne c92de5e461
Removed unwanted newline. 2016-11-24 14:47:02 +01:00
Patrick Lühne c760edb141
Fixed missing usages of new output format. 2016-11-24 03:36:14 +01:00
Patrick Lühne 018559b8cf
Started implementing color output (currently for head only). 2016-11-24 02:42:32 +01:00
Patrick Lühne 6af3b7b875
Made all visitors consistent in taking an Context object as an argument. 2016-11-24 00:52:28 +01:00
Patrick Lühne 7e7baa1aab
Wrote simple dummy parser. 2016-11-22 03:15:52 +01:00