skip to main content
research-article
Open access

Strategy synthesis for linear arithmetic games

Published: 27 December 2017 Publication History

Abstract

Many problems in formal methods can be formalized as two-player games. For several applications—program synthesis, for example—in addition to determining which player wins the game, we are interested in computing a winning strategy for that player. This paper studies the strategy synthesis problem for games defined within the theory of linear rational arithmetic. Two types of games are considered. A satisfiability game, described by a quantified formula, is played by two players that take turns instantiating quantifiers. The objective of each player is to prove (or disprove) satisfiability of the formula. A reachability game, described by a pair of formulas defining the legal moves of each player, is played by two players that take turns choosing positions—rational vectors of some fixed dimension. The objective of each player is to reach a position where the opposing player has no legal moves (or to play the game forever). We give a complete algorithm for synthesizing winning strategies for satisfiability games and a sound (but necessarily incomplete) algorithm for synthesizing winning strategies for reachability games.

Supplementary Material

Auxiliary Archive (popl18-p207-aux.zip)
This archive contains a virtual machine that can be used to reproduce the experimental result of the paper, as well as an extended version of the paper with proofs.
WEBM File (lineararithmeticgames.webm)

References

[1]
Aws Albarghouthi, Isil Dillig, and Arie Gurfinkel. 2016. Maximal specification synthesis. In POPL. 789–801.
[2]
Rajeev Alur, Rastislav Bodik, Garvit Juniwal, Milo MK Martin, Mukund Raghothaman, Sanjit A Seshia, Rishabh Singh, Armando Solar-Lezama, Emina Torlak, and Abhishek Udupa. 2013. Syntax-guided synthesis. In Formal Methods in Computer-Aided Design (FMCAD), 2013. IEEE, 1–8.
[3]
Rajeev Alur, Salar Moarref, and Ufuk Topcu. 2016. Compositional Synthesis of Reactive Controllers for Multi-agent Systems. In CAV. 251–269.
[4]
Thomas Ball and Orna Kupferman. 2006. An abstraction-refinement framework for multi-agent systems. In LICS. IEEE, 379–388.
[5]
Tewodros Beyene, Swarat Chaudhuri, Corneliu Popeea, and Andrey Rybalchenko. 2014. A Constraint-based Approach to Solving Games on Infinite Graphs. In POPL. 221–233.
[6]
Tewodros A. Beyene, Corneliu Popeea, and Andrey Rybalchenko. 2013. Solving Existentially Quantified Horn Clauses. In CAV. 869–882.
[7]
Nikolaj Bjørner and Mikolás Janota. 2015. Playing with Quantified Satisfaction. In LPAR - short presentations. 15–27.
[8]
Régis Blanc, Ashutosh Gupta, Laura Kovács, and Bernhard Kragl. 2013. Tree Interpolation in Vampire. In LPAR-19. 173–181.
[9]
Marijke Bodlaender, Cor Hurkens, Vincent Kusters, Frank Staals, Gerhard Woeginger, and Hans Zantema. 2012. Cinderella versus the Wicked Stepmother. In IFIP TCS. 57–71.
[10]
Thierry Cachat. 2002. Symbolic strategy synthesis for games on pushdown graphs. In ICALP. 704–715.
[11]
Thierry Cachat. 2003. Uniform solution of parity games on prefix-recognizable graphs. Electronic Notes in Theoretical Computer Science 68, 6 (2003), 71–84.
[12]
Byron Cook and Eric Koskinen. 2013. Reasoning about Nondeterminism in Programs. In PLDI. 219–230.
[13]
Neil T. Dantam, Zachary K. Kingston, Swarat Chaudhuri, and Lydia E. Kavraki. 2016. Incremental Task and Motion Planning: A Constraint-Based Approach. In Robotics: Science and Systems XII, University of Michigan, Ann Arbor, Michigan, USA, June 18 - June 22, 2016.
[14]
Luca De Alfaro, Thomas Henzinger, and Rupak Majumdar. 2001. Symbolic algorithms for infinite-state games. In CONCUR. Springer, 536–550.
[15]
E. Allen Emerson and Charanjit Jutla. 1991. Tree automata, mu-calculus and determinacy. In FOCS. IEEE, 368–377.
[16]
Azadeh Farzan and Zachary Kincaid. 2016. Linear Arithmetic Satisfiability via Strategy Improvement. In IJCAI. 735–743.
[17]
Harald Fecher and Michael Huth. 2006. Ranked predicate abstraction for branching time: Complete, incremental, and precise. In ATVA. Springer, 322–336.
[18]
Harald Fecher and Sharon Shoham. 2011. Local abstraction–refinement for the µ-calculus. STTT 13, 4 (2011), 289–306.
[19]
Jeanne Ferrante and Charles Rackoff. 1975. A decision procedure for the first order theory of real addition with order. SIAM J. Comput. 4, 1 (1975), 69–76.
[20]
Michael J Fischer and Michael O Rabin. 1974. Super-Exponential Complexity of Presburger Arithmetic. Technical Report. Project MAC Mass. Inst. Of Tech.
[21]
David Gale and Frank M Stewart. 1953. Infinite games with perfect information. Contributions to the Theory of Games 2 (1953), 245–266.
[22]
Orna Grumberg, Martin Lange, Martin Leucker, and Sharon Shoham. 2005. Don’t know in the µ-calculus. In VMCAI. 233–249.
[23]
Orna Grumberg, Martin Lange, Martin Leucker, and Sharon Shoham. 2007. When not losing is better than winning: Abstraction and refinement for the full µ-calculus. Information and Computation 205, 8 (2007), 1130–1148.
[24]
Ashutosh Gupta, Thomas A. Henzinger, Rupak Majumdar, Andrey Rybalchenko, and Ru-Gang Xu. 2008. Proving nontermination. In POPL. 147–158.
[25]
Arie Gurfinkel and Marsha Chechik. 2006. Why waste a perfectly good abstraction? In TACAS. 212–226.
[26]
Aidan Harding, Mark Ryan, and Pierre-Yves Schobbens. 2005. A new algorithm for strategy synthesis in LTL games. In TACASs. Springer, 477–492.
[27]
Jaakko Hintikka. 1982. Game-theoretical semantics: insights and prospects. Notre Dame Journal of Formal Logic Notre-Dame, Ind. 23, 2 (1982), 219–241.
[28]
Antonius J. C. Hurkens, Cor A. J. Hurkens, and Gerhard J. Woeginger. 2011. How Cinderella Won the Bucket Game (and Lived Happily Ever After). Mathematics Magazine 84, 4 (2011), pp. 278–283.
[29]
Barbara Jobstmann, Andreas Griesmayer, and Roderick Bloem. 2005. Program Repair as a Game. In CAV. 226–238.
[30]
Viktor Kuncak, Mikaël Mayer, Ruzica Piskac, and Philippe Suter. 2010. Complete functional synthesis. In PLDI. 316–329.
[31]
Orna Kupferman and Moshe Y. Vardi. 1999. Robust satisfaction. In CONCUR. 383–398.
[32]
Zohar Manna and Richard Waldinger. 1980. A Deductive Approach to Program Synthesis. ACM Trans. Program. Lang. Syst. 2, 1 (Jan. 1980), 90–121.
[33]
David Marker. 2000. Introduction to model theory. Model theory, algebra, and geometry 39 (2000), 15–35.
[34]
Donald A. Martin. 1975. Borel Determinacy. Annals of Mathematics 102, 2 (1975), 363–371.
[35]
Kenneth McMillan. 2006. Lazy abstraction with interpolants. In CAV. 123–136.
[36]
Kenneth McMillan and Andrey Rybalchenko. 2013. Solving Constrained Horn Clauses using Interpolation. Technical Report. MSR.
[37]
Nir Piterman, Amir Pnueli, and Yaniv SaâĂŹar. 2006. Synthesis of reactive(1) designs. In VMCAI. 364–380.
[38]
Amir Pnueli and Yonit Kesten. 2002. A Deductive Proof System for CTL*. In CONCUR. 24–40.
[39]
Amir Pnueli and Roni Rosner. 1989. On the synthesis of a reactive module. In POPL. ACM, 179–190.
[40]
Andrew Reynolds, Morgan Deters, Viktor Kuncak, Cesare Tinelli, and Clark W. Barrett. 2015. Counterexample-Guided Quantifier Instantiation for Synthesis in SMT. In CAV. 198–216.
[41]
Armando Solar-Lezama, Liviu Tancau, Rastislav Bodík, Sanjit A. Seshia, and Vijay A. Saraswat. 2006. Combinatorial sketching for finite programs. In ASPLOS. 404–415.
[42]
Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster. 2010. From program verification to program synthesis. In POPL. 313–326.
[43]
Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster. 2013. Template-based program verification and program synthesis. International Journal on Software Tools for Technology Transfer 15, 5 (01 Oct 2013), 497–518.
[44]
Wolfgang Thomas. 1995. On the synthesis of strategies in infinite games. In STACS. 1–13.
[45]
Martin T. Vechev, Eran Yahav, and Greta Yorsh. 2010. Abstraction-guided synthesis of synchronization. In POPL. 327–338.
[46]
Igor Walukiewicz. 2001. Pushdown processes: Games and model-checking. Information and computation 164, 2 (2001), 234–263.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 2, Issue POPL
January 2018
1961 pages
EISSN:2475-1421
DOI:10.1145/3177123
Issue’s Table of Contents
Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 27 December 2017
Published in PACMPL Volume 2, Issue POPL

Check for updates

Badges

Author Tags

  1. Functional synthesis
  2. Logical games
  3. Reactive synthesis

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)120
  • Downloads (Last 6 weeks)16
Reflects downloads up to 10 Oct 2024

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media