solvers are a method to formally analyze algorithms that have been profitably used for describing, comparing and composing solving techniques in various fields such as Propositional Satisfiability (SAT), Quantified SAT, Satisfiability Modulo Theories, Answer Set Programming (ASP), and Constraint ASP.In this paper, we design, implement and test novel abstract solutions for cautious reasoning tasks in ASP. We show how to improve the current abstract solvers for cautious reasoning in ASP with new techniques borrowed from backbone computation in SAT, in order to design new solving algorithms. By doing so, we also formally show that the algorithms for solving cautious reasoning tasks in ASP are strongly related to those for computing backbones of Boolean formulas. We implement some of the new solutions in the ASP solver WASP and show that their performance are comparable to state-of-the-art solutions on the benchmark problems from the past ASP Competitions. Under consideration for acceptance in TPLP.
KEYWORDS:Answer Set Programming, Abstract solvers, Cautious reasoning solver, SUP (Lierler 2011); however, abstract solvers have been so far mainly applied to ASP solvers for brave reasoning tasks where, given an input query and a knowledge base expressed in ASP, answers are witnessed by ASP solutions, i.e., stable models (Baral 2003;Eiter et al. 1997;Gelfond and Lifschitz 1988;Gelfond and Lifschitz 1991;Marek and Truszczyński 1998;Niemelä 1999).However, in ASP, also cautious reasoning has been deeply studied in the literature: answers here must be witnessed by all stable models. This task has found a significant number of interesting applications as well, including consistent query answering (Arenas et al. 2003;Manna et al. 2013), data integration (Eiter 2005), multi-context systems (Brewka and Eiter 2007), and ontology-based reasoning (Eiter et al. 2008). Two well-known ASP solvers, i.e., DLV (Leone et al. 2006) and CLASP (Gebser et al. 2012), have been extended for computing cautious consequences of ASP programs. More recently, Alviano et al. (2014) presented a unified, high-level view of such solving procedures, and designed several algorithms for cautious reasoning in ASP, including those implemented in DLV and CLASP, borrowed from the backbone computation of Boolean formulas (Janota et al. 2015): all these techniques are implemented (and tested) on top of the ASP solver WASP (Alviano et al. 2015).In this paper we design, implement and test novel abstract solutions for cautious reasoning tasks in ASP. We show how to improve the current abstract solvers (Brochenin and Maratea 2015a) for cautious reasoning in ASP with further techniques borrowed from backbone computation in SAT, in order to design new solving algorithms. In particular, we import a technique called "chunk", which generalizes over-and under-approximation by testing a set soft atoms simultaneously for being added in the under-approximation, and core-based algorithms, which can be considered either a solution per se, or a way for pruning the set of atoms t...