In Mathematik , Linguistik , Informatik und Logik umfasst das Umschreiben eine Vielzahl von Methoden, um Unterterme einer Formel durch andere Terme zu ersetzen . Solche Methoden lassen sich durch Umschreibsysteme (auch bekannt als Umschreibsysteme , Umschreibmaschinen [ 1 ] [ 2 ] oder Reduktionssysteme ) realisieren. In ihrer einfachsten Form bestehen sie aus einer Menge von Objekten und Relationen , die festlegen, wie diese Objekte transformiert werden.
Das Umschreiben von Termen kann nichtdeterministisch sein . Eine Regel zum Umschreiben eines Terms kann auf viele verschiedene Arten auf diesen Term angewendet werden, oder es können mehrere Regeln anwendbar sein. Umschreibsysteme liefern daher keinen Algorithmus zum Ersetzen eines Terms durch einen anderen, sondern eine Menge möglicher Regelanwendungen. In Kombination mit einem geeigneten Algorithmus können Umschreibsysteme jedoch als Computerprogramme betrachtet werden , und mehrere Theorembeweiser [ 3 ] und deklarative Programmiersprachen basieren auf dem Umschreiben von Termen. [ 4 ] [ 5 ]
Beispielfälle
Logik
In der Logik lässt sich das Verfahren zur Bestimmung der konjunktiven Normalform (KNF) einer Formel als Umformungssystem implementieren. [ 6 ] Die Regeln eines solchen Systems wären beispielsweise:
In jeder Regel bezeichnet jede Variable einen Teilausdruck, und das Symbol ( ) zeigt an, dass ein Ausdruck, der der linken Seite entspricht, in einen Ausdruck umgeschrieben werden kann, der der rechten Seite entspricht. In einem solchen System stellt jede Regel eine logische Äquivalenz dar ; daher ändert eine Umformung eines Ausdrucks mithilfe dieser Regeln dessen Wahrheitswert nicht. Andere nützliche Umformungssysteme in der Logik erhalten möglicherweise nicht den Wahrheitswert (siehe z. B. Äquisitifizierbarkeit ).
Arithmetik
Termersetzungssysteme können zur Berechnung arithmetischer Operationen mit natürlichen Zahlen verwendet werden . Dazu muss jede Zahl als Term kodiert werden . Die einfachste Kodierung ist die in den Peano-Axiomen verwendete , basierend auf der Konstanten 0 (Null) und der Nachfolgerfunktion S. Beispielsweise werden die Zahlen 0, 1, 2 und 3 durch die Terme 0, S(0), S(S(0)) bzw. S(S(S(0))) dargestellt. Das folgende Termersetzungssystem kann dann zur Berechnung von Summe und Produkt gegebener natürlicher Zahlen verwendet werden. [ 7 ]
Beispielsweise kann die Rechnung 2+2, die 4 ergibt, durch Umformung der Terme wie folgt wiederholt werden:
wobei die Notation über jedem Pfeil die für die jeweilige Umformung verwendete Regel angibt.
Ein weiteres Beispiel: Die Berechnung von 2⋅2 sieht folgendermaßen aus:
wobei der letzte Schritt die Berechnung des vorherigen Beispiels umfasst.
Linguistik
In der Linguistik werden Phrasenstrukturregeln , auch Umschreibungsregeln genannt, in einigen Systemen generativer Grammatiken [ 8 ] verwendet , um grammatikalisch korrekte Sätze einer Sprache zu erzeugen. Eine solche Regel hat typischerweise die Form , wobei A eine syntaktische Kategoriebezeichnung wie Nominalphrase oder Satz ist und X eine Folge solcher Bezeichnungen oder Morpheme darstellt . Diese drückt aus, dass A bei der Generierung der Satzstruktur durch X ersetzt werden kann. Beispielsweise bedeutet die Regel , dass ein Satz aus einer Nominalphrase (NP) gefolgt von einer Verbalphrase (VP) bestehen kann; weitere Regeln spezifizieren, aus welchen Unterkonstituenten eine Nominalphrase und eine Verbalphrase bestehen können usw.
Abstrakte Umschreibungssysteme
Aus den obigen Beispielen geht hervor, dass wir Umschreibungssysteme abstrakt betrachten können. Wir müssen eine Menge von Objekten und die Regeln, die zu ihrer Transformation angewendet werden können, spezifizieren. Die allgemeinste (eindimensionale) Formulierung dieses Konzepts wird als abstraktes Reduktionssystem [ 9 ] oder abstraktes Umschreibungssystem (abgekürzt ARS ) [ 10 ] bezeichnet . Ein ARS ist einfach eine Menge A von Objekten zusammen mit einer binären Relation → auf A , die Reduktionsrelation , Umschreibungsrelation [ 11 ] oder einfach Reduktion genannt wird . [ 9 ]
Many notions and notations can be defined in the general setting of an ARS. is the reflexive transitive closure of . is the symmetric closure of . is the reflexive transitive symmetric closure of . The word problem for an ARS is determining, given x and y, whether . An object x in A is called reducible if there exists some other y in A such that ; otherwise it is called irreducible or a normal form. An object y is called a "normal form of x" if , and y is irreducible. If the normal form of x is unique, then this is usually denoted with . If every object has at least one normal form, the ARS is called normalizing. or x and y are said to be joinable if there exists some z with the property that . An ARS is said to possess the Church–Rosser property if implies . An ARS is confluent if for all w, x, and y in A, implies . An ARS is locally confluent if and only if for all w, x, and y in A, implies . An ARS is said to be terminating or noetherian if there is no infinite chain . A confluent and terminating ARS is called convergent or canonical.
Important theorems for abstract rewriting systems are that an ARS is confluentiff it has the Church–Rosser property, Newman's lemma (a terminating ARS is confluent if and only if it is locally confluent), and that the word problem for an ARS is undecidable in general.
String rewriting systems
Ein String-Ersetzungssystem (SRS), auch bekannt als Semi-Thue-System , nutzt die freie Monoidstruktur der Strings (Wörter) über einem Alphabet , um eine Ersetzungsrelation auf alle Strings im Alphabet zu erweitern, die die linke bzw. rechte Seite bestimmter Regeln als Teilstrings enthalten . Formal ist ein Semi-Thue-System ein Tupel , wobei ein (üblicherweise endliches) Alphabet und eine binäre Relation zwischen einigen (festen) Strings im Alphabet ist, der sogenannten Menge der Ersetzungsregeln . Die durch auf induzierte Ein-Schritt-Ersetzungsrelation ist definiert als: Sind beliebige Strings, dann gilt: Wenn es ein gibt , sodass , und . Da eine Relation auf ist , erfüllt das Paar die Definition eines abstrakten Ersetzungssystems. Da der leere String in liegt , ist eine Teilmenge von . Ist die Relation symmetrisch , so wird das System als Thue- System bezeichnet .
In einem SRS ist die Reduktionsrelation mit der Monoidoperation kompatibel, d. h., sie impliziert für alle Zeichenketten . Analog dazu ist der reflexive transitive symmetrische Abschluss von , bezeichnet mit , eine Kongruenz , d. h. sie ist (per Definition) eine Äquivalenzrelation und ebenfalls mit der Zeichenkettenverkettung kompatibel. Die Relation wird als Thue-Kongruenz bezeichnet , die von erzeugt wird . In einem Thue-System, d. h. wenn symmetrisch ist, stimmt die Umschreibungsrelation mit der Thue-Kongruenz überein .
Der Begriff des Semi-Thue-Systems entspricht im Wesentlichen der Präsentation eines Monoids . Da es sich um eine Kongruenz handelt, können wir das Faktormonoid des freien Monoids durch die Thue-Kongruenz definieren. Ist ein Monoid isomorph zu , so wird das Semi-Thue-System als Monoidpräsentation von bezeichnet .
Wir erhalten unmittelbar einige sehr nützliche Verbindungen zu anderen Gebieten der Algebra. Beispielsweise ist das Alphabet mit den Regeln , wobei die leere Zeichenkette ist , eine Präsentation der freien Gruppe über einem Erzeuger. Lauten die Regeln stattdessen nur , so erhalten wir eine Präsentation des bizyklischen Monoids . Somit bilden semi-Thue-Systeme einen natürlichen Rahmen zur Lösung des Wortproblems für Monoide und Gruppen. Tatsächlich besitzt jedes Monoid eine Präsentation der Form , d. h. es kann stets durch ein semi-Thue-System präsentiert werden, möglicherweise über einem unendlichen Alphabet.
Das Wortproblem für ein semi-Thue-System ist im Allgemeinen unentscheidbar; dieses Ergebnis ist manchmal als Post-Markov-Theorem bekannt . [ 12 ]
Termumschreibungssysteme


