Mechanizing Matching Logic in Coq

01/15/2022
by   Péter Bereczky, et al.
0

Matching logic is a formalism for specifying and reasoning about structures using patterns and pattern matching. Growing in popularity, matching logic has been used to define many logical systems such as separation logic with recursive definitions and linear-temporal logic. Despite this, there is no way for a user to define his or her own matching logic theories using a theorem prover, with maximal assurance of the properties being proved. Hence, in this work, we formalized a version of matching logic using the Coq proof assistant. Specifically, we create a new version of matching logic that uses a locally nameless representation, where quantified variables are unnamed in order to aid verification. We formalize the syntax, semantics, and proof system of this representation of matching logic using the Coq proof assistant. Crucially, we also verify the soundness of the formalized proof system, thereby guaranteeing that any matching logic properties proved in our Coq formalization are indeed correct. We believe this work provides a previously unexplored avenue for defining and proving matching logic theories and properties.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
02/08/2021

From Matching Logic To Parallel Imperative Language Verification

Program verification is to develop the program's proof system, and to pr...
research
09/15/2017

A Constructor-Based Reachability Logic for Rewrite Theories

Reachability logic has been applied to K rewrite-rule-based language def...
research
02/26/2023

The Lindstrom's Characterizability of Abstract Logic Systems for Analytic Structures Based on Measures

In 1969, Per Lindstrom proved his celebrated theorem characterising the ...
research
10/20/2022

Proof of Unlearning: Definitions and Instantiation

The "Right to be Forgotten" rule in machine learning (ML) practice enabl...
research
11/07/2018

Unification in Matching Logic - Extended Version

Matching Logic is a framework for specifying programming language semant...
research
01/28/2020

First-Order Logic for Flow-Limited Authorization

We present the Flow-Limited Authorization First-Order Logic (FLAFOL), a ...
research
11/07/2018

Unification in Matching Logic

Matching Logic is a framework for specifying programming language semant...

Please sign up or login with your details

Forgot password? Click here to reset