Repository landing page

We are not able to resolve this OAI Identifier to the repository landing page. If you are the repository manager for this record, please head to the Dashboard and adjust the settings.

Matching Logic

Abstract

This paper presents matching logic, a first-order logic (FOL) variant forspecifying and reasoning about structure by means of patterns and patternmatching. Its sentences, the patterns, are constructed using variables,symbols, connectives and quantifiers, but no difference is made betweenfunction and predicate symbols. In models, a pattern evaluates into a power-setdomain (the set of values that match it), in contrast to FOL where functionsand predicates map into a regular domain. Matching logic uniformly generalizesseveral logical frameworks important for program analysis, such as:propositional logic, algebraic specification, FOL with equality, modal logic,and separation logic. Patterns can specify separation requirements at any levelin any program configuration, not only in the heaps or stores, without anyspecial logical constructs for that: the very nature of pattern matching isthat if two structures are matched as part of a pattern, then they can only bespatially separated. Like FOL, matching logic can also be translated into purepredicate logic with equality, at the same time admitting its own sound andcomplete proof system. A practical aspect of matching logic is that FOLreasoning with equality remains sound, so off-the-shelf provers and SMT solverscan be used for matching logic reasoning. Matching logic is particularlywell-suited for reasoning about programs in programming languages that have anoperational semantics, but it is not limited to this

Similar works

Full text

thumbnail-image

Episciences.org

redirect
Last time updated on 02/12/2023

This paper was published in Episciences.org.

Having an issue?

Is data on this page outdated, violates copyrights or anything else? Report the problem now and we will take corresponding actions after reviewing your request.