Under consideration for publication in Theory and Practice of Logic Programming 1 Clingo = ASP + Control : Extended Report

We present the new ASP system clingo 4. Unlike its predecessors, being mere monolithic combinations of the grounder gringo with the solver clasp, the new clingo 4 series offers high-level constructs for realizing complex reasoning processes. Among others, such processes feature advanced forms of search, as in optimization or theory solving, or even interact with an environment, as in robotics or query-answering. Common to them is that the problem specification evolves during the reasoning process, either because data or constraints are added, deleted, or replaced. In fact, clingo 4 carries out such complex reasoning within a single integrated ASP grounding and solving process. This avoids redundancies in relaunching grounder and solver programs and benefits from the solver’s learning capacities. clingo 4 accomplishes this by complementing ASP’s declarative input language by control capacities expressed via the embedded scripting languages Lua and Python. On the declarative side, clingo 4 offers a new directive that allows for structuring logic programs into named and parameterizable subprograms. The grounding and integration of these subprograms into the solving process is completely modular and fully controllable from the procedural side, viz. the scripting languages. By strictly separating logic and control programs, clingo 4 also abolishes the need for dedicated systems for incremental and reactive reasoning, like iclingo and oclingo, respectively, and its flexibility goes well beyond the advanced yet still rigid solving processes of the latter.

[1]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[2]  Torsten Schaub,et al.  Unsatisfiability-based optimization in clasp , 2012, ICLP.

[3]  Chitta Baral,et al.  Knowledge Representation, Reasoning and Declarative Problem Solving , 2003 .

[4]  Johan Wittocx,et al.  A Prototype of a Knowledge-Based Programming Environment , 2011, INAP/WLP.

[5]  Martin Gebser,et al.  Answer Set Solving in Practice , 2012, Answer Set Solving in Practice.

[6]  Martin Gebser,et al.  Reactive Answer Set Programming , 2011, LPNMR.

[7]  Norman Y. Foo,et al.  Solving Logic Program Conflict through Strong and Weak Forgettings , 2005, IJCAI.

[8]  Martin Gebser,et al.  Engineering an Incremental ASP Solver , 2008, ICLP.

[9]  Marius Thomas Lindauer,et al.  Potassco: The Potsdam Answer Set Solving Collection , 2011, AI Commun..

[10]  Nicola Leone,et al.  JASP: A Framework for Integrating Answer Set Programming with Java , 2012, KR.

[11]  Martin Gebser,et al.  Advances in gringo Series 3 , 2011, LPNMR.

[12]  Martin Gebser,et al.  Advanced Conflict-Driven Disjunctive Answer Set Solving , 2013, IJCAI.

[13]  Pascal Van Hentenryck Proceedings of the eleventh international conference on Logic programming , 1994 .

[14]  Torsten Schaub,et al.  ASP modulo CSP: The clingcon system , 2012, Theory and Practice of Logic Programming.

[15]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[16]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[17]  José Júlio Alferes,et al.  LUPS - A Language for Updating Logic Programs , 1999, LPNMR.

[18]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[19]  Tomi Janhunen,et al.  Modular Equivalence for Normal Logic Programs , 2006, ECAI.

[20]  Michael Fink,et al.  ActHEX: Implementing HEX Programs with Action Atoms , 2013, LPNMR.