Ein Termersetzungssystem ( TRS ) ist ein System, dessen Objekte Terme sind , also Ausdrücke mit verschachtelten Teilausdrücken. Das oben unter § Logik dargestellte System ist beispielsweise ein Termersetzungssystem. Die Terme dieses Systems bestehen aus den binären Operatoren und und dem unären Operator . Die Regeln enthalten außerdem Variablen, die jeden möglichen Term repräsentieren (wobei eine einzelne Variable innerhalb einer Regel immer denselben Term repräsentiert).
Im Gegensatz zu String-Ersetzungssystemen, deren Objekte Symbolfolgen sind, bilden die Objekte eines Term-Ersetzungssystems eine Termalgebra . Ein Term lässt sich als Symbolbaum visualisieren, wobei die Menge der zulässigen Symbole durch eine gegebene Signatur festgelegt ist . Als Formalismus besitzen Term-Ersetzungssysteme die volle Leistungsfähigkeit von Turingmaschinen , d. h. jede berechenbare Funktion kann durch ein Term-Ersetzungssystem definiert werden. [ 13 ]
Einige Programmiersprachen basieren auf Termersetzung. Ein Beispiel hierfür ist Pure, eine funktionale Programmiersprache für mathematische Anwendungen. [ 14 ] [ 15 ]
Formale Definition
Eine Umschreibungsregel ist ein Termpaar , üblicherweise geschrieben als , das angibt, dass die linke Seite l durch die rechte Seite r ersetzt werden kann . Ein Termumschreibungssystem ist eine Menge R solcher Regeln. Eine Regel kann auf einen Term s angewendet werden , wenn der linke Term l mit einem Unterterm von s übereinstimmt , d. h., wenn es eine Substitution gibt , sodass der Unterterm von an Position p das Ergebnis der Anwendung der Substitution auf den Term l ist . Der Unterterm, der mit der linken Seite der Regel übereinstimmt, wird als Redex oder reduzierbarer Ausdruck bezeichnet . [ 16 ] Der Ergebnisterm t dieser Regelanwendung ist dann das Ergebnis der Ersetzung des Unterterms an Position p in s durch den Term mit der angewendeten Substitution (siehe Abbildung 1). In diesem Fall wird gesagt, dass in einem Schritt umgeschrieben oder direkt durch das System in umgeschrieben wird , formal als , oder von einigen Autoren als bezeichnet .
Lässt sich ein Term in mehreren Schritten in einen Term umschreiben , d. h. wenn , so spricht man von einer Umschreibung zu , formal als . Anders ausgedrückt: Die Relation ist der transitive Abschluss der Relation . Oft wird auch die Notation verwendet, um den reflexiv-transitiven Abschluss von zu bezeichnen , d. h. wenn oder . [ 17 ] Eine durch eine Menge von Regeln gegebene Termumschreibung kann als abstraktes Umschreibungssystem im oben definierten Sinne betrachtet werden , mit Termen als Objekten und als Umschreibungsrelation.
Beispielsweise ist eine Umformungsregel, die häufig verwendet wird, um eine Normalform bezüglich der Assoziativität von zu etablieren . Diese Regel kann auf den Zähler des Terms mit der entsprechenden Substitution angewendet werden (siehe Abbildung 2). [ Anmerkung 2 ] Wendet man diese Substitution auf die rechte Seite der Regel an, erhält man den Term , und ersetzt man den Zähler durch diesen Term , erhält man , welches der Ergebnisterm der Anwendung der Umformungsregel ist. Insgesamt hat die Anwendung der Umformungsregel das erreicht, was in der elementaren Algebra als „Anwendung des Assoziativgesetzes von auf “ bezeichnet wird. Alternativ hätte die Regel auch auf den Nenner des ursprünglichen Terms angewendet werden können, was zu hätte führen würde .
Beendigung
Terminierungsprobleme von Rewriting-Systemen im Allgemeinen werden in „Abstrakte Rewriting-Systeme#Terminierung und Konvergenz“ behandelt . Insbesondere für Term-Rewriting-Systeme sind die folgenden zusätzlichen Feinheiten zu beachten.
Die Terminierung selbst eines Systems, das nur aus einer Regel mit linearer linker Seite besteht, ist unentscheidbar. [ 18 ] [ 19 ] Auch für Systeme, die ausschließlich unäre Funktionssymbole verwenden, ist die Terminierung unentscheidbar; für Systeme mit endlichem Grundgrund ist sie jedoch entscheidbar . [ 20 ]
Das folgende Termersetzungssystem ist normalisierend, [ Anmerkung 3 ] aber nicht terminierend, [ Anmerkung 4 ] und nicht konfluent: [ 21 ].
Die folgenden beiden Beispiele für Systeme zur Umschreibung von terminierenden Termen gehen auf Toyama zurück: [ 22 ]
Und
Ihre Vereinigung ist ein System ohne Auflösung, da
Dieses Ergebnis widerlegt eine Vermutung von Dershowitz [ 23 ] , der behauptete, dass die Vereinigung zweier endlicher Termersetzungssysteme wieder endlich ist , wenn alle linken Seiten von und alle rechten Seiten von linear sind und es keine Überlappungen zwischen den linken Seiten von und den rechten Seiten von gibt . Alle diese Eigenschaften werden durch Toyamas Beispiele erfüllt.
Siehe Umschreibungsreihenfolge und Pfadreihenfolge (Term-Umschreibung) für Ordnungsrelationen, die in Terminierungsbeweisen für Term-Umschreibungssysteme verwendet werden.
Umschreibungssysteme höherer Ordnung
Höhere Umschreibungssysteme sind eine Verallgemeinerung von Termumschreibungssystemen erster Ordnung auf Lambda-Terme und ermöglichen Funktionen höherer Ordnung und beschränkte Variablen. [ 24 ] Verschiedene Ergebnisse über Termumschreibungssysteme erster Ordnung lassen sich auch auf höhere Umschreibungssysteme übertragen. [ 25 ]
Graphen-Umschreibungssysteme
Graph-Rewrite-Systeme sind eine weitere Verallgemeinerung von Term-Rewrite-Systemen, die auf Graphen anstatt auf ( Grund- ) Termen bzw. deren entsprechender Baumdarstellung operieren .
Trace-Umschreibungssysteme
Die Spurentheorie ermöglicht es, Multiprocessing formaler zu beschreiben, beispielsweise mithilfe des Spurenmonoids und des Verlaufsmonoids . Auch in Spurensystemen lassen sich Umschreibungen durchführen.
Siehe auch
- Kritisches Paar (Logik)
- Compiler
- Knuth-Bendix-Vervollständigungsalgorithmus
- L-Systeme spezifizieren das Umschreiben, das parallel erfolgt.
- Referenzielle Transparenz in der Informatik
- Reguliertes Umschreiben
- Interaktionsnetze
Anmerkungen
- Diese Variante der vorherigen Regel ist notwendig, da das Kommutativgesetz A ∨ B = B ∨ A nicht in eine Umformungsregel umgewandelt werden kann. Eine Regel wie A ∨ B → B ∨ A würde dazu führen, dass das Umformungssystem nicht terminiert.
- ^ da die Anwendung dieser Substitution auf die linke Seite der Regelden Zähler ergibt
- Das heißt, für jeden Term existiert eine Normalform, z. B. hat h ( c , c ) die Normalformen b und g ( b ), da h ( c , c ) → f ( h ( c , c ), h ( c , c )) → f ( h ( c , c ), f ( h ( c , c ), h ( c , c ))) → f ( h ( c , c ), g ( h ( c , c ))) → b und h ( c , c ) → f ( h ( c , c ), h ( c , c )) → g ( h ( c , c )) → ... → g ( b ). Weder b noch g ( b ) lassen sich weiter umformen, daher ist das System nicht konfluent.
- ^ d. h., es gibt unendlich viele Ableitungen, z. B. h ( c , c ) → f ( h ( c ,), h ( c , c ) ) → f ( f ( h (c, c ),h ( c , c )), h ( c , c )) → f ( f ( f ( h ( c , c ), h ( c , c )), h ( c , c )), h ( c , c )) → ...
Weiterführende Literatur
- Baader, Franz ; Nipkow, Tobias (1999). Term rewriting and all that . Cambridge University Press. ISBN 978-0-521-77920-3Die316 Seiten.
- Marc Bezem , Jan Willem Klop , Roel de Vrijer („Terese“), Term Rewriting Systems („TeReSe“), Cambridge University Press, 2003, ISBN 0-521-39115-6Dies ist die aktuellste umfassende Monographie. Sie verwendet jedoch eine beträchtliche Anzahl noch nicht standardisierter Notationen und Definitionen. Beispielsweise wird die Church-Rosser-Eigenschaft als identisch mit der Konfluenz definiert.
- Nachum Dershowitz und Jean-Pierre Jouannaud, „Rewrite Systems“ , Kapitel 6 in: Jan van Leeuwen (Hrsg.), Handbook of Theoretical Computer Science , Band B: Formal Models and Semantics , Elsevier und MIT Press, 1990, ISBN 0-444-88074-7, S. 243–320. Die Vorabversion dieses Kapitels ist bei den Autoren frei erhältlich, enthält jedoch keine Abbildungen.
- Nachum Dershowitz und David Plaisted . „Rewriting“ , Kapitel 9 in John Alan Robinson und Andrei Voronkov (Hrsg.), Handbook of Automated Reasoning , Band 1 .
- Gérard Huet und Derek Oppen, Equations and Rewrite Rules, A Survey (1980) Stanford Verification Group, Bericht Nr. 15, Bericht der Informatikabteilung Nr. STAN-CS-80-785
- Jan Willem Klop . "Term Rewriting Systems", Kapitel 1 in Samson Abramsky , Dov M. Gabbay und Tom Maibaum (Hrsg.), Handbook of Logic in Computer Science , Band 2: Hintergrund: Computerstrukturen .
- David Plaisted. „Gleichungslogik und Termersetzungssysteme“ , in Dov M. Gabbay , CJ Hogger und John Alan Robinson (Hrsg.), Handbuch der Logik in der Künstlichen Intelligenz und der Logikprogrammierung , Band 1 .
- Jürgen Avenhaus und Klaus Madlener. „Term-Rewriting und Gleichungslogik“. In: Ranan B. Banerji (Hrsg.), Formale Techniken in der Künstlichen Intelligenz: Ein Quellenbuch , Elsevier (1990).
- String-Umschreibung
- Ronald V. Book und Friedrich Otto, String-Rewriting Systems , Springer (1993).
- Benjamin Benninghofen, Susanne Kemmerich und Michael M. Richter , Systeme der Reduktion . LNCS 277 , Springer-Verlag (1987).
- Andere
- Martin Davis , Ron Sigal , Elaine J. Weyuker (1994) : Berechenbarkeit, Komplexität und Sprachen: Grundlagen der theoretischen Informatik – 2. Auflage , Academic Press, ISBN 0-12-206382-1Die
Externe Links
- Die Startseite zum Thema Umschreiben
- IFIP-Arbeitsgruppe 1.6
- Forscher im Bereich des Umschreibens von Aart Middeldorp , Universität Innsbruck
- Kündigungsportal
- Maude-System – eine Software-Implementierung eines generischen Termersetzungssystems. [ 5 ]
Referenzen
- ^ Joseph Goguen „Beweisen und Umschreiben“ Internationale Konferenz über algebraische und logische Programmierung, 1990 Nancy, Frankreich S. 1-24
- Sculthorpe , Neil; Frisby, Nicolas; Gill, Andy (2014). „The Kansas University rewrite engine“ (PDF) . Journal of Functional Programming . 24 ( 4): 434–473 . doi : 10.1017/S0956796814000185 . ISSN 0956-7968 . S2CID 16807490. Archiviert (PDF) vom Original am 22.09.2017 . Abgerufen am 12.02.2019 .
- ^ Hsiang, Jieh; Kirchner, Hélène; Lescanne, Pierre; Rusinowitch, Michaël (1992). „Der Term-Rewriting-Ansatz zum automatisierten Theorembeweisen“ . The Journal of Logic Programming . 14 ( 1–2 ): 71–99 . doi : 10.1016/0743-1066(92)90047-7 .
- ^ Frühwirth, Thom (1998). „Theorie und Praxis von Constraint-Handling-Regeln“ . The Journal of Logic Programming . 37 ( 1–3 ): 95–138 . doi : 10.1016/S0743-1066(98)10005-5 .
- ^ a b Clavel, M.; Durán, F.; Eker, S.; Lincoln, P.; Martí-Oliet, N.; Meseguer, J.; Quesada, JF (2002). „Maude: Spezifikation und Programmierung in der Rewriting-Logik“ . Theoretical Computer Science . 285 (2): 187–243 . doi : 10.1016/S0304-3975(01)00359-0 .
- ^ Kim Marriott; Peter J. Stuckey (1998). Programmieren mit Einschränkungen: Eine Einführung . MIT Press. S. 436–. ISBN 978-0-262-13341-8Die
- Jürgen Avenhaus; Klaus Madlener (1990). „Term Rewriting and Equation Reasoning“. In: RB Banerji (Hrsg.). Formal Techniques in Artificial Intelligence . Sourcebook. Elsevier. S. 1–43 .Hier: Beispiel in Abschnitt 4.1, S. 24.
- ^ Robert Freidin (1992). Grundlagen der generativen Syntax . MIT Press. ISBN 978-0-262-06144-5Die
- ^ a b Book und Otto, S. 10
- ^ Bezem et al., S. 7,
- ^ Bezem et al., S. 7
- ^ Martin Davis et al. 1994, S. 178
- ^ Dershowitz, Jouannaud (1990), Abschnitt 1, S. 245
- ^ Albert, Gräf (2009). „Signalverarbeitung in der reinen Programmiersprache“ . Linux Audio Conference .
- ^ Riepe, Von Michael (18. November 2009). „Pure – eine einfache funktionale Sprache“ . Archiviert vom Original am 19. März 2011.
- ^ Klop, JW „Term Rewriting Systems“ (PDF) . Arbeiten von Nachum Dershowitz und Studierenden . Universität Tel Aviv. S. 12. Archiviert (PDF) vom Original am 15. August 2021. Abgerufen am 14. August 2021 .
- ^ N. Dershowitz, J.-P. Jouannaud (1990). Jan van Leeuwen (Hrsg.). Rewrite Systems . Handbook of Theoretical Computer Science. Band B. Elsevier. S. 243–320 .; hier: Abschnitt 2.3
- ^ Max Dauchet (1989). „Simulation von Turingmaschinen mittels einer linkslinearen Umschreibungsregel“. Proc. 3rd Int. Conf. on Rewriting Techniques and Applications . LNCS. Band 355. Springer. S. 109–120 .
- ^ Max Dauchet (Sep 1992). „Simulation von Turingmaschinen mittels einer regulären Umschreibungsregel“ . Theoretical Computer Science . 103 (2): 409–420 . doi : 10.1016/0304-3975(92)90022-8 .
- ^ Gerard Huet, DS Lankford (März 1978). On the Uniform Halting Problem for Term Rewriting Systems (PDF) (Technical report). IRIA. S. 8. 283. Abgerufen am 16. Juni 2013 .
- Bernhard Gramlich (Juni 1993). „Beziehung zwischen innerster, schwacher, einheitlicher und modularer Terminierung von Termersetzungssystemen“ . In: Voronkov, Andrei (Hrsg.). Proc. International Conference on Logic Programming and Automated Reasoning (LPAR) . LNAI. Band 624. Springer. S. 285–296 . Archiviert vom Original am 4. März 2016. Abgerufen am 19. Juni 2014 .Hier: Beispiel 3.3
- ^ Yoshihito Toyama (1987). „Gegenbeispiele zur Terminierung der direkten Summe von Termersetzungssystemen“ (PDF) . Inf. Process. Lett . 25 (3): 141–143 . doi : 10.1016/0020-0190(87)90122-0 . hdl : 2433/99946 . Archiviert (PDF) vom Original am 13.11.2019 . Abgerufen am 13.11.2019 .
- ^ N. Dershowitz (1985). „Termination“ (PDF) . In: Jean-Pierre Jouannaud (Hrsg.). Proc. RTA . LNCS. Bd. 220. Springer. S. 180–224 . Archiviert (PDF) vom Original am 12.11.2013 . Abgerufen am 16.06.2013 .; hier: S. 210
- ^ Wolfram, D. A. (1993). Die Klauseltheorie der Typen . Cambridge University Press. S. 47–50 . doi : 10.1017/CBO9780511569906 . ISBN 9780521395380. S2CID 42331173 .
- ^ Nipkow, Tobias; Prehofer, Christian (1998). „Higher-Order Rewriting and Equation Reasoning“ . In: Bibel, W.; Schmitt, P. (Hrsg.). Automated Deduction – A Basis for Applications. Band I: Foundations . Kluwer. S. 399–430 . Archiviert vom Original am 16.08.2021 . Abgerufen am 16.08.2021 .