vix.ing · top · new · best · stats · spec

On Algorithms and Complexity for Sets with Cardinality Constraints

2005/08/28 by Bruno Marnette, Marnette, Bruno, Viktor Kunčak +3
Computer Science · #Computability, Logic, AI Algorithms #Constraint Satisfaction and Optimization #FOS: Computer and information sciences #Logic in Computer Science (cs.LO) #Programming Languages (cs.PL) #Software Engineering (cs.SE) #semigroups and automata theory

paper · pdf · doi:10.48550/arxiv.cs/0508123

openalex publication_date 2005/08/28 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28

Abstract

Typestate systems ensure many desirable properties of imperative programs, including initialization of object fields and correct use of stateful library interfaces. Abstract sets with cardinality constraints naturally generalize typestate properties: relationships between the typestates of objects can be expressed as subset and disjointness relations on sets, and elements of sets can be represented as sets of cardinality one. Motivated by these applications, this paper presents new algorithms and new complexity results for constraints on sets and their cardinalities. We study several classes of constraints and demonstrate a trade-off between their expressive power and their complexity. Our first result concerns a quantifier-free fragment of Boolean Algebra with Presburger Arithmetic. We give a nondeterministic polynomial-time algorithm for reducing the satisfiability of sets with symbolic cardinalities to constraints on constant cardinalities, and give a polynomial-space algorithm for the resulting problem. In a quest for more efficient fragments, we identify several subclasses of sets with cardinality constraints whose satisfiability is NP-hard. Finally, we identify a class of constraints that has polynomial-time satisfiability and entailment problems and can serve as a foundation for efficient program analysis.

Citations

Related