Matching μ-Logic

Matching logic is a logic for specifying and reasoning about structure by means of patterns and pattern matching. This paper makes two contributions. First, it proposes a sound and complete proof system for matching logic in its full generality. Previously, sound and complete deduction for matching logic was known only for particular theories providing equality and membership. Second, it proposes matching μ-logic, an extension of matching logic with a least fixpoint μ-binder. It is shown that matching μ-logic captures as special instances many important logics in mathematics and computer science, including first-order logic with least fixpoints, modal μ-logic as well as dynamic logic and various temporal logics such as infinite/finite-trace linear temporal logic and computation tree logic, and notably reachability logic, the underlying logic of the K framework for programming language semantics and formal analysis. Matching μ-logic therefore serves as a unifying foundation for specifying and reasoning about fixpoints and induction, programming languages and program specification and verification.

[1]  Grigore Rosu,et al.  K Overview and SIMPLE Case Study , 2014, Electron. Notes Theor. Comput. Sci..

[2]  G. G. Stokes "J." , 1890, The New Yale Book of Quotations.

[3]  Joseph A. Goguen,et al.  Initial Algebra Semantics and Continuous Algebras , 1977, J. ACM.

[4]  A. I. Malcev Axiomatizable classes of locally free algebras of various types , 1971 .

[5]  C. Barry Jay,et al.  The pattern calculus , 2004, TOPL.

[6]  Richard E. Ladner,et al.  Propositional Dynamic Logic of Regular Programs , 1979, J. Comput. Syst. Sci..

[7]  Matthew J. Parkinson,et al.  jStar: towards practical verification for java , 2008, OOPSLA.

[8]  Joxan Jaffar,et al.  Automatic induction proofs of data-structures in imperative programs , 2015, PLDI.

[9]  Grigore Rosu,et al.  Checking reachability using matching logic , 2012, OOPSLA '12.

[10]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[11]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  Gordon Plotkin,et al.  A Note on Inductive Generalization , 2008 .

[13]  Radu Iosif,et al.  The Tree Width of Separation Logic with Recursive Definitions , 2013, CADE.

[14]  Peter W. O'Hearn,et al.  Smallfoot: Modular Automatic Assertion Checking with Separation Logic , 2005, FMCO.

[15]  Mikolás Janota,et al.  Digital Object Identifier (DOI): , 2000 .

[16]  Patrick Blackburn,et al.  Hybrid Completeness , 1998, Log. J. IGPL.

[17]  Michael J. Maher,et al.  Elimination of Negation in Term Algebras , 1991, MFCS.

[18]  G. Kreisel,et al.  Elements of Mathematical Logic: Model Theory , 1971 .

[19]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[20]  Jean-Christophe Filliâtre,et al.  Why3 - Where Programs Meet Provers , 2013, ESOP.

[21]  Grigore Rosu,et al.  K-Java , 2015, POPL.

[22]  José Meseguer,et al.  Order-Sorted Algebra I: Equational Deduction for Multiple Inheritance, Overloading, Exceptions and Partial Operations , 1992, Theor. Comput. Sci..

[23]  Ju Wang,et al.  Translating Separation Logic into a Fragment of the First-Order Logic , 2010, 2010 Sixth International Conference on Semantics, Knowledge and Grids.

[24]  Igor Walukiewicz,et al.  Completeness of Kozen's Axiomatisation of the Propositional µ-Calculus , 2000, Inf. Comput..

[25]  Ruzica Piskac,et al.  Automating Separation Logic Using SMT , 2013, CAV.

[26]  Hans Hermes,et al.  Introduction to mathematical logic , 1973, Universitext.

[27]  Matthew J. Parkinson,et al.  The Relationship between Separation Logic and Implicit Dynamic Frames , 2011, ESOP.

[28]  Dexter Kozen,et al.  Results on the Propositional µ-Calculus , 1982, ICALP.

[29]  Nicolas Peltier,et al.  Superposition with Datatypes and Codatatypes , 2018, IJCAR.

[30]  Andrew W. Appel,et al.  Verified Software Toolchain , 2012, NASA Formal Methods.

[31]  Mark A. Hillebrand,et al.  VCC: A Practical System for Verifying Concurrent C , 2009, TPHOLs.

[32]  GIACOMO LENZI THE MODAL μ-CALCULUS : A SURVEY , 2005 .

[33]  Chucky Ellison,et al.  Matching Logic: An Alternative to Hoare/Floyd Logic , 2010, AMAST.

[34]  José Meseguer,et al.  Constrained narrowing for conditional equational theories modulo axioms , 2015, Sci. Comput. Program..

