DeepAI AI Chat
Log In Sign Up

Approximate Counting in SMT and Value Estimation for Probabilistic Programs

by   Dmitry Chistikov, et al.
Max Planck Institute for Software Systems

#SMT, or model counting for logical theories, is a well-known hard problem that generalizes such tasks as counting the number of satisfying assignments to a Boolean formula and computing the volume of a polytope. In the realm of satisfiability modulo theories (SMT) there is a growing need for model counting solvers, coming from several application domains (quantitative information flow, static analysis of probabilistic programs). In this paper, we show a reduction from an approximate version of #SMT to SMT. We focus on the theories of integer arithmetic and linear real arithmetic. We propose model counting algorithms that provide approximate solutions with formal bounds on the approximation error. They run in polynomial time and make a polynomial number of queries to the SMT solver for the underlying theory, exploiting "for free" the sophisticated heuristics implemented within modern SMT solvers. We have implemented the algorithms and used them to solve the value problem for a model of loop-free probabilistic programs with nondeterminism.


page 1

page 2

page 3

page 4


Local Search For Satisfiability Modulo Integer Arithmetic Theories

Satisfiability Modulo Theories (SMT) refers to the problem of deciding t...

Local Search For SMT On Linear and Multilinear Real Arithmetic

Satisfiability Modulo Theories (SMT) has significant application in vari...

SMT Sampling via Model-Guided Approximation

We investigate the domain of satisfiable formulas in satisfiability modu...

Approximate Probabilistic Inference via Word-Level Counting

Hashing-based model counting has emerged as a promising approach for lar...

Monadic Decomposition in Integer Linear Arithmetic (Technical Report)

Monadic decomposability is a notion of variable independence, which asks...

Scaling up Hybrid Probabilistic Inference with Logical and Arithmetic Constraints via Message Passing

Weighted model integration (WMI) is a very appealing framework for proba...

Set Constraints, Pattern Match Analysis, and SMT

Set constraints provide a highly general way to formulate program analys...