From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems

Aaron Bembenek, Michael Greenberg, Stephen Chong

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

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.

Original languageEnglish
Pages (from-to)185-217
Number of pages33
JournalProceedings of the ACM on Programming Languages
Volume7
DOIs
StatePublished - 9 Jan 2023

Keywords

  • Datalog
  • inductive logic programming
  • program synthesis
  • satisfiability

Fingerprint

Dive into the research topics of 'From SMT to ASP: Solver-Based Approaches to Solving Datalog Synthesis-as-Rule-Selection Problems'. Together they form a unique fingerprint.

Cite this