[35]  Vaughan R. Pratt,et al.  SEMANTICAL CONSIDERATIONS ON FLOYD-HOARE LOGIC , 1976, FOCS 1976.

[36]  Kurt Gödel,et al.  On Formally Undecidable Propositions of Principia Mathematica and Related Systems , 1966 .

[37]  Lars Birkedal,et al.  Interactive proofs in higher-order concurrent separation logic , 2017, POPL.

[38]  Tobias Nipkow Winskel is (Almost) Right: Towards a Mechanized Semantics Textbook , 1996, FSTTCS.

[39]  Grigore Rosu,et al.  Finite-trace linear temporal logic: coinductive completeness , 2016, RV.

[40]  Grigore Rosu,et al.  Matching logic: a new program verification approach (NIER track) , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[41]  Dwight Guth,et al.  A formal semantics of Python 3.3 , 2013 .

[42]  Frank Wolter,et al.  Handbook of Modal Logic , 2007, Studies in logic and practical reasoning.

[43]  Richard Spencer-Smith,et al.  Modal Logic , 2007 .

[44]  Zoltán Ésik,et al.  Completeness of Park Induction , 1997, Theor. Comput. Sci..

[45]  John Harrison,et al.  Handbook of Practical Logic and Automated Reasoning , 2009 .

[46]  Wolfram Schulte,et al.  Separation Logic Verification of C Programs with an SMT Solver , 2009, Electron. Notes Theor. Comput. Sci..

[47]  Philippa Gardner,et al.  From Separation Logic to First-Order Logic , 2005, FoSSaCS.

[48]  Thomas A. Henzinger,et al.  Hybrid Automata: An Algorithmic Approach to the Specification and Verification of Hybrid Systems , 1992, Hybrid Systems.

[49]  Chucky Ellison,et al.  An executable formal semantics of C with applications , 2011, POPL '12.

[50]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[51]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[52]  M. Schönfinkel Über die Bausteine der mathematischen Logik , 1924 .

[53]  Saul Kripke,et al.  A completeness theorem in modal logic , 1959, Journal of Symbolic Logic.

[54]  Bernhard Beckert,et al.  Dynamic Logic , 2007, The KeY Approach.

[55]  Tom Ridge,et al.  Ott: effective tool support for the working semanticist , 2007, ICFP '07.

[56]  Joël Ouaknine,et al.  Foundations for Decision Problems in Separation Logic with General Inductive Predicates , 2014, FoSSaCS.

[57]  Scott Owens,et al.  A Sound Semantics for OCamllight , 2008, ESOP.

[58]  Leopold Löwenheim Über Möglichkeiten im Relativkalkül , 1915 .

[59]  Andrei Voronkov,et al.  Coming to terms with quantified reasoning , 2016, POPL.

[60]  Bart Jacobs,et al.  Weakest pre-condition reasoning for Java programs with JML annotations , 2004, J. Log. Algebraic Methods Program..

[61]  John C. Reynolds,et al.  Separation logic: a logic for shared mutable data structures , 2002, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science.

[62]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[63]  Joseph A. Goguen,et al.  Putting Theories Together to Make Specifications , 1977, IJCAI.

[64]  Andrey Rybalchenko,et al.  Separation logic + superposition calculus = heap theorem prover , 2011, PLDI '11.

[65]  Grigore Rosu,et al.  One-Path Reachability Logic , 2013, 2013 28th Annual ACM/IEEE Symposium on Logic in Computer Science.

[66]  K. Iseki,et al.  On axiom systems of propositional calculi, I , 1965 .

[67]  K. Gödel Die Vollständigkeit der Axiome des logischen Funktionenkalküls , 1930 .

[68]  Peter W. O'Hearn,et al.  The Logic of Bunched Implications , 1999, Bulletin of Symbolic Logic.

[69]  Kim Marriott,et al.  Explicit representation of terms defined by counter examples , 1986, Journal of Automated Reasoning.

[70]  Andrey Rybalchenko,et al.  Separation Logic Modulo Theories , 2013, APLAS.

[71]  Lauretta O. Osho,et al.  Axiomatic Basis for Computer Programming , 2013 .

[72]  William M. Farmer,et al.  A Set Theory with Support for Partial Functions , 2000, Stud Logica.

[73]  Mohamed Tajine The Negation Elimination from Syntactic Equational Formula is Decidable , 1993, RTA.

[74]  Antonio Gavilanes-Franco,et al.  A First Order Logic for Partial Functions , 1990, Theor. Comput. Sci..

