Axe 'Em: Eliminating Spurious States with Induction Axioms (2410.18671v2)
Abstract: First-order logic (FOL) has proved to be a versatile and expressive tool as the basis of abstract modeling languages. Used to verify complex systems with unbounded domains, such as heap-manipulating programs and distributed protocols, FOL, and specifically uninterpreted functions and quantifiers, strike a balance between expressiveness and amenity to automation. However, FOL semantics may differ in important ways from the intended semantics of the modeled system, due to the inability to distinguish between finite and infinite first-order structures, for example, or the undefinability of well-founded relations in FOL. This semantic gap may give rise to spurious states and unreal behaviors, which only exist as an artifact of the first-order abstraction and impede the verification process. In this paper we take a step towards bridging this semantic gap. We present an approach for soundly refining the first-order abstraction according to either well-founded semantics or finite-domain semantics, utilizing induction axioms for an abstract order relation, a common primitive in verification. We first formalize sound axiom schemata for each of the aforementioned semantics, based on well-founded induction. Second, we show how to use spurious counter-models, which are necessarily infinite, to guide the instantiation of these axiom schemata. Finally, we present a sound and complete reduction of well-founded semantics and finite-domain semantics to standard semantics in the recently discovered Ordered Self-Cycle (OSC) fragment of FOL, and prove that satisfiability under these semantics is decidable in OSC. We implement a prototype tool to evaluate our approach, and test it on various examples where spurious models arise. Our tool quickly finds the necessary axioms to refine the semantics, and successfully completes the verification process.
- 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
- 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 (Lecture Notes in Computer Science, Vol. 13243), Dana Fisman and Grigore Rosu (Eds.). Springer, 415–442. https://doi.org/10.1007/978-3-030-99524-9_24
- The SMT-LIB Standard: Version 2.6. Technical Report. Department of Computer Science, The University of Iowa. Available at www.SMT-LIB.org.
- A decision procedure for satisfiability in separation logic with inductive predicates. In Joint Meeting of the Twenty-Third EACSL Annual Conference on Computer Science Logic (CSL) and the Twenty-Ninth Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), CSL-LICS ’14, Vienna, Austria, July 14 - 18, 2014, Thomas A. Henzinger and Dale Miller (Eds.). ACM, 25:1–25:10. https://doi.org/10.1145/2603088.2603091
- 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
- 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
- Towards a unified proof framework for automated fixpoint reasoning using matching logic. Proc. ACM Program. Lang. 4, OOPSLA (2020), 161:1–161:29. https://doi.org/10.1145/3428229
- Automating Inductive Proofs Using Theory Exploration. In Automated Deduction - CADE-24 - 24th International Conference on Automated Deduction, Lake Placid, NY, USA, June 9-14, 2013. Proceedings (Lecture Notes in Computer Science, Vol. 7898), Maria Paola Bonacina (Ed.). Springer, 392–406. https://doi.org/10.1007/978-3-642-38574-2_27
- David C Cooper. 1972. Theorem proving in arithmetic without multiplication. Machine intelligence 7, 91-99 (1972), 300. https://doi.org/10.1007/10930755_5
- 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
- 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 (Lecture Notes in Computer Science, Vol. 4963), C. R. Ramakrishnan and Jakob Rehof (Eds.). Springer, 337–340. https://doi.org/10.1007/978-3-540-78800-3_24
- Edsger W. Dijkstra. 1974. Self-stabilizing Systems in Spite of Distributed Control. Commun. ACM 17, 11 (1974), 643–644. https://doi.org/10.1145/361179.361202
- The Elementary Theory of Well-Ordering—A Metamathematical Study—. In Studies in Logic and the Foundations of Mathematics. Vol. 96. Elsevier, 1–54.
- An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification. CoRR abs/2310.16762 (2023). https://doi.org/10.48550/ARXIV.2310.16762 arXiv:2310.16762
- An Infinite Needle in a Finite Haystack: Finding Infinite Counter-Models in Deductive Verification. Proc. ACM Program. Lang. 8, POPL (2024), 970–1000. https://doi.org/10.1145/3632875
- Neta Elad and Sharon Shoham. [n. d.]. Axe ’Em: Eliminating Spurious States with Induction Axioms (Artifact). https://doi.org/10.5281/zenodo.13912208
- Neta Elad and Sharon Shoham. 2024. Axe ’Em: Eliminating Spurious States with Induction Axioms (Artifact). https://doi.org/10.5281/zenodo.13912279
- 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
- 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
- Induction with Generalization in Superposition Reasoning. In Intelligent Computer Mathematics - 13th International Conference, CICM 2020, Bertinoro, Italy, July 26-31, 2020, Proceedings (Lecture Notes in Computer Science, Vol. 12236), Christoph Benzmüller and Bruce R. Miller (Eds.). Springer, 123–137. https://doi.org/10.1007/978-3-030-53518-6_8
- Induction with Recursive Definitions in Superposition. In FMCAD. IEEE, 1–10. https://doi.org/10.34727/2021/isbn.978-3-85448-046-4_34
- Son Ho and Clément Pit-Claudel. 2024. Incremental Proof Development in Dafny with Module-Based Induction. CoRR abs/2401.16233 (2024). https://doi.org/10.48550/ARXIV.2401.16233 arXiv:2401.16233
- 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 (Lecture Notes in Computer Science, Vol. 8152), Pascal Fontaine, Christophe Ringeissen, and Renate A. Schmidt (Eds.). Springer, 198–213. https://doi.org/10.1007/978-3-642-40885-4_14
- 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
- Theory Refinement for Program Verification. In Theory and Applications of Satisfiability Testing - SAT 2017 - 20th International Conference, Melbourne, VIC, Australia, August 28 - September 1, 2017, Proceedings (Lecture Notes in Computer Science, Vol. 10491), Serge Gaspers and Toby Walsh (Eds.). Springer, 347–363. https://doi.org/10.1007/978-3-319-66263-3_22
- 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
- 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
- Emil Jerábek. 2024. A note on the theory of well orders. CoRR abs/2405.05779 (2024). https://doi.org/10.48550/ARXIV.2405.05779 arXiv:2405.05779
- Solving constrained Horn clauses modulo algebraic data types and recursive functions. Proc. ACM Program. Lang. 6, POPL (2022), 1–29. https://doi.org/10.1145/3498722
- Effective Entailment Checking for Separation Logic with Inductive Definitions. In Tools and Algorithms for the Construction and Analysis of Systems - 25th International Conference, TACAS 2019, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, April 6-11, 2019, Proceedings, Part II (Lecture Notes in Computer Science, Vol. 11428), Tomás Vojnar and Lijun Zhang (Eds.). Springer, 319–336. https://doi.org/10.1007/978-3-030-17465-1_18
- Compositional Verification of Procedural Programs using Horn Clauses over Integers and Arrays. In Formal Methods in Computer-Aided Design, FMCAD 2015, Austin, Texas, USA, September 27-30, 2015, Roope Kaivola and Thomas Wahl (Eds.). IEEE, 89–96. https://doi.org/10.1109/FMCAD.2015.7542257
- SMT-Based Model Checking for Recursive Programs. In Computer Aided Verification - 26th International Conference, CAV 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 18-22, 2014. Proceedings (Lecture Notes in Computer Science, Vol. 8559), Armin Biere and Roderick Bloem (Eds.). Springer, 17–34. https://doi.org/10.1007/978-3-319-08867-9_2
- Shuvendu K. Lahiri and Shaz Qadeer. 2006. Verifying properties of well-founded linked lists. In Proceedings of the 33rd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2006, Charleston, South Carolina, USA, January 11-13, 2006, J. Gregory Morrisett and Simon L. Peyton Jones (Eds.). ACM, 115–126. https://doi.org/10.1145/1111037.1111048
- Shuvendu K Lahiri and Shaz Qadeer. 2007. A decision procedure for well-founded reachability. Technical Report. Technical Report MSR-TR-2007-43, Microsoft Research.
- Shuvendu K. Lahiri and Shaz Qadeer. 2008. Back to the future: revisiting precise program verification using SMT solvers. In Proceedings of the 35th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 2008, San Francisco, California, USA, January 7-12, 2008, George C. Necula and Philip Wadler (Eds.). ACM, 171–182. https://doi.org/10.1145/1328438.1328461
- Leslie Lamport. 1998. The Part-Time Parliament. ACM Trans. Comput. Syst. 16, 2 (1998), 133–169. https://doi.org/10.1145/279227.279229
- K. Rustan M. Leino. 2010. Dafny: An Automatic Program Verifier for Functional Correctness. In Logic for Programming, Artificial Intelligence, and Reasoning - 16th International Conference, LPAR-16, Dakar, Senegal, April 25-May 1, 2010, Revised Selected Papers (Lecture Notes in Computer Science, Vol. 6355), Edmund M. Clarke and Andrei Voronkov (Eds.). Springer, 348–370. https://doi.org/10.1007/978-3-642-17511-4_20
- K. Rustan M. Leino. 2012. Automating Induction with an SMT Solver. In Verification, Model Checking, and Abstract Interpretation - 13th International Conference, VMCAI 2012, Philadelphia, PA, USA, January 22-24, 2012. Proceedings (Lecture Notes in Computer Science, Vol. 7148), Viktor Kuncak and Andrey Rybalchenko (Eds.). Springer, 315–331. https://doi.org/10.1007/978-3-642-27940-9_21
- 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
- Foundations for natural proofs and quantifier instantiation. Proc. ACM Program. Lang. 2, POPL (2018), 10:1–10:30. https://doi.org/10.1145/3158098
- 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
- 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
- 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
- Lawrence C. Paulson. 1994. Isabelle - A Generic Theorem Prover (with a contribution by T. Nipkow). Lecture Notes in Computer Science, Vol. 828. Springer. https://doi.org/10.1007/BFB0030541
- 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
- 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
- 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
- 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
- Adrian Segall. 1983. Distributed network protocols. IEEE Trans. Inf. Theory 29, 1 (1983), 23–34. https://doi.org/10.1109/TIT.1983.1056620
- 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
- Reasoning About Vectors Using an SMT Theory of Sequences. In Automated Reasoning - 11th International Joint Conference, IJCAR 2022, Haifa, Israel, August 8-10, 2022, Proceedings (Lecture Notes in Computer Science, Vol. 13385), Jasmin Blanchette, Laura Kovács, and Dirk Pattinson (Eds.). Springer, 125–143. https://doi.org/10.1007/978-3-031-10769-6_9
- Modularity for decidability of deductive verification with applications to distributed systems. In PLDI. ACM, 662–677. https://doi.org/10.1145/3192366.3192414
- The Coq Development Team. 2024. The Coq Proof Assistant. https://doi.org/10.5281/zenodo.11551307
- The Open Logic Project. [n. d.]. Frame Definability. https://builds.openlogicproject.org/content/normal-modal-logic/frame-definability/frame-definability.pdf
- Guido Van Rossum and Fred L. Drake. 2009. Python 3 Reference Manual. CreateSpace, Scotts Valley, CA. https://doi.org/10.5555/1593511
- 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
- DistAI: Data-Driven Automated Invariant Learning for Distributed Protocols. In OSDI. USENIX Association, 405–421.
- Solving Constrained Horn Clauses over Algebraic Data Types. In Verification, Model Checking, and Abstract Interpretation - 24th International Conference, VMCAI 2023, Boston, MA, USA, January 16-17, 2023, Proceedings (Lecture Notes in Computer Science, Vol. 13881), Cezara Dragoi, Michael Emmi, and Jingbo Wang (Eds.). Springer, 341–365. https://doi.org/10.1007/978-3-031-24950-1_16
Sponsor
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.