Unification in Matching Logic

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
11/07/2018

Unification in Matching Logic - Extended Version

Matching Logic is a framework for specifying programming language semant...
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
09/09/2019

Structural and semantic pattern matching analysis in Haskell

Haskell functions are defined as a series of clauses consisting of patte...
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
01/15/2022

Mechanizing Matching Logic in Coq

Matching logic is a formalism for specifying and reasoning about structu...
research
09/10/2018

Loop Patterns: Extension of Kleene Star Operator for More Expressive Pattern Matching against Arbitrary Data Structures

The Kleene star operator is an important pattern construct for represent...
research
03/24/2020

Commutators for Stochastic Rewriting Systems: Theory and Implementation in Z3

In the semantics of stochastic rewriting systems (SRSs) based on rule al...

Please sign up or login with your details

Forgot password? Click here to reset