Matching Logic: An Alternative to Hoare/Floyd Logic [chapter]

Grigore Roşu, Chucky Ellison, Wolfram Schulte
2011 Lecture Notes in Computer Science  
This paper introduces matching logic, a novel framework for defining axiomatic semantics for programming languages, inspired from operational semantics. Matching logic specifications are particular first-order formulae with constrained algebraic structure, called patterns. Program configurations satisfy patterns iff they match their algebraic structure and satisfy their constraints. Using a simple imperative language (IMP), it is shown that a restricted use of the matching logic proof system is
more » ... equivalent to IMP's Hoare logic proof system, in that any proof derived using either can be turned into a proof using the other. Extensions to IMP including a heap with dynamic memory allocation and pointer arithmetic are given, requiring no extension of the underlying first-order logic; moreover, heap patterns such as lists, trees, queues, graphs, etc., are given algebraically using fist-order constraints over patterns.
doi:10.1007/978-3-642-17796-5_9 fatcat:zz5usc3qjjbgbd7a7oladuorhy