Building and Combining Matching Algorithms

The concept of matching is ubiquitous in declarative programming and in automated reasoning. For instance, it is a key mechanism to run rule-based programs and to simplify clauses generated by theorem provers. A matching problem can be seen as a particular conjunction of equations where each equatio...

Full description

Saved in:
Bibliographic Details
Published inDescription Logic, Theory Combination, and All That Vol. 11560; pp. 523 - 541
Main Author Ringeissen, Christophe
Format Book Chapter
LanguageEnglish
Published Switzerland Springer International Publishing AG 2019
Springer International Publishing
SeriesLecture Notes in Computer Science
Subjects
Online AccessGet full text
ISBN3030221016
9783030221010
ISSN0302-9743
1611-3349
1611-3349
DOI10.1007/978-3-030-22102-7_24

Cover

More Information
Summary:The concept of matching is ubiquitous in declarative programming and in automated reasoning. For instance, it is a key mechanism to run rule-based programs and to simplify clauses generated by theorem provers. A matching problem can be seen as a particular conjunction of equations where each equation has a ground side. We give an overview of techniques that can be applied to build and combine matching algorithms. First, we survey mutation-based techniques as a way to build a generic matching algorithm for a large class of equational theories. Second, combination techniques are introduced to get combined matching algorithms for disjoint unions of theories. Then we show how these combination algorithms can be extended to handle non-disjoint unions of theories sharing only constructors. These extensions are possible if an appropriate notion of normal form is computable.
ISBN:3030221016
9783030221010
ISSN:0302-9743
1611-3349
1611-3349
DOI:10.1007/978-3-030-22102-7_24