Jump to ratings and reviews
Rate this book

Term Rewriting and All That

Rate this book
This textbook offers a unified and self-contained introduction to the field of term rewriting. It covers all the basic material (abstract reduction systems, termination, confluence, completion, and combination problems), but also some important and closely connected subjects: universal algebra, unification theory, Gröbner bases and Buchberger's algorithm. The main algorithms are presented both informally and as programs in the functional language Standard ML (an appendix contains a quick and easy introduction to ML). Certain crucial algorithms like unification and congruence closure are covered in more depth and Pascal programs are developed. The book contains many examples and over 170 exercises. This text is also an ideal reference book for professional researchers: results that have been spread over many conference and journal articles are collected together in a unified notation, proofs of almost all theorems are provided, and each chapter closes with a guide to the literature.

316 pages, Kindle Edition

First published March 5, 1998

7 people are currently reading
87 people want to read

About the author

Franz Baader

13 books

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
7 (35%)
4 stars
10 (50%)
3 stars
2 (10%)
2 stars
1 (5%)
1 star
0 (0%)
Displaying 1 - 2 of 2 reviews
15 reviews3 followers
May 14, 2017
This book changed how I thought about computer science, logic, and language forever. By stripping down computation to its core - rewriting of syntax - we gain a powerful method of analysis. This is not some magical grand unifying theory, but I have found casting problems in this light to be very useful.

Initially, I purchased this book to help implement automated theorem provers. If we can state an equational theory as a term rewrite system and show that it is confluent and terminating, then we can form an algorithm for proving (or disproving) an equation; normalize both sides of the equation and then check if you end up at a reflexive equality.

The unexpected relationship I found was how term rewrite systems can provide a link between logic programming and dependently-typed programming. By constructing a type indexed by terms in our logic with each constructor corresponding to a rewrite, we end up with an effective technique of embedding a logical system.
27 reviews2 followers
August 4, 2016
Tough going, especially the proofs, but absolutely spot on about the "All That" part of the title.
Displaying 1 - 2 of 2 reviews

Can't find what you're looking for?

Get help and learn more about the design.