# Solving Epistemic Logic Programs using Generate-and-Test with Propagation

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

## Key facts

- No citing papers in the map yet (data through 14 Oct 2026).
- Builds on 10 of its 28 references that are in the map.
- First posted on arXiv 29 Oct 2024.

## Builds on (most cited first, 10 of 10)

- [Multi-shot ASP solving with clingo](https://mlsanity.com/paper/1705.09811/) (2017)
- [How to build your own ASP-based system?!](https://mlsanity.com/paper/2008.06692/) (2020)
- [selp: A Single-Shot Epistemic Logic Program Solver](https://mlsanity.com/paper/2001.01089/) (2020)
- [eclingo: A solver for Epistemic Logic Programs](https://mlsanity.com/paper/2008.02018/) (2020)
- [Splitting Epistemic Logic Programs](https://mlsanity.com/paper/1812.08763/) (2018)
- [Thirty years of Epistemic Specifications](https://mlsanity.com/paper/2108.07669/) (2021)
- [A Parallel Memory-efficient Epistemic Logic Program Solver: Harder, Better, Faster](https://mlsanity.com/paper/1608.06910/) (2016)
- [Founded World Views with Autoepistemic Equilibrium Logic](https://mlsanity.com/paper/1902.07741/) (2019)
- [A survey of advances in epistemic logic program solvers](https://mlsanity.com/paper/1809.07141/) (2018)
- [Determining ActionReversibility in STRIPS Using Answer Set and Epistemic Logic Programming](https://mlsanity.com/paper/2108.05428/) (2021)

## Abstract (arXiv)

This paper introduces a general framework for generate-and-test-based solvers for epistemic logic programs that can be instantiated with different generator and tester programs, and we prove sufficient conditions on those programs for the correctness of the solvers built using this framework. It also introduces a new generator program that incorporates the propagation of epistemic consequences and shows that this can exponentially reduce the number of candidates that need to be tested while only incurring a linear overhead. We implement a new solver based on these theoretical findings and experimentally show that it outperforms existing solvers by achieving a ~3.3x speed-up and solving 91% more instances on well-known benchmarks.
