Unification in Matching Logic - Extended Version

11/07/2018
by   Andrei Arusoaie, et al.
0

Matching Logic is a framework for specifying programming language semantics and reasoning about programs. Its formulas are called patterns and are built with variables, symbols, connectives and quantifiers. A pattern is a combination of structural components (term patterns), which must be matched, and constraints (predicate patterns), which must be satisfied. Dealing with more than one structural component in a pattern could be cumbersome because it involves multiple matching operations. A source for getting patterns with many structural components is the conjunction of patterns. Here, we propose a method that uses a syntactic unification algorithm to transform conjunctions of structural patterns into equivalent patterns having only one structural component and some additional constraints. We prove the soundness of our approach, we discuss why the approach is not complete and we provide sound strategies to generate certificates for the equivalences, validated using Coq.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2018

Unification in Matching Logic

Matching Logic is a framework for specifying programming language semant...
research
09/09/2019

Structural and semantic pattern matching analysis in Haskell

Haskell functions are defined as a series of clauses consisting of patte...
research
08/31/2018

Non-linear Pattern Matching with Backtracking for Non-free Data Types

Non-free data types are data types whose data have no canonical forms. F...
research
01/15/2022

Mechanizing Matching Logic in Coq

Matching logic is a formalism for specifying and reasoning about structu...
research
05/02/2017

Non-linear Associative-Commutative Many-to-One Pattern Matching with Sequence Variables

Pattern matching is a powerful tool which is part of many functional pro...
research
05/14/2019

Generic Encodings of Constructor Rewriting Systems

Rewriting is a formalism widely used in computer science and mathematica...
research
07/01/2023

Discovering Patterns of Definitions and Methods from Scientific Documents

The difficulties of automatic extraction of definitions and methods from...

Please sign up or login with your details

Forgot password? Click here to reset