# eclingo: A solver for Epistemic Logic Programs

arXiv: https://arxiv.org/abs/2008.02018 · HTML: https://mlsanity.com/paper/2008.02018/

## Key facts

- Cited by 7 papers in the map (data through 14 Oct 2026).
- First posted on arXiv 5 Aug 2020.

## Built on by (most cited first, 7 of 7)

- [Treewidth-aware Reductions of Normal ASP to SAT -- Is Normal ASP Harder than SAT after All?](https://mlsanity.com/paper/2210.03553/) (2022)
- [Natlog: a Lightweight Logic Programming Language with a Neuro-symbolic Touch](https://mlsanity.com/paper/2109.08291/) (2021)
- [Thirty years of Epistemic Specifications](https://mlsanity.com/paper/2108.07669/) (2021)
- [Utilizing Treewidth for Quantitative Reasoning on Epistemic Logic Programs](https://mlsanity.com/paper/2108.03022/) (2021)
- [Determining ActionReversibility in STRIPS Using Answer Set and Epistemic Logic Programming](https://mlsanity.com/paper/2108.05428/) (2021)
- [Epistemic Logic Programs: Non-Ground and Counting Complexity](https://mlsanity.com/paper/2503.04731/) (2025)
- [Solving Epistemic Logic Programs using Generate-and-Test with Propagation](https://mlsanity.com/paper/2410.22130/) (2024)

## Abstract (arXiv)

We describe eclingo, a solver for epistemic logic programs under Gelfond 1991 semantics built upon the Answer Set Programming system clingo. The input language of eclingo uses the syntax extension capabilities of clingo to define subjective literals that, as usual in epistemic logic programs, allow for checking the truth of a regular literal in all or in some of the answer sets of a program. The eclingo solving process follows a guess and check strategy. It first generates potential truth values for subjective literals and, in a second step, it checks the obtained result with respect to the cautious and brave consequences of the program. This process is implemented using the multi-shot functionalities of clingo. We have also implemented some optimisations, aiming at reducing the search space and, therefore, increasing eclingo's efficiency in some scenarios. Finally, we compare the efficiency of eclingo with two state-of-the-art solvers for epistemic logic programs on a pair of benchmark scenarios and show that eclingo generally outperforms their obtained results. Under consideration for acceptance in TPLP.
