MUNCH - Automated Reasoner for Sets and Multisets
This system description provides an overview of the MUNCH reasoner for sets and multisets. MUNCH takes as the input a formula in a logic that supports expressions about sets, multisets, and integers. Constraints over collections and integers are connected using the cardinality operator. Our logic is a fragment of logics of popular interactive theorem provers, and MUNCH is the first fully automated reasoner for this logic. MUNCH reduces input formulas to equisatisfiable linear integer arithmetic formulas. MUNCH reasoner is publicly available. It is implemented in the Scala programming language and currently uses the SMT solver Z3 to solve the generated integer linear arithmetic constraints.
KeywordsCardinality Constraint Satisfying Assignment Arithmetic Formula Linear Arithmetic Input Formula
Unable to display preview. Download preview PDF.
- 3.Isabelle: Isabelle - a generic proof assistant, http://www.cl.cam.ac.uk/research/hvg/Isabelle/
- 4.KIV: KIV (Karlsruhe Interactive Verifier), http://www.informatik.uni-augsburg.de/lehrstuehle/swt/se/kiv/
- 5.Kuncak, V., Nguyen, H.H., Rinard, M.: Deciding Boolean Algebra with Presburger Arithmetic. J. of Automated Reasoning (2006), http://dx.doi.org/10.1007/s10817-006-9042-1
- 10.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