[75]  Daejun Park,et al.  KJS: a complete formal semantics of JavaScript , 2015, PLDI.

[76]  Samin Ishtiaq,et al.  SLAyer: Memory Safety for Systems-Level Code , 2011, CAV.

[77]  Bor-Yuh Evan Chang,et al.  Boogie: A Modular Reusable Verifier for Object-Oriented Programs , 2005, FMCO.

[79]  Peter W. O'Hearn,et al.  Computability and Complexity Results for a Spatial Assertion Language for Data Structures , 2001, APLAS.

[80]  K. Gödel Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme I , 1931 .

[81]  A. Tarski A LATTICE-THEORETICAL FIXPOINT THEOREM AND ITS APPLICATIONS , 1955 .

[82]  Saharon Shelah,et al.  Fixed-point extensions of first-order logic , 1985, 26th Annual Symposium on Foundations of Computer Science (sfcs 1985).

[83]  Grigore Rosu,et al.  𝕂: A Semantic Framework for Programming Languages and Formal Analysis Tools , 2017, Dependable Software Systems Engineering.

[84]  Grigore Rosu,et al.  From Hoare Logic to Matching Logic Reachability , 2012, FM.

[85]  Peter W. O'Hearn,et al.  Local Reasoning about Programs that Alter Data Structures , 2001, CSL.

[86]  Grigore Rosu,et al.  Semantics-based program verifiers for all languages , 2016, OOPSLA.

[87]  James Brotherston,et al.  Parametric completeness for separation theories , 2014, POPL.

[88]  Dirk Beyer,et al.  Reliable and Reproducible Competition Results with BenchExec and Witnesses (Report on SV-COMP 2016) , 2016, TACAS.

[89]  James Brotherston,et al.  A decision procedure for satisfiability in separation logic with inductive predicates , 2014, CSL-LICS.

[90]  Stephen N. Zilles,et al.  Programming with abstract data types , 1974, SIGPLAN Symposium on Very High Level Languages.

[91]  Peter D. Mosses,et al.  Casl Reference Manual , 2004, Lecture Notes in Computer Science.

[92]  Jean-Pierre Jouannaud,et al.  Algebra, Meaning, and Computation, Essays Dedicated to Joseph A. Goguen on the Occasion of His 65th Birthday , 2006, Essays Dedicated to Joseph A. Goguen.

[93]  Stephan Kreutzer Pure and applied fixed-point logics , 2002, Ausgezeichnete Informatikdissertationen.

[94]  Reuben N. S. Rowe,et al.  Model checking for symbolic-heap separation logic with inductive predicates , 2016, POPL.

[95]  William C. Frederick,et al.  A Combinatory Logic , 1995 .

[96]  Arthur Charguéraud,et al.  A trusted mechanised JavaScript specification , 2014, POPL.

[97]  Xiaokang Qiu,et al.  Natural proofs for data structure manipulation in C using separation logic , 2014, PLDI.

[98]  François Bobot,et al.  Separation Predicates: A Taste of Separation Logic in First-Order Logic , 2012, ICFEM.

[99]  Maribel Fernández Negation Elimination in Empty or Permutative Theories , 1998, J. Symb. Comput..

[100]  Sergio Maffeis,et al.  An Executable Formal Semantics of PHP , 2014, ECOOP.

[101]  Xiaohong Chen,et al.  Matching μ-Logic , 2019, 2019 34th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS).

[102]  Kurt Gödel Zur Logik der Modalitäten , 1931 .

[103]  Reinhard Pichler Explicit versus implicit representations of subsets of the Herbrand universe , 2003, Theor. Comput. Sci..

[104]  Andrew W. Appel,et al.  Separation Logic for Small-Step cminor , 2007, TPHOLs.

[105]  Chucky Ellison,et al.  Defining the undefinedness of C , 2015, PLDI.

[106]  José Meseguer,et al.  Equational Formulas and Pattern Operations in Initial Order-Sorted Algebras , 2015, LOPSTR.

[107]  A. Tarski,et al.  A Formalization Of Set Theory Without Variables , 1987 .

[108]  Sam Tobin-Hochstadt,et al.  Run your research: on the effectiveness of lightweight mechanization , 2012, POPL '12.

[109]  Robert Goldblatt,et al.  Mathematical modal logic: A view of its evolution , 2003, J. Appl. Log..

[110]  Edward A. Lee Cyber Physical Systems: Design Challenges , 2008, 2008 11th IEEE International Symposium on Object and Component-Oriented Real-Time Distributed Computing (ISORC).