Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article
Open access

An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification

Published: 05 January 2024 Publication History

Abstract

First-order logic, and quantifiers in particular, are widely used in deductive verification of programs and systems. Quantifiers are essential for describing systems with unbounded domains, but prove difficult for automated solvers. Significant effort has been dedicated to finding quantifier instantiations that establish unsatisfiability of quantified formulas, thus ensuring validity of a system’s verification conditions. However, in many cases the formulas are satisfiable—this is often the case in intermediate steps of the verification process, e.g., when an invariant is not yet inductive. For such cases, existing tools are limited to finding finite models as counterexamples. Yet, some quantified formulas are satisfiable but only have infinite models, which current solvers are unable to find. Such infinite counter-models are especially typical when first-order logic is used to approximate the natural numbers, the integers, or other inductive definitions such as linked lists, which is common in deductive verification. The inability of solvers to find infinite models makes them diverge in these cases, providing little feedback to the user as they try to make progress in their verification attempts. In this paper, we tackle the problem of finding such infinite models, specifically, finite representations thereof that can be presented to the user of a deductive verification tool. These models give insight into the verification failure, and allow the user to identify and fix bugs in the modeling of the system and its properties. Our approach consists of three parts. First, we introduce symbolic structures as a way to represent certain infinite models, and show they admit an efficient model checking procedure. Second, we describe an effective model finding procedure that symbolically explores a given (possibly infinite) family of symbolic structures in search of an infinite model for a given formula. Finally, we identify a new decidable fragment of first-order logic that extends and subsumes the many-sorted variant of EPR, where satisfiable formulas always have a model representable by a symbolic structure within a known family, making our model finding procedure a decision procedure for that fragment. We evaluate our approach on examples from the domains of distributed consensus protocols and of heap-manipulating programs (specifically, linked lists). Our implementation quickly finds infinite counter-models that demonstrate the source of verification failures in a simple way, while state-of-the-art SMT solvers and theorem provers such as Z3, cvc5, and Vampire diverge or return “unknown”.

References

