Unification in Matching Logic -- Revisited
Abstract
Matching logic is a logical framework for specifying and reasoning about programs using pattern matching semantics. A pattern is made up of a number of structural components and constraints. Structural components are syntactically matched, while constraints need to be satisfied. Having multiple structural patterns poses a practical problem as it requires multiple matching operations. This is easily remedied by unification, for which an algorithm has already been defined and proven correct in a sorted, polyadic variant of matching logic. This paper revisits the subject in the applicative variant of the language while generalising the unification problem and mechanizing a proven-sound solution in Coq.
Cite
@article{arxiv.2410.23760,
title = {Unification in Matching Logic -- Revisited},
author = {Ádám Kurucz and Péter Bereczky and Dániel Horpácsi},
journal= {arXiv preprint arXiv:2410.23760},
year = {2024}
}
Comments
In Proceedings FROM 2024, arXiv:2410.23020