Matching Logic: An Alternative to Hoare/Floyd Logic
نویسندگان
چکیده
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 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.
منابع مشابه
Program Algebras with Monotone Floyd-Hoare Composition
In the paper special program algebras of partial predicates and functions are described. Such algebras form a semantic component of a modified Floyd-Hoare logic constructed on the base of a composition-nominative approach. According to this approach, Floyd-Hoare assertions are presented with the help of a special composition called Floyd-Hoare composition. Monotonicity and continuity of this co...
متن کاملFrom Hoare Logic to Matching Logic
Matching logic has been recently proposed as an alternative program verification approach. Unlike Hoare logic, where one defines a language-specific proof system that needs to be proved sound for each language separately, matching logic provides a language-independent and sound proof system that directly uses the trusted operational semantics of the language as axioms. Matching logic thus has a...
متن کاملFrom Hoare Logic to Matching Logic Reachability
Matching logic reachability has been recently proposed as an alternative program verification approach. Unlike Hoare logic, where one defines a language-specific proof system that needs to be proved sound for each language separately, matching logic reachability provides a language-independent and sound proof system that directly uses the trusted operational semantics of the language as axioms....
متن کاملDeriving a Floyd-Hoare logic for non-local jumps from a formulæ-as-types notion of control
We derive a Floyd-Hoare logic for non-local jumps and mutable higher-order procedural variables from a formulæ-as-types notion of control for classical logic. A key contribution of this work is the design of an imperative dependent type system for Hoare triples, which corresponds to classical logic, but where the famous consequence rule is admissible. Moreover, we prove that this system is comp...
متن کاملAn Elementary Proof for Some Semantic Characterizations of Nondeterministic Floyd-Hoare Logic
We give a relatively simple and direct proof for Csirmaz's characterization of Floyd-Hoare logic for nondeterministic programs [5]. (This also yields a very simple proof for Leivant's characterization [13].) We also establish a direct connection between "relational traces" and "time-models" for nondeterministic programs. Introduction In this paper we investigate semantic characterizations of th...
متن کامل