Using Prolog to Translate Set Theory and B to SAT
Various approaches to solving set theory constraints exist, e.g., within verification tools for TLA+ or the B method. In this paper we present a way to solve set theory constraints in general and B formulas in particular using SAT solvers, by using Prolog technology. First, a preliminary analysis uses CLP(FD) constraint solving to infer finite bounds for all variables. Second, Prolog translation rules map constraints to answer set programming (ASP), by encoding logical and set-theoretic operators as Horn clauses. Finally, the Clingo tool is used to translate the ASP encoding to SAT, and the generated models are translated back to set theory and B using Prolog DCG rules. The scheme of the paper has been implemented in SICStus Prolog, as an alternate backend for the ProB validation tool, which we evaluate on a series of benchmarks. Our paper highlights the usefulness of Prolog, for analysis, inference and transformation rules and ASP as a high-level interface to SAT solving.
Mon 12 JanDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
11:00 - 12:30 | |||
11:00 30mTalk | An efficient compiler for the IDP-Z3 knowledge base system PADL Wout Piessens KU Leuven, Belgium, Simon Vandevelde KU Leuven, Belgium, Joost Vennekens KU Leuven, Tom Schrijvers KU Leuven | ||
11:30 30mTalk | Multi-Configurable Search Rules in Prolog and Application to Testing PADL Daniela Ferreiro Technical University of Madrid and IMDEA Software Institute, José Morales IMDEA Software Institute, Pedro López-García IMDEA Software Institute, Manuel Hermenegildo Technical University of Madrid (UPM) and IMDEA Software Institute | ||
12:00 30mTalk | Using Prolog to Translate Set Theory and B to SAT PADL Michael Leuschel HHU | ||