Finite-Choice Logic Programming
Chris Martens, Robert J. Simmons, Michael Arntzenius
Abstract
Logic programming, as exemplified by datalog, defines the meaning of a program as its unique smallest model: the deductive closure of its inference rules. However, many problems call for an enumeration of models that vary along some set of choices while maintaining structural and logical constraints-there is no single canonical model. The notion of stable models for logic programs with negation has successfully captured programmer intuition about the set of valid solutions for such problems, giving rise to a family of programming languages and associated solvers known as answer set programming. Unfortunately, the definition of a stable model is frustratingly indirect, especially in the presence of rules containing free variables.
We propose a new formalism, finite-choice logic programming, that uses choice, not negation, to admit multiple solutions. Finite-choice logic programming contains all the expressive power of the stable model semantics, gives meaning to a new and useful class of programs, and enjoys a least-fixed-point interpretation over a novel domain. We present an algorithm for exploring the solution space and prove it correct with respect to our semantics. Our implementation, the Dusa logic programming language, has performance that compares favorably with state-of-the-art answer set solvers and exhibits more predictable scaling with problem size.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext d05002a5-9d8f-4114-9512-d8e250aaaec0Cited by top-tier papers2
- Semi-declarative Language for Combinatorial SearchZiyi Yang, Ilya SergeyOOPSLA 2026
- Universal Scalability in Declarative Program Analysis (with Choice-Based Combination Pruning)Anastasios Antoniadis, Ilias Tsatiris, Neville Grech, Yannis SmaragdakisOOPSLA 2025
Builds on4
- Better Together: Unifying Datalog and Equality SaturationYihong Zhang, Yisu Remy Wang, Oliver Flatt, David Cao et al.PLDI 2023 · 38 citations
- Fixpoints for the masses: programming with first-class Datalog constraintsMagnus Madsen, Ondrej LhotákOOPSLA 2020 · 22 citations
- Computing correctly with inductive relationsZoe Paraskevopoulou, Aaron Eline, Leonidas LampropoulosPLDI 2022 · 16 citations
- Parsing randomnessHarrison Goldstein, Benjamin C. PierceOOPSLA 2022 · 11 citations
Related papers
- Stable Model Semantics for Recursive SHACLMedina Andresel, Julien Corman, Magdalena Ortiz, Juan L. Reutter et al.WWW 2020 · 47 citations
- Logic.py: Bridging the Gap between LLMs and Constraint SolversPascal Kesseli, Peter W. O'Hearn, Ricardo Silveira CabralNeurIPS 2025 · 10 citations
- Temporal Constraint Satisfaction Problems in Fixed-Point LogicManuel Bodirsky, Wied Pakusa, Jakub RydvalLICS 2020 · 10 citations
- Enumerating Minimal Unsatisfiable Cores of LTLf FormulaeAntonio Ielo, Giuseppe Mazzotta, Rafael Peñaloza, Francesco RiccaAAAI 2026
- Query Answering with Guarded Existential Rules under Stable Model SemanticsHai Wan, Guohui Xiao, Chenglin Wang, Xianqiao Liu et al.AAAI 2020 · 4 citations
