Decision Procedures for Multisets with Cardinality Constraints
Applications in software verification and interactive theorem proving often involve reasoning about sets of objects. Cardinality constraints on such collections also arise in these scenarios. Multisets arise for analogous reasons as sets: abstracting the content of linked data structure with duplicate elements leads to multisets. Interactive theorem provers such as Isabelle specify theories of multisets and prove a number of theorems about them to enable their use in interactive verification. However, the decidability and complexity of constraints on multisets is much less understood than for constraints on sets.
The first contribution of this paper is a polynomial-space algorithm for deciding expressive quantifier-free constraints on multisets with cardinality operators. Our decision procedure reduces in polynomial time constraints on multisets to constraints in an extension of quantifierfree Presburger arithmetic with certain “unbounded sum” expressions. We prove bounds on solutions of resulting constraints and describe a polynomial-space decision procedure for these constraints.
The second contribution of this paper is a proof that adding quantifiers to a constraint language containing subset and cardinality operators yields undecidable constraints. The result follows by reduction from Hilbert’s 10th problem.
KeywordsDecision Procedure Cardinality Constraint Satisfying Assignment Linear Arithmetic Presburger Arithmetic
Unable to display preview. Download preview PDF.
- 4.Domenjoud, E.: Solving systems of linear diophantine equations: An algebraic approach. In: MFCS, pp. 141–150 (1991)Google Scholar
- 9.Kuncak, V.: Modular Data Structure Verification. PhD thesis, EECS Department, Massachusetts Institute of Technology (February 2007)Google Scholar
- 10.Kuncak, V., Nguyen, H.H., Rinard, M.: Deciding Boolean Algebra with Presburger Arithmetic. J. of Automated Reasoning (2006)Google Scholar
- 11.Kuncak, V., Rinard, M.: On the theory of structural subtyping. Technical Report 879, LCS, Massachusetts Institute of Technology (2003)Google Scholar
- 12.Kuncak, V., Rinard, M.: Towards efficient satisfiability checking for Boolean Algebra with Presburger Arithmetic. In: CADE-21 (2007)Google Scholar
- 14.Lugiez, D., Zilio, S.D.: Multitrees Automata, Presburger’s Constraints and Tree Logics. Research report 08-2002, LIF, Marseille, France (June 2002), http://www.lif-sud.univ-mrs.fr/Rapports/08-2002.html
- 15.Marnette, B., Kuncak, V., Rinard, M.: On algorithms and complexity for sets with cardinality constraints. Technical report, MIT CSAIL (August 2005)Google Scholar
- 17.Misra, J.: A logic for concurrent programming (in two parts): Safety and progress. Journal of Computer and Software Engineering 3(2), 239–300 (1995)Google Scholar
- 18.Nguyen, H.H., et al.: Automated verification of shape, size and bag properties via separation logic. In: VMCAI (2007)Google Scholar
- 20.Nipkow, T., et al.: Multiset theory version 1.30 (Isabelle distribution) (2005), http://isabelle.in.tum.de/dist/library/HOL/Library/Multiset.html
- 23.Pottier, L.: Minimal solutions of linear diophantine systems: Bounds and algorithms. In: Book, R.V. (ed.) RTA 1991. LNCS, vol. 488, Springer, Heidelberg (1991)Google Scholar
- 24.Schwartz, J.T.: On programming: An interim report on the SETL project. Technical report, Courant Institute, New York (1973)Google Scholar
- 25.Zarba, C.G.: Combining multisets with integers. In: Voronkov, A. (ed.) CADE 2002. LNCS (LNAI), vol. 2392, Springer, Heidelberg (2002)Google Scholar