[1]
Wilhelm Ackermann. 1928. Über die Erfüllbarkeit gewisser Zählausdrücke. Math. Ann., 100, 1 (1928), 638–649. https://doi.org/10.1007/BF01448869
[2]
Rajeev Alur, Rastislav Bodík, Garvit Juniwal, Milo M. K. 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, Portland, OR, USA, October 20-23, 2013. IEEE, 1–8. https://doi.org/10.1109/FMCAD.2013.6679385
[3]
Leo Bachmair and Harald Ganzinger. 2001. Resolution Theorem Proving. In Handbook of Automated Reasoning. Elsevier and MIT Press, 19–99.
[4]
Thomas Ball, Nikolaj S. Bjørner, Aaron Gember, Shachar Itzhaky, Aleksandr Karbyshev, Mooly Sagiv, Michael Schapira, and Asaf Valadarsky. 2014. VeriCon: towards verifying controller programs in software-defined networks. In ACM SIGPLAN Conference on Programming Language Design and Implementation, PLDI ’14, Edinburgh, United Kingdom - June 09 - 11, 2014, Michael F. P. O’Boyle and Keshav Pingali (Eds.). ACM, 282–293. https://doi.org/10.1145/2594291.2594317
[5]
Kshitij Bansal, Andrew Reynolds, Tim King, Clark W. Barrett, and Thomas Wies. 2015. Deciding Local Theory Extensions via E-matching. In CAV (2) (Lecture Notes in Computer Science, Vol. 9207). Springer, 87–105. https://doi.org/10.1007/978-3-319-21668-3_6
[6]
Vince Bárány, Erich Grädel, and Sasha Rubin. 2011. Automata-based presentations of infinite structures. In Finite and Algorithmic Model Theory (London Mathematical Society Lecture Note Series, Vol. 379). Cambridge University Press, 1–76. https://doi.org/10.1017/CBO9780511974960.002
[7]
Haniel Barbosa, Clark W. Barrett, Martin Brain, Gereon Kremer, Hanna Lachnitt, Makai Mann, Abdalrhman Mohamed, Mudathir Mohamed, Aina Niemetz, Andres Nötzli, Alex Ozdemir, Mathias Preiner, Andrew Reynolds, Ying Sheng, Cesare Tinelli, and Yoni Zohar. 2022. cvc5: A Versatile and Industrial-Strength SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13243). Springer, 415–442. https://doi.org/10.1007/978-3-030-99524-9_24
[8]
Clark Barrett, Pascal Fontaine, and Cesare Tinelli. 2017. The SMT-LIB Standard: Version 2.6. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org
[9]
Peter Baumgartner, Alexander Fuchs, and Cesare Tinelli. 2006. Implementing the Model Evolution Calculus. Int. J. Artif. Intell. Tools, 15, 1 (2006), 21–52. https://doi.org/10.1142/S0218213006002552
[10]
Peter Baumgartner and Cesare Tinelli. 2003. The Model Evolution Calculus. In CADE (Lecture Notes in Computer Science, Vol. 2741). Springer, 350–364. https://doi.org/10.1007/978-3-540-45085-6_32
[11]
Jasmin Christian Blanchette and Koen Claessen. 2010. Generating Counterexamples for Structural Inductions by Exploiting Nonstandard Models. In LPAR (Yogyakarta) (Lecture Notes in Computer Science, Vol. 6397). Springer, 127–141. https://doi.org/10.1007/978-3-642-16242-8_10
[12]
Achim Blumensath and Erich Grädel. 2004. Finite Presentations of Infinite Structures: Automata and Interpretations. Theory Comput. Syst., 37, 6 (2004), 641–674. https://doi.org/10.1007/s00224-004-1133-y
[13]
Egon Börger, Erich Grädel, and Yuri Gurevich. 2001. The classical decision problem. Springer Science & Business Media.
[14]
Aaron R. Bradley, Zohar Manna, and Henny B. Sipma. 2006. What’s Decidable About Arrays? In VMCAI (Lecture Notes in Computer Science, Vol. 3855). Springer, 427–442. https://doi.org/10.1007/11609773_28
[15]
J Richard Büchi. 1990. On a decision method in restricted second order arithmetic. In The collected works of J. Richard Büchi. Springer, 425–435. https://doi.org/10.1007/978-1-4613-8928-6_23
[16]
J. Richard Büchi and Lawrence H. Landweber. 1969. Definability in the Monadic Second-Order Theory of Successor. J. Symb. Log., 34, 2 (1969), 166–170. https://doi.org/10.2307/2271090
[17]
Ernest Chang and Rosemary Roberts. 1979. An improved algorithm for decentralized extrema-finding in circular configurations of processes. Commun. ACM, 22, 5 (1979), 281–283. https://doi.org/10.1145/359104.359108
[18]
David C Cooper. 1972. Theorem proving in arithmetic without multiplication. Machine intelligence, 7, 91-99 (1972), 300. https://doi.org/10.1007/10930755_5
[19]
Daniel Danielski and Emanuel Kieronski. 2019. Finite Satisfiability of Unary Negation Fragment with Transitivity. In MFCS (LIPIcs, Vol. 138). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 17:1–17:15. https://doi.org/10.4230/LIPIcs.MFCS.2019.17
[20]
Loris D’Antoni and Margus Veanes. 2021. Automata modulo theories. Commun. ACM, 64, 5 (2021), 86–95. https://doi.org/10.1145/3419404
[21]
Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2007. Efficient E-Matching for SMT Solvers. In CADE (Lecture Notes in Computer Science, Vol. 4603). Springer, 183–198. https://doi.org/10.1007/978-3-540-73595-3_13
[22]
Leonardo Mendonça de Moura and Nikolaj S. Bjørner. 2008. Z3: An Efficient SMT Solver. In Tools and Algorithms for the Construction and Analysis of Systems, 14th International Conference, TACAS 2008, Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2008, Budapest, Hungary, March 29-April 6, 2008. Proceedings, C. R. Ramakrishnan and Jakob Rehof (Eds.) (Lecture Notes in Computer Science, Vol. 4963). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
[23]
David Detlefs, Greg Nelson, and James B. Saxe. 2005. Simplify: a theorem prover for program checking. J. ACM, 52, 3 (2005), 365–473. https://doi.org/10.1145/1066100.1066102
[24]
Claire Dross, Sylvain Conchon, Johannes Kanig, and Andrei Paskevich. 2016. Adding Decision Procedures to SMT Solvers Using Axioms with Triggers. J. Autom. Reason., 56, 4 (2016), 387–457. https://doi.org/10.1007/s10817-015-9352-2
[25]
Bruno Dutertre and Leonardo De Moura. 2006. The yices smt solver. Tool paper at http://yices. csl. sri. com/tool-paper. pdf, 2, 2 (2006), 1–2.
[26]
Neta Elad, Oded Padon, and Sharon Shoham. [n. d.]. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification (Artifact). https://doi.org/10.5281/zenodo.8404103
[27]
Neta Elad, Oded Padon, and Sharon Shoham. 2023. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification (Artifact). https://doi.org/10.5281/zenodo.10125136
[28]
Neta Elad, Oded Padon, and Sharon Shoham. 2023. An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification. https://doi.org/10.48550/arXiv.2310.16762 arxiv:2310.16762.
[29]
Yotam M. Y. Feldman, Oded Padon, Neil Immerman, Mooly Sagiv, and Sharon Shoham. 2017. Bounded Quantifier Instantiation for Checking Inductive Invariants. In TACAS (1) (Lecture Notes in Computer Science, Vol. 10205). 76–95. https://doi.org/10.1007/978-3-662-54577-5_5
[30]
Yeting Ge and Leonardo Mendonça de Moura. 2009. Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories. In Computer Aided Verification, 21st International Conference, CAV 2009, Grenoble, France, June 26 - July 2, 2009. Proceedings, Ahmed Bouajjani and Oded Maler (Eds.) (Lecture Notes in Computer Science, Vol. 5643). Springer, 306–320. https://doi.org/10.1007/978-3-642-02658-4_25
[31]
Rob Gerth, Doron A. Peled, Moshe Y. Vardi, and Pierre Wolper. 1995. Simple on-the-fly automatic verification of linear temporal logic. In PSTV (IFIP Conference Proceedings, Vol. 38). Chapman & Hall, 3–18. https://doi.org/10.1007/978-0-387-34892-6_1
[32]
Kurt Gödel. 1932. Ein Spezialfall des Entscheidungsproblems der theoretischen Logik. Ergebnisse eines mathematischen Kolloquiums, 2 (1932), 27–28.
[33]
Aman Goel and Karem A. Sakallah. 2021. On Symmetry and Quantification: A New Approach to Verify Distributed Protocols. In NFM (Lecture Notes in Computer Science, Vol. 12673). Springer, 131–150. https://doi.org/10.1007/978-3-030-76384-8_9
[34]
Aman Goel and Karem A. Sakallah. 2021. Towards an Automatic Proof of Lamport’s Paxos. In FMCAD. IEEE, 112–122. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_20
[35]
Susanne Graf and Hassen Saïdi. 1997. Construction of Abstract State Graphs with PVS. In Computer Aided Verification, 9th International Conference, CAV ’97, Haifa, Israel, June 22-25, 1997, Proceedings, Orna Grumberg (Ed.) (Lecture Notes in Computer Science, Vol. 1254). Springer, 72–83. https://doi.org/10.1007/3-540-63166-6_10
[36]
Yuri Gurevich. 1976. The decision problem for standard classes. The Journal of Symbolic Logic, 41, 2 (1976), 460–464. https://doi.org/10.1017/S0022481200051513
[37]
Márton Hajdú, Petra Hozzová, Laura Kovács, and Andrei Voronkov. 2021. Induction with Recursive Definitions in Superposition. In FMCAD. IEEE, 1–10. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_34
[38]
Travis Hance, Marijn Heule, Ruben Martins, and Bryan Parno. 2021. Finding Invariants of Distributed Systems: It’s a Small (Enough) World After All. In 18th USENIX Symposium on Networked Systems Design and Implementation, NSDI 2021, April 12-14, 2021, James Mickens and Renata Teixeira (Eds.). USENIX Association, 115–131. https://www.usenix.org/conference/nsdi21/presentation/hance
[39]
Matthias Horbach and Viorica Sofronie-Stokkermans. 2013. Obtaining Finite Local Theory Axiomatizations via Saturation. In Frontiers of Combining Systems - 9th International Symposium, FroCoS 2013, Nancy, France, September 18-20, 2013. Proceedings, Pascal Fontaine, Christophe Ringeissen, and Renate A. Schmidt (Eds.) (Lecture Notes in Computer Science, Vol. 8152). Springer, 198–213. https://doi.org/10.1007/978-3-642-40885-4_14
[40]
Heidi Howard, Dahlia Malkhi, and Alexander Spiegelman. 2016. Flexible Paxos: Quorum Intersection Revisited. In 20th International Conference on Principles of Distributed Systems, OPODIS 2016, December 13-16, 2016, Madrid, Spain, Panagiota Fatourou, Ernesto Jiménez, and Fernando Pedone (Eds.) (LIPIcs, Vol. 70). Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 25:1–25:14. https://doi.org/10.4230/LIPIcs.OPODIS.2016.25
[41]
Petra Hozzová, Laura Kovács, and Andrei Voronkov. 2021. Integer Induction in Saturation. In CADE (Lecture Notes in Computer Science, Vol. 12699). Springer, 361–377. https://doi.org/10.1007/978-3-030-79876-5_21
[42]
Shachar Itzhaky, Anindya Banerjee, Neil Immerman, Ori Lahav, Aleksandar Nanevski, and Mooly Sagiv. 2014. Modular reasoning about heap paths via effectively propositional formulas. In The 41st Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’14, San Diego, CA, USA, January 20-21, 2014, Suresh Jagannathan and Peter Sewell (Eds.). ACM, 385–396. https://doi.org/10.1145/2535838.2535854
[43]
Shachar Itzhaky, Anindya Banerjee, Neil Immerman, Aleksandar Nanevski, and Mooly Sagiv. 2013. Effectively-Propositional Reasoning about Reachability in Linked Data Structures. In CAV (Lecture Notes in Computer Science, Vol. 8044). Springer, 756–772. https://doi.org/10.1007/978-3-642-39799-8_53
[44]
Swen Jacobs. 2009. Incremental Instance Generation in Local Reasoning. In CAV (Lecture Notes in Computer Science, Vol. 5643). Springer, 368–382. https://doi.org/10.1007/978-3-642-02658-4_29
[45]
Aleksandr Karbyshev, Nikolaj S. Bjørner, Shachar Itzhaky, Noam Rinetzky, and Sharon Shoham. 2017. Property-Directed Inference of Universal Invariants or Proving Their Absence. J. ACM, 64, 1 (2017), 7:1–7:33. https://doi.org/10.1145/3022187
[46]
Matt Kaufmann, Panagiotis Manolios, and J Strother Moore. 2013. Computer-aided reasoning: ACL2 case studies. 4, Springer Science & Business Media. https://doi.org/10.1007/978-1-4757-3188-0
[47]
Matt Kaufmann and J. Strother Moore. 1997. An Industrial Strength Theorem Prover for a Logic Based on Common Lisp. IEEE Trans. Software Eng., 23, 4 (1997), 203–213. https://doi.org/10.1109/32.588534
[48]
Bakhadyr Khoussainov and Anil Nerode. 1994. Automatic Presentations of Structures. In Logical and Computational Complexity. Selected Papers. Logic and Computational Complexity, International Workshop LCC ’94, Indianapolis, Indiana, USA, 13-16 October 1994, Daniel Leivant (Ed.) (Lecture Notes in Computer Science, Vol. 960). Springer, 367–392. https://doi.org/10.1007/3-540-60178-3_93
[49]
Bartek Klin and Michal Szynwelski. 2016. SMT Solving for Functional Programming over Infinite Structures. In MSFP (EPTCS, Vol. 207). 57–75. https://doi.org/10.4204/EPTCS.207.3
[50]
Jason R. Koenig, Oded Padon, Sharon Shoham, and Alex Aiken. 2022. Inferring Invariants with Quantifier Alternations: Taming the Search Space Explosion. In Tools and Algorithms for the Construction and Analysis of Systems - 28th International Conference, TACAS 2022, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022, Munich, Germany, April 2-7, 2022, Proceedings, Part I, Dana Fisman and Grigore Rosu (Eds.) (Lecture Notes in Computer Science, Vol. 13243). Springer, 338–356. https://doi.org/10.1007/978-3-030-99524-9_18
[51]
Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst., 16, 2 (1998), 133–169. https://doi.org/10.1145/279227.279229
[52]
Leslie Lamport. 2019. The Paxos Algorithm - or How to Win a Turing Award. https://lamport.azurewebsites.net/tla/paxos-algorithm.html
[53]
K. Rustan M. Leino. 2012. Automating Induction with an SMT Solver. In VMCAI (Lecture Notes in Computer Science, Vol. 7148). Springer, 315–331. https://doi.org/10.1007/978-3-642-27940-9_21
[54]
Tal Lev-Ami and Shmuel Sagiv. 2000. TVLA: A System for Implementing Static Analyses. In SAS (Lecture Notes in Computer Science, Vol. 1824). Springer, 280–301. https://doi.org/10.1007/978-3-540-45099-3_15
[55]
Harry R. Lewis. 1980. Complexity Results for Classes of Quantificational Formulas. J. Comput. Syst. Sci., 21, 3 (1980), 317–353. https://doi.org/10.1016/0022-0000(80)90027-6
[56]
Martin Löb. 1967. Decidability of the monadic predicate calculus with unary function symbols. Journal of Symbolic Logic, 32, 4 (1967), 563.
[57]
Christof Löding, P. Madhusudan, and Lucas Peña. 2018. Foundations for natural proofs and quantifier instantiation. Proc. ACM Program. Lang., 2, POPL (2018), 10:1–10:30. https://doi.org/10.1145/3158098
[58]
Christopher Lynch. 2013. Constructing Bachmair-Ganzinger Models. In Programming Logics (Lecture Notes in Computer Science, Vol. 7797). Springer, 285–301. https://doi.org/10.1007/978-3-642-37651-1_12
[59]
Christopher Lynch and Stephen Miner. 2023. Complete Trigger Selection in Satisfiability Modulo First-Order Theories. In Proceedings of the 21st International Workshop on Satisfiability Modulo Theories (SMT 2023) co-located with the 29th International Conference on Automated Deduction (CADE 2023), Rome, Italy, July, 5-6, 2023, Stéphane Graham-Lengrand and Mathias Preiner (Eds.) (CEUR Workshop Proceedings, Vol. 3429). CEUR-WS.org, 18–32. https://doi.org/10.48550/arXiv.2306.09436
[60]
Haojun Ma, Aman Goel, Jean-Baptiste Jeannin, Manos Kapritsos, Baris Kasikci, and Karem A. Sakallah. 2019. I4: incremental inference of inductive invariants for verification of distributed protocols. In SOSP. ACM, 370–384. https://doi.org/10.1145/3341301.3359651
[61]
Umang Mathur, P. Madhusudan, and Mahesh Viswanathan. 2019. Decidable verification of uninterpreted programs. Proc. ACM Program. Lang., 3, POPL (2019), 46:1–46:29. https://doi.org/10.1145/3290359
[62]
Umang Mathur, P. Madhusudan, and Mahesh Viswanathan. 2020. What’s Decidable About Program Verification Modulo Axioms? In TACAS (2) (Lecture Notes in Computer Science, Vol. 12079). Springer, 158–177. https://doi.org/10.1007/978-3-030-45237-7_10
[63]
Kenneth L. McMillan and Oded Padon. 2018. Deductive Verification in Decidable Fragments with Ivy. In SAS (Lecture Notes in Computer Science, Vol. 11002). Springer, 43–55. https://doi.org/10.1007/978-3-319-99725-4_4
[64]
Kenneth L. McMillan and Oded Padon. 2020. Ivy: A Multi-modal Verification Tool for Distributed Algorithms. In CAV (2) (Lecture Notes in Computer Science, Vol. 12225). Springer, 190–202. https://doi.org/10.1007/978-3-030-53291-8_12
[65]
Michael Mortimer. 1975. On languages with two variables. Mathematical Logic Quarterly, 21, 1 (1975), 135–140. https://doi.org/10.1002/malq.19750210118
[66]
Adithya Murali, Lucas Peña, Eion Blanchard, Christof Löding, and P. Madhusudan. 2022. Model-guided synthesis of inductive lemmas for FOL with least fixpoints. Proc. ACM Program. Lang., 6, OOPSLA2 (2022), 1873–1902. https://doi.org/10.1145/3563354
[67]
Daniel Neider, Pranav Garg, P. Madhusudan, Shambwaditya Saha, and Daejun Park. 2018. Invariant Synthesis for Incomplete Verification Engines. In TACAS (1) (Lecture Notes in Computer Science, Vol. 10805). Springer, 232–250. https://doi.org/10.1007/978-3-319-89960-2_13
[68]
Oded Padon, Giuliano Losa, Mooly Sagiv, and Sharon Shoham. 2017. Paxos made EPR: decidable reasoning about distributed protocols. Proc. ACM Program. Lang., 1, OOPSLA (2017), 108:1–108:31. https://doi.org/10.1145/3140568
[69]
Oded Padon, Kenneth L. McMillan, Aurojit Panda, Mooly Sagiv, and Sharon Shoham. 2016. Ivy: safety verification by interactive generalization. In PLDI. ACM, 614–630. https://doi.org/10.1145/2908080.2908118
[70]
Oded Padon, James R. Wilcox, Jason R. Koenig, Kenneth L. McMillan, and Alex Aiken. 2022. Induction duality: primal-dual search for invariants. Proc. ACM Program. Lang., 6, POPL (2022), 1–29. https://doi.org/10.1145/3498712
[71]
Julian Parsert, Chad E. Brown, Mikolas Janota, and Cezary Kaliszyk. 2023. Experiments on Infinite Model Finding in SMT Solving. In LPAR 2023: Proceedings of 24th International Conference on Logic for Programming, Artificial Intelligence and Reasoning, Manizales, Colombia, 4-9th June 2023, Ruzica Piskac and Andrei Voronkov (Eds.) (EPiC Series in Computing, Vol. 94). EasyChair, 317–328. https://doi.org/10.29007/slrm
[72]
Nicolas Peltier. 2003. Building Infinite Models for Equational Clause Sets: Constructing Non-Ambiguous Formulae. Log. J. IGPL, 11, 1 (2003), 97–129. https://doi.org/10.1093/jigpal/11.1.97
[73]
Mathias Preiner, Aina Niemetz, and Armin Biere. 2017. Counterexample-Guided Model Synthesis. In TACAS (1) (Lecture Notes in Computer Science, Vol. 10205). 264–280. https://doi.org/10.1007/978-3-662-54577-5_15
[74]
Michael O Rabin. 1969. Decidability of second-order theories and automata on infinite trees. Transactions of the american Mathematical Society, 141 (1969), 1–35. https://doi.org/10.2307/1995086
[75]
Frank P Ramsey. 1930. On a Problem of Formal Logic. Procedures of London Mathematical Society, 30 (1930), 264–285. https://doi.org/10.1007/978-0-8176-4842-8_1
[76]
Giles Reger, Martin Suda, and Andrei Voronkov. 2016. Finding Finite Models in Multi-sorted First-Order Logic. In Theory and Applications of Satisfiability Testing - SAT 2016 - 19th International Conference, Bordeaux, France, July 5-8, 2016, Proceedings, Nadia Creignou and Daniel Le Berre (Eds.) (Lecture Notes in Computer Science, Vol. 9710). Springer, 323–341. https://doi.org/10.1007/978-3-319-40970-2_20
[77]
Andrew Reynolds and Jasmin Christian Blanchette. 2017. A Decision Procedure for (Co)datatypes in SMT Solvers. J. Autom. Reason., 58, 3 (2017), 341–362. https://doi.org/10.1007/s10817-016-9372-6
[78]
Andrew Reynolds and Viktor Kuncak. 2015. Induction for SMT Solvers. In VMCAI (Lecture Notes in Computer Science, Vol. 8931). Springer, 80–98. https://doi.org/10.1007/978-3-662-46081-8_5
[79]
Andrew Reynolds, Cesare Tinelli, Amit Goel, and Sava Krstic. 2013. Finite Model Finding in SMT. In CAV (Lecture Notes in Computer Science, Vol. 8044). Springer, 640–655. https://doi.org/10.5555/2958031.2958040
[80]
Andrew Reynolds, Cesare Tinelli, Amit Goel, Sava Krstic, Morgan Deters, and Clark W. Barrett. 2013. Quantifier Instantiation Techniques for Finite Model Finding in SMT. In CADE (Lecture Notes in Computer Science, Vol. 7898). Springer, 377–391. https://doi.org/10.1007/978-3-642-38574-2_26
[81]
Alexandre Riazanov and Andrei Voronkov. 1999. Vampire. In CADE (Lecture Notes in Computer Science, Vol. 1632). Springer, 292–296. https://doi.org/10.1007/3-540-48660-7_26
[82]
Kristin Y. Rozier and Moshe Y. Vardi. 2007. LTL Satisfiability Checking. In SPIN (Lecture Notes in Computer Science, Vol. 4595). Springer, 149–167. https://doi.org/10.1007/s10009-010-0140-3
[83]
Shmuel Sagiv, Thomas W. Reps, and Reinhard Wilhelm. 1999. Parametric Shape Analysis via 3-Valued Logic. In POPL. ACM, 105–118. https://doi.org/10.1145/514188.514190
[84]
Johannes Schoisswohl and Laura Kovács. 2021. Automating Induction by Reflection. In LFMTP (EPTCS, Vol. 337). 39–54. https://doi.org/10.4204/EPTCS.337.4
[85]
Saharon Shelah. 1977. Decidability of a portion of the predicate calculus. Israel Journal of Mathematics, 28, 1 (1977), 32–44. https://doi.org/10.1007/BF02759780
[86]
Marcelo Taube, Giuliano Losa, Kenneth L. McMillan, Oded Padon, Mooly Sagiv, Sharon Shoham, James R. Wilcox, and Doug Woos. 2018. Modularity for decidability of deductive verification with applications to distributed systems. In PLDI. ACM, 662–677. https://doi.org/10.1145/3192366.3192414
[87]
Moshe Y. Vardi. 1995. An Automata-Theoretic Approach to Linear Temporal Logic. In Banff Higher Order Workshop (Lecture Notes in Computer Science, Vol. 1043). Springer, 238–266. https://doi.org/10.1007/3-540-60915-6_6
[88]
Niki Vazou, Anish Tondwalkar, Vikraman Choudhury, Ryan G. Scott, Ryan R. Newton, Philip Wadler, and Ranjit Jhala. 2018. Refinement reflection: complete verification with SMT. Proc. ACM Program. Lang., 2, POPL (2018), 53:1–53:31. https://doi.org/10.1145/3158141
[89]
Marco Voigt. 2019. Decidable fragments of first-order logic and of first-order linear arithmetic with uninterpreted predicates. Ph. D. Dissertation. Saarland University, Saarbrücken, Germany.
[90]
Christoph Weidenbach, Dilyana Dimova, Arnaud Fietzke, Rohit Kumar, Martin Suda, and Patrick Wischnewski. 2009. SPASS Version 3.5. In CADE (Lecture Notes in Computer Science, Vol. 5663). Springer, 140–145. https://doi.org/10.1007/978-3-642-02959-2_10
[91]
Jianan Yao, Runzhou Tao, Ronghui Gu, and Jason Nieh. 2022. DuoAI: Fast, Automated Inference of Inductive Invariants for Verifying Distributed Protocols. In 16th USENIX Symposium on Operating Systems Design and Implementation, OSDI 2022, Carlsbad, CA, USA, July 11-13, 2022, Marcos K. Aguilera and Hakim Weatherspoon (Eds.). USENIX Association, 485–501. https://www.usenix.org/conference/osdi22/presentation/yao
[92]
Jianan Yao, Runzhou Tao, Ronghui Gu, Jason Nieh, Suman Jana, and Gabriel Ryan. 2021. DistAI: Data-Driven Automated Invariant Learning for Distributed Protocols. In OSDI. USENIX Association, 405–421.

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Proceedings of the ACM on Programming Languages
Proceedings of the ACM on Programming Languages  Volume 8, Issue POPL
January 2024
2820 pages
EISSN:2475-1421
DOI:10.1145/3554315
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution-NoDerivatives 4.0 International License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 January 2024
Published in PACMPL Volume 8, Issue POPL

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. Paxos
  2. counter-models
  3. deductive verification
  4. infinite models

Qualifiers

  • Research-article

Funding Sources

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 353
    Total Downloads
  • Downloads (Last 12 months)353
  • Downloads (Last 6 weeks)47
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

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