# An automata-theoretic approach to Presburger arithmetic constraints

## Abstract

This paper introduces a finite-automata based representation of Presburger arithmetic definable sets of integer vectors. The representation consists of concurrent automata operating on the binary encodings of the elements of the represented sets. This representation has several advantages. First, being automata-based it is operational in nature and hence leads directly to algorithms, for instance all usual operations on sets of integer vectors translate naturally to operations on automata. Second, the use of concurrent automata makes it compact. Third, it is insensitive to the representation size of integers. Our representation can be used whenever arithmetic constraints are needed. To illustrate its possibilities we show that it can handle integer programming optimally, and that it leads to a new original algorithm for the satisfiability of arithmetic inequalities.

## Keywords

Finite Automaton Integer Programming Problem Integer Vector Number Component Quantify Boolean Formula## Preview

Unable to display preview. Download preview PDF.

## References

- [ACD90]R. Alur, C. Courcoubetis, and D. Dill. Model-checking for real-time systems. In
*Proceedings of the 5th Symposium on Logic in Computer Science*, pages 414–425, Philadelphia, June 1990.Google Scholar - [AH90]R. Alur and T. Henzinger. Real-time logics: complexity and expressiveness. In
*Proceedings of the 5th Symposium on Logic in Computer Science*, pages 390–401, Philadelphia, June 1990.Google Scholar - [APT79]B. Aspvall, M. Plass, and R. Tarjan. A linear-time algorithm for testing the truth of certain quantified boolean formulas.
*Information Processing Letters*, 8(3):121–123, 1979.Google Scholar - [BCM+92]J.R. Burch, E.M. Clarke, K.L. McMillan, D.L. Dill, and L.J. Hwang. Symbolic model checking: 10
^{20}states and beyond.*Information and Computation*, 98(2):142–170, June 1992.Google Scholar - [BHMV94]V. Bruyère, G. Hansel, C. Michaux, and R. Villemaire. Logic and
*p*-recognizable sets of integers. In*Bulletin of the Belgian Mathematical Society*, volume 1, pages 191–238, Mar 1994.Google Scholar - [Bry86]R. E. Bryant. Graph based algorithms for boolean function manipulation.
*IEEE Transactions on Computers*, 35(8):677–691, 1986.Google Scholar - [Bry92]R.E. Bryant. Symbolic boolean manipulation with ordered binary-decision diagrams.
*ACM Computing Surveys*, 24(3):293–318, 1992.Google Scholar - [Büc62]J.R. Büchi. On a decision method in restricted second order arithmetic. In
*Proc. Internat. Congr. Logic, Method and Philos. Sci. 1960*, pages 1–12, Stanford, 1962. Stanford University Press.Google Scholar - [BVW94]O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In
*Computer Aided Verification, Proc. 6th Int. Workshop*, Stanford, California, June 1994. Lecture Notes in Computer Science, Springer-Verlag. full version available from authors.Google Scholar - [BW94]B. Boigelot and P. Wolper. Symbolic verification with periodic sets. In
*Computer Aided Verification, Proc. 6th Int. Workshop*, Stanford, California, June 1994. Lecture Notes in Computer Science, Springer-Verlag.Google Scholar - [Cob69]A. Cobham. On the base-dependence of sets of numbers recognizable by finite automata.
*Mathematical Systems Theory*, 3, 1969.Google Scholar - [GW93]P. Godefroid and P. Wolper. Using partial orders for the efficient verification of deadlock freedom and safety properties.
*Formal Methods in System Design*, 2(2):149–164, April 1993.Google Scholar - [Hen89]Pascal Van Hentenryck.
*Constraint Satisfaction in Logic Programming*. MIT Press, 1989.Google Scholar - [KKR90]Paris C. Kanellakis, Gabriel M. Kuper, and Peter Revesz. Constraint query languages. In
*Ninth ACM Symposium on Principles of Database Systems*, pages 299–313, Nashville, Tennessee, April 1990.Google Scholar - [Klu88]A. Klug. On conjunctive queries containing inequalities.
*Journal of the ACM*, 35(1), January 1988.Google Scholar - [KSW90]F. Kabanza, J.-M. Stévenne, and P. Wolper. Handling infinite temporal data. In
*Proc. of the 9th ACM Symposium on Principles of Database Systems*, pages 392–403, Nashville Tennessee, 1990.Google Scholar - [Mil89]R. Milner.
*Communication and Concurrency*. Prentice Hall, 1989.Google Scholar - [Pap81]C. Papadimitriou. On the complexity of integer programming.
*Journal of the ACM*, 28:765–768, Oct 1981.Google Scholar - [Rab92]A. Rabinovich. Checking equivalences between concurrent systems of finite agents. In
*International Colloquium on Automata, Languages and Programming*, volume 623 of*Lecture Notes in Computer Science*, pages 696–707. Springer-Verlag, 1992.Google Scholar - [Sch86]A. Schrijver.
*Theory of Linear and Integer Programming*. A Wiley-Interscience publication. Wiley, Chichester, New York, 1986.Google Scholar - [Sem77]A. L. Semenov. The presburger nature of predicates that are regular in two number systems.
*Siberian Math. J.*, 18(2):289–299, 1977.Google Scholar - [SW94]W. Sun and M. A. Weiss. An improved algorithm for implication testing involving arithmetic inequalities. In
*IEEE Transactions on Knowledge and Data Engineering*, volume 6, pages 997–1001, Dec 1994.Google Scholar - [Tho90]Wolfgang Thomas. Automata on infinite objects. In J. Van Leeuwen, editor,
*Handbook of Theoretical Computer Science — Volume B: Formal Models and Semantics*, chapter 4, pages 133–191. Elsevier Science Publishers, Amsterdam, 1990.Google Scholar - [Ull89]Jeffrey D. Ullman.
*Principles of Database and Knowledge-Base Systems — Volume II: The New Technologies*. Computer Science Press, 1989.Google Scholar - [VW86a]M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In
*Proceedings of the First Symposium on Logic in Computer Science*, pages 322–331, Cambridge, June 1986.Google Scholar - [VW86b]M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs.
*Journal of Computer and System Science*, 32(2):182–21, April 1986.Google Scholar - [VW94]M.Y. Vardi and P. Wolper. Reasoning about infinite computations.
*Information and Computation*, 115(1):1–37, November 1994.Google Scholar