Theory of linear and integer programming
Theory of linear and integer programming
A practical algorithm for exact array dependence analysis
Communications of the ACM
Counting solutions to Presburger formulas: how and why
PLDI '94 Proceedings of the ACM SIGPLAN 1994 conference on Programming language design and implementation
Handling infinite temporal data
Selected papers of the 9th annual ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
On the Construction of Automata from Linear Arithmetic Constraints
TACAS '00 Proceedings of the 6th International Conference on Tools and Algorithms for Construction and Analysis of Systems: Held as Part of the European Joint Conferences on the Theory and Practice of Software, ETAPS 2000
Proving Safety Properties of Infinite State Systems by Compilation into Presburger Arithmetic
CONCUR '97 Proceedings of the 8th International Conference on Concurrency Theory
An Automata-Theoretic Approach to Presburger Arithmetic Constraints (Extended Abstract)
SAS '95 Proceedings of the Second International Symposium on Static Analysis
A Comparison of Presburger Engines for EFSM Reachability
CAV '98 Proceedings of the 10th International Conference on Computer Aided Verification
Diophantine Equations, Presburger Arithmetic and Finite Automata
CAAP '96 Proceedings of the 21st International Colloquium on Trees in Algebra and Programming
Representing Arithmetic Constraints with Finite Automata: An Overview
ICLP '02 Proceedings of the 18th International Conference on Logic Programming
An effective decision procedure for linear arithmetic over the integers and reals
ACM Transactions on Computational Logic (TOCL)
Hi-index | 0.00 |
The Number Decision Diagram (NDD) has recently been proposed as a powerful representation system for sets of integer vectors. In particular, NDDs can be used for representing the sets of solutions of arbitrary Presburger formulas, or the set of reachable states of some systems using unbounded integer variables. In this paper, we address the problem of counting the number of distinct elements in a set of vectors represented as an NDD. We give an algorithm that is able to perform an exact count without enumerating explicitly the vectors, which makes it capable of handling very large sets. As an auxiliary result, we also develop an efficient projection method that allows to construct efficiently NDDs from quantified formulas, and thus makes it possible to apply our counting technique to sets specified by formulas. Our algorithms have been implemented in the verification tool LASH, and applied successfully to various counting problems.