Canonical Decision Diagrams Modulo Theories

Massimo Michelutti, Gabriele Masina, Giuseppe Spallitta, Roberto Sebastiani
4/25/2024
cs.LOcs.AI

No official code found. Best implementation: MaxMichelutti/DecisionDiagrams (1 star, last commit 2025-04-10).

Abstract

Decision diagrams (DDs) are powerful tools to represent effectively propositional formulas, which are largely used in many domains, in particular in formal verification and in knowledge compilation. Some forms of DDs (e.g., OBDDs, SDDs) are canonical, that is, (under given conditions on the atom list) they univocally represent equivalence classes of formulas. Given the limited expressiveness of propositional logic, a few attempts to leverage DDs to SMT level have been presented in the literature. Unfortunately, these techniques still suffer from some limitations: most procedures are theory-specific; some produce theory DDs (T-DDs) which do not univocally represent T-valid formulas or T-inconsistent formulas; none of these techniques provably produces theory-canonical T-DDs, which (under given conditions on the T-atom list) univocally represent T-equivalence classes of formulas. Also, these procedures are not easy to implement, and very few implementations are actually available. In this paper, we present a novel very-general technique to leverage DDs to SMT level, which has several advantages: it is very easy to implement on top of an AllSMT solver and a DD package, which are used as blackboxes; it works for every form of DDs and every theory, or combination thereof, supported by the AllSMT solver; it produces theory-canonical T-DDs if the propositional DD is canonical. We have implemented a prototype tool for both T-OBDDs and T-SDDs on top of OBDD and SDD packages and the MathSAT SMT solver. Some preliminary empirical evaluation supports the effectiveness of the approach.

View on arXivView PDF

Code Implementations(1)

Tool for evaluation of Theory Decision Diagrams

10SMT, ShellOct 17, 20231 years ago

Similar Papers

Cite this paper

@article{michelutti2024canonical,
  title  = {Canonical Decision Diagrams Modulo Theories},
  author = {Massimo Michelutti and Gabriele Masina and Giuseppe Spallitta and Roberto Sebastiani},
  year   = {2024},
  eprint = {2404.16455},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2404.16455v3}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2404.16455.svg)](https://codeofpaper.com/paper/2404.16455)

Discussion