Abstract
Automation of fixpoint reasoning has been extensively studied for various mathematical structures, logical formalisms, and computational domains, resulting in specialized fixpoint provers for heaps, for streams, for term algebras, for temporal properties, for program correctness, and for many other formal systems and inductive and coinductive properties. However, in spite of great theoretical and practical interest, there is no unified framework for automated fixpoint reasoning. Although several attempts have been made, there is no evidence that such a unified framework is possible, or practical. In this paper, we propose a candidate based on matching logic, a formalism recently shown to theoretically unify the above mentioned formal systems. Unfortunately, the (Knaster-Tarski) proof rule of matching logic, which enables inductive reasoning, is not syntax-driven. Worse, it can be applied at any step during a proof, making automation seem hopeless. Inspired by recent advances in automation of inductive proofs in separation logic, we propose an alternative proof system for matching logic, which is amenable for automation. We then discuss our implementation of it, which although not superior to specialized state-of-the-art automated provers for specific domains, we believe brings some evidence and hope that a unified framework for automated reasoning is not out of reach.
Supplemental Material
- David Baelde, Dale Miller, and Zachary Snow. 2010. Focused inductive theorem proving. In Proceedings of the 5th International Joint Conference on Automated Reasoning (IJCAR'10). Springer, Edinburgh, UK, 278-292. https://doi.org/10.1007/978-3-642-14203-1_24 Google Scholar
Digital Library
- Clark Barrett, Christopher L. Conway, Morgan Deters, Liana Hadarean, Dejan Jovanović, Tim King, Andrew Reynolds, and Cesare Tinelli. 2011. CVC4. In Proceedings of the 23rd International Conference on Computer Aided Verification (CAV'11). Springer, Berlin, Heidelberg, 171-177.Google Scholar
Cross Ref
- Josh Berdine, Cristiano Calcagno, and Peter W. O'Hearn. 2004. A decidable fragment of separation logic. In Proceedings of the 24th International Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS'04). Springer, Heidelberg, Germany, 97-109. https://doi.org/10.1007/978-3-540-30538-5_9 Google Scholar
Digital Library
- Josh Berdine, Cristiano Calcagno, and Peter W. O'Hearn. 2005. Symbolic execution with separation logic. In Proceedings of the 3rd Asian conference on Programming Languages and Systems (APLAS'05). Springer, Tsukuba, Japan, 52-68. https: //doi.org/10.1007/11575467_5 Google Scholar
Digital Library
- Nikolaj Bjørner and Joe Hendrix. 2009. Linear functional fixed-points. In Proceedings of the 21st International Conference on Computer Aided Verification (CAV'09). Springer, Grenoble, France, 124-139. https://doi.org/10.1007/978-3-642-02658-4_13 Google Scholar
Digital Library
- Patrick Blackburn, Maarten de Rijke, and Yde Venema. 2001. Modal logic. Cambridge University Press, New York, NY, USA.Google Scholar
- Denis Bogdănaş and Grigore Roşu. 2015. K-Java: A complete semantics of Java. In Proceedings of the 42nd Symposium on Principles of Programming Languages (POPL'15). ACM, Mumbai, India, 445-456. https://doi.org/10.1145/2676726.2676982 Google Scholar
Digital Library
- William W. Boone. 1958. The word problem. Proceedings of the National Academy of Sciences 44, 10 ( 1958 ), 1061-1065. https://doi.org/10.1073/pnas.44.10.1061 Google Scholar
Cross Ref
- Ahmed Bouajjani, Cezara Drăgoi, Constantin Enea, and Mihaela Sighireanu. 2009. A logic-based framework for reasoning about composite data structures. In Proceedings of the 20th International Conference on Concurrency Theory (CONCUR'09). Springer, Bologna, Italy, 178-195. https://doi.org/10.1007/978-3-642-04081-8_13 Google Scholar
Digital Library
- James Brotherston, Dino Distefano, and Rasmus Lerchedahl Petersen. 2011. Automated cyclic entailment proofs in separation logic. In Proceedings of the 23rd International Conference on Automated Deduction (CAV'11). Springer, Utah, USA, 131-146.Google Scholar
Digital Library
- James Brotherston, Carsten Fuhs, Juan A. Navarro Pérez, and Nikos Gorogiannis. 2014. A Decision Procedure for Satisfiability in Separation Logic with Inductive Predicates. In Proceedings of the 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) (Vienna, Austria) (CSL-LICS '14). ACM, New York, NY, USA, Article 25, 10 pages. https://doi.org/10.1145/ 2603088.2603091 Google Scholar
Digital Library
- James Brotherston, Nikos Gorogiannis, and Rasmus L. Petersen. 2012. A generic cyclic theorem prover. In Programming Languages and Systems, Ranjit Jhala and Atsushi Igarashi (Eds.). Springer, Kyoto, Japan, 350-367.Google Scholar
- James Brotherston and Max Kanovich. 2014. Undecidability of propositional separation logic and its neighbours. J. ACM 61, 2, Article 14 ( April 2014 ), 43 pages. https://doi.org/10.1145/2542667 Google Scholar
Digital Library
- Xiaohong Chen, Dorel Lucanu, and Grigore Roşu. 2020a. Initial algebra semantics in matching logic. Technical Report http://hdl.handle.net/2142/107781. University of Illinois at Urbana-Champaign.Google Scholar
- Xiaohong Chen and Grigore Roşu. 2019. Matching-logic. In Proceedings of the 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS'19). ACM, Vancouver, Canada, 1-13.Google Scholar
- Xiaohong Chen and Grigore Roşu. 2020. A general approach to define binders using matching logic. In Proceedings of the 25th ACM SIGPLAN International Conference on Functional Programming (ICFP'20). ACM/IEEE.Google Scholar
Digital Library
- Xiaohong Chen, Minh-Thai Trinh, Nishant Rodrigues, Lucas Peña, and Grigore Roşu. 2020b. Towards a unified proof framework for automated fixpoint reasoning using matching logic. Technical Report. University of Illinois at UrbanaChampaign. http://hdl.handle. net/2142/108369Google Scholar
- Wei-Ngan Chin, Cristina David, Huu Hai Nguyen, and Shengchao Qin. 2012. Automated verification of shape, size and bag properties via user-defined predicates in separation logic. Science of Computer Programming 77, 9 (Aug. 2012 ), 1006-1036. https://doi.org/10.1016/j.scico. 2010. 07.004 Google Scholar
Digital Library
- Duc-Hiep Chu, Joxan Jafar, and Minh-Thai Trinh. 2015. Automatic induction proofs of data-structures in imperative programs. In Proceedings of the 36th Annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'15). ACM, Portland Oregon, 457-466. https://doi.org/10.1145/2737924.2737984 Google Scholar
Digital Library
- Ernie Cohen, Markus Dahlweid, Mark Hillebrand, Dirk Leinenbach, Michał Moskal, Thomas Santen, Wolfram Schulte, and Stephan Tobies. 2009. VCC: A practical system for verifying concurrent C. In Proceedings of the 22nd International Conference on Theorem Proving in Higher Order Logics (TPHOLs'09). Springer, Munich, Germany, 23-42. https://doi.org/ 10.1007/978-3-642-03359-9 Google Scholar
Cross Ref
- Andrei Ştefănescu, Daejun Park, Shijiao Yuwen, Yilong Li, and Grigore Roşu. 2016. Semantics-based program verifiers for all languages. In Proceedings of the 2016 ACM SIGPLAN International Conference on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'16). ACM, Amsterdam, The Netherlands, 74-91. https://doi.org/10.1145/ 2983990.2984027 Google Scholar
Digital Library
- Leonardo De Moura and Nikolaj Bjørner. 2008. Z3: An eficient SMT solver. In Proceedings of the 14th International conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS'08). Springer, Budapest, Hungary, 337-340. https://doi.org/10.1007/978-3-540-78800-3_24 Google Scholar
Cross Ref
- Constantin Enea, Ondřej Lengál, Mihaela Sighireanu, and Tomáš Vojnar. 2017. Compositional entailment checking for a fragment of separation logic. Formal Methods in System Design 51, 3 (Dec. 2017 ), 575-607. https://doi.org/10.1007/s10703-017-0289-4 Google Scholar
Cross Ref
- Zoltán Ésik. 1997. Completeness of Park induction. Theoretical Computer Science 177, 1 ( 1997 ), 217-283. https://doi.org/10. 1016/S0304-3975 ( 96 ) 00240-X Google Scholar
Digital Library
- Robert Goldblatt. 1992. Logics of Time and Computation (2. ed.). Number 7 in CSLI Lecture Notes. Center for the Study of Language and Information, Stanford, CA.Google Scholar
- Yuri Gurevich and Saharon Shelah. 1985. Fixed-point extensions of first-order logic. In Proceedings of the 26th Annual Symposium on Foundations of Computer Science (SFCS'85). IEEE, Portland, OR, 346-353.Google Scholar
Digital Library
- Chris Hathhorn, Chucky Ellison, and Grigore Roşu. 2015. Defining the undefinedness of C. In Proceedings of the 36th annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'15). ACM, Portland Oregon, 336-345. https://doi.org/10.1145/2813885.2737979 Google Scholar
Digital Library
- Everett Hildenbrandt, Manasvi Saxena, Xiaoran Zhu, Nishant Rodrigues, Philip Daian, Dwight Guth, Brandon Moore, Yi Zhang, Daejun Park, Andrei Ştefănescu, and Grigore Roşu. 2018. KEVM: A complete semantics of the Ethereum virtual machine. In Proceedings of the 2018 IEEE Computer Security Foundations Symposium (CSF'18). IEEE, Oxford, UK, 204-217. http://jellopaper.org.Google Scholar
Cross Ref
- C. A. R. Hoare. 1969. An axiomatic basis for computer programming. Commun. ACM 12, 10 (Oct. 1969 ), 576-580. https: //doi.org/10.1145/363235.363259 Google Scholar
Digital Library
- Gerard J. Holzmann. 1997. The model checker SPIN. IEEE Trans. Softw. Eng. 23, 5 ( 1997 ), 279-295. https://doi.org/10.1109/ 32.588521 Google Scholar
Digital Library
- Radu Iosif, Adam Rogalewicz, and Jiri Simacek. 2013. The tree width of separation logic with recursive definitions. In Proceedings of the 24th International Conference on Automated Deduction (CADE'13). Springer, New York, USA, 21-38. https://doi.org/10.1007/978-3-642-38574-2_2 Google Scholar
Digital Library
- Bart Jacobs, Jan Smans, and Frank Piessens. 2010. A quick tour of the VeriFast program verifier. In Proceedings of the 8th Asian Symposium of Programming Languages and Systems (APLAS'10). Springer, Shanghai, China, 304-311. https: //doi.org/10.1007/978-3-642-17164-2 Google Scholar
Cross Ref
- Jens Katelaan, Christoph Matheja, and Florian Zuleger. 2019. Efective Entailment Checking for Separation Logic with Inductive Definitions. In Tools and Algorithms for the Construction and Analysis of Systems, Tomáš Vojnar and Lijun Zhang (Eds.). Springer International Publishing, Cham, 319-336.Google Scholar
- Laura Kovács, Simon Robillard, and Andrei Voronkov. 2017. Coming to terms with quantified reasoning. In Proceedings of the 44th ACM SIGPLAN Symposium on Principles of Programming Languages (Paris, France) (POPL 2017 ). Association for Computing Machinery, New York, NY, USA, 260-270. https://doi.org/10.1145/3009837.3009887 Google Scholar
Digital Library
- Dexter Kozen. 1982. Results on the propositional-calculus. In Proceedings of the 9th Colloquium on Automata, Languages and Programming. Springer, Ninth Colloquium Aarhus, Denmark, 348-359. https://doi.org/10.1007/BFb0012782 Google Scholar
Cross Ref
- Shuvendu Lahiri and Shaz Qadeer. 2008. Back to the future: Revisiting precise program verification using SMT solvers. In Proceedings of the 35th annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL'08). ACM, California USA, 171-182. https://doi.org/10.1145/1328438.1328461 Google Scholar
Digital Library
- K. Rustan M. Leino and Michał Moskal. 2014. Co-induction simply. In Proceedings of the 19th International Symposium on Formal Methods (FM'14). Springer, Singapore, 382-398. https://doi.org/10.1007/978-3-319-06410-9 Google Scholar
Cross Ref
- Orna Lichtenstein and Amir Pnueli. 2000. Propositional Temporal Logics: Decidability and Completeness. Logic Journal of the IGPL 8, 1 ( 2000 ), 55-85. http://dblp.uni-trier.de/db/journals/igpl/igpl8.html#LichtensteinP00Google Scholar
Cross Ref
- Christof Löding, Madhusudan Parthasarathy, and Lucas Peña. 2017. Foundations for natural proofs and quantifier instantiation. Proceedings of the ACM on Programming Languages (POPL'17) 2, 1 ( 2017 ), 1-30. https://doi.org/10.1145/3158098 Google Scholar
Digital Library
- Dorel Lucanu and Grigore Roşu. 2007. CIRC: A circular coinductive prover. In Proceedings of the 2nd international conference on Algebra and coalgebra in computer science (CALCO'07). Springer, Berlin, Heidelberg, Bergen, Norway, 372-378.Google Scholar
Cross Ref
- The Coq development team. 2004. The Coq proof assistant reference manual. LogiCal Project.Google Scholar
- Daejun Park, Andrei Ştefănescu, and Grigore Roşu. 2015. KJS: A complete formal semantics of JavaScript. In Proceedings of the 36th annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'15). ACM, Portland Oregon, 346-356. https://doi.org/10.1145/2737924.2737991 Google Scholar
Digital Library
- Juan Antonio Navarro Pérez and Andrey Rybalchenko. 2011. Separation logic + superposition calculus = heap theorem prover. In Proceedings of the 32nd annual ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'11). ACM, California, USA, 556-566. https://doi.org/10.1145/1993498.1993563 Google Scholar
Digital Library
- Ruzica Piskac, Thomas Wies, and Damien Zuferey. 2013. Automating separation logic using SMT. In Proceedings of the 25th International Conference on Computer Aided Verification (CAV'13). Springer, Saint Petersburg, Russia, 773-789. https://doi.org/10.1007/978-3-642-39799-8_54 Google Scholar
Cross Ref
- Amir Pnueli. 1977. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on Foundations of Computer Science (FCS'77). IEEE, IEEE, DC, USA, 46-57.Google Scholar
Digital Library
- Zvonimir Rakamarić, Jesse Bingham, and Alan J. Hu. 2007a. An inference-rule-based decision procedure for verification of heap-manipulating programs with mutable data and cyclic data structures. In Proceedings of the 8th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI'07). Springer, California, USA, 106-121. https://doi.org/10.1007/978-3-540-69738-1_8 Google Scholar
Cross Ref
- Zvonimir Rakamarić, Roberto Bruttomesso, Alan J. Hu, and Alessandro Cimatti. 2007b. Verifying heap-manipulating programs in an SMT framework. In Proceedings of the 5th International Symposium on Automated Technology for Verification and Analysis (ATVA'07). Springer, Tokyo, Japan, 237-252. https://doi.org/10.1007/978-3-540-75596-8_18 Google Scholar
Digital Library
- Silvio Ranise and Calogero Zarba. 2006. A theory of singly-linked lists and its extensible decision procedure. In Proceedings of the 4th IEEE International Conference on Software Engineering and Formal Methods (SEFM'06). IEEE, Macao, China, 206-215. https://doi.org/10.1109/sefm. 2006.7 Google Scholar
Digital Library
- John C. Reynolds. 2002. Separation logic: A logic for shared mutable data structures. In Proceedings of the 17th Annual IEEE Symposium on Logic in Computer Science (LICS'02). IEEE, Copenhagen, Denmark, 55-74. https://doi.org/10.1109/lics. 2002.1029817 Google Scholar
Cross Ref
- Grigore Roşu. 2017. Matching logic. Logical Methods in Computer Science 13, 4 (Dec. 2017 ), 1-61. https://doi.org/10.23638/lmcs13( 4 :28) 2017 Google Scholar
Cross Ref
- Mihaela Sighireanu, Juan A. Navarro Pérez, Andrey Rybalchenko, Nikos Gorogiannis, Radu Iosif, Andrew Reynolds, Cristina Serban, Jens Katelaan, Christoph Matheja, Thomas Noll, Florian Zuleger, Wei-Ngan Chin, Quang Loc Le, Quang-Trung Ta, Ton-Chanh Le, Thanh-Toan Nguyen, Siau-Cheng Khoo, Michal Cyprian, Adam Rogalewicz, Tomas Vojnar, Constantin Enea, Ondrej Lengal, Chong Gao, and Zhilin Wu. 2019. SL-COMP: Competition of solvers for separation logic. In Tools and Algorithms for the Construction and Analysis of Systems, Dirk Beyer, Marieke Huisman, Fabrice Kordon, and Bernhard Stefen (Eds.). Springer International Publishing, Cham, 116-132.Google Scholar
- Quang-Trung Ta, Ton Chanh Le, Siau-Cheng Khoo, and Wei-Ngan Chin. 2019. Automated mutual induction proof in separation logic. Formal Aspects of Computing 31, 2 (April 2019 ), 207-230. https://doi.org/10.1007/s00165-018-0471-5 Google Scholar
Digital Library
- Alfred Tarski. 1955. A lattice-theoretical fixpoint theorem and its applications. Pacific journal of Mathematics 5, 2 ( 1955 ), 285-309. https://doi.org/10.2140/pjm. 1955. 5. 285 Google Scholar
Cross Ref
- The Isabelle development team. 2018. Isabelle. https://isabelle.in.tum.de/.Google Scholar
- Hiroshi Unno, Sho Torii, and Hiroki Sakamoto. 2017. Automating induction for solving Horn clauses. In Proceedings of the 29th International Conference on Computer Aided Verification (CAV'17). Springer, Heidelberg, Germany, 571-591. https://doi.org/10.1007/978-3-319-63390-9_30 Google Scholar
Cross Ref
Index Terms
Towards a unified proof framework for automated fixpoint reasoning using matching logic
Recommendations
A general approach to define binders using matching logic
We propose a novel definition of binders using matching logic, where the binding behavior of object-level binders is directly inherited from the built-in exists binder of matching logic. We show that the behavior of binders in various logical systems ...
Using Isabelle in Two Courses on Logic and Automated Reasoning
Formal Methods TeachingAbstractWe present our experiences teaching two courses on formal methods and detail the contents of the courses and their positioning in the curriculum. The first course is a bachelor course on logical systems and logic programming, with a focus on ...
Reasoning with higher-order abstract syntax in a logical framework
Logical frameworks based on intuitionistic or linear logics with higher-type quantification have been successfully used to give high-level, modular, and formal specifications of many important judgments in the area of programming languages and inference ...






Comments