TY - JOUR
T1 - From SMT to ASP
T2 - Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems
AU - Bembenek, Aaron
AU - Greenberg, Michael
AU - Chong, Stephen
N1 - Publisher Copyright:
© 2023 Owner/Author.
PY - 2023/1/9
Y1 - 2023/1/9
N2 - Given a set of candidate Datalog rules, the Datalog synthesis-as-rule-selection problem chooses a subset of these rules that satisfies a specification (such as an input-output example). Building off prior work using counterexample-guided inductive synthesis, we present a progression of three solver-based approaches for solving Datalog synthesis-as-rule-selection problems. Two of our approaches offer some advantages over existing approaches, and can be used more generally to solve arbitrary SMT formulas containing Datalog predicates; the third - an encoding into standard, off-the-shelf answer set programming (ASP) - leads to significant speedups (∼9× geomean) over the state of the art while synthesizing higher quality programs. Our progression of solutions explores the space of interactions between SAT/SMT and Datalog, identifying ASP as a promising tool for working with and reasoning about Datalog. Along the way, we identify Datalog programs as monotonic SMT theories, which enjoy particularly efficient interactions in SMT; our plugins for popular SMT solvers make it easy to load an arbitrary Datalog program into the SMT solver as a custom monotonic theory. Finally, we evaluate our approaches using multiple underlying solvers to provide a more thorough and nuanced comparison against the current state of the art.
AB - Given a set of candidate Datalog rules, the Datalog synthesis-as-rule-selection problem chooses a subset of these rules that satisfies a specification (such as an input-output example). Building off prior work using counterexample-guided inductive synthesis, we present a progression of three solver-based approaches for solving Datalog synthesis-as-rule-selection problems. Two of our approaches offer some advantages over existing approaches, and can be used more generally to solve arbitrary SMT formulas containing Datalog predicates; the third - an encoding into standard, off-the-shelf answer set programming (ASP) - leads to significant speedups (∼9× geomean) over the state of the art while synthesizing higher quality programs. Our progression of solutions explores the space of interactions between SAT/SMT and Datalog, identifying ASP as a promising tool for working with and reasoning about Datalog. Along the way, we identify Datalog programs as monotonic SMT theories, which enjoy particularly efficient interactions in SMT; our plugins for popular SMT solvers make it easy to load an arbitrary Datalog program into the SMT solver as a custom monotonic theory. Finally, we evaluate our approaches using multiple underlying solvers to provide a more thorough and nuanced comparison against the current state of the art.
KW - Datalog
KW - inductive logic programming
KW - program synthesis
KW - satisfiability
UR - http://www.scopus.com/inward/record.url?scp=85146417390&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85146417390&partnerID=8YFLogxK
U2 - 10.1145/3571200
DO - 10.1145/3571200
M3 - Article
AN - SCOPUS:85146417390
VL - 7
SP - 185
EP - 217
JO - Proceedings of the ACM on Programming Languages
JF - Proceedings of the ACM on Programming Languages
ER -