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...
Saved in:
| Published in | Description Logic, Theory Combination, and All That Vol. 11560; pp. 523 - 541 |
|---|---|
| Main Author | |
| Format | Book Chapter |
| Language | English |
| Published |
Switzerland
Springer International Publishing AG
2019
Springer International Publishing |
| Series | Lecture Notes in Computer Science |
| Subjects | |
| Online Access | Get full text |
| ISBN | 3030221016 9783030221010 |
| ISSN | 0302-9743 1611-3349 1611-3349 |
| DOI | 10.1007/978-3-030-22102-7_24 |
Cover
| 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 |