brandonwillard/term-rewriting-and-all-that — explained in plain English
Analysis updated 2026-07-17 · repo last pushed 2019-04-04
Study working implementations of term rewriting algorithms from the textbook.
Learn how symbolic expressions are simplified and proved equivalent.
Reference the code while working through 'Term Rewriting and All That'.
Use as a starting point for building formula simplification or proof tools.
Archival snapshot paired with a textbook, not an actively maintained project.
This repository is a collection of working code examples from a textbook called "Term Rewriting and All That," originally published in 1999. The code is written in Standard ML, a programming language designed for mathematical and logical reasoning. Term rewriting is a foundational concept in computer science and mathematics. At its core, it's about taking symbolic expressions and systematically transforming them by replacing parts with other parts according to defined rules. Think of it like a spelling corrector that replaces certain letter patterns, but for mathematical formulas or abstract symbols. These transformations can be used to simplify expressions, prove that two things are mathematically equivalent, or solve equations automatically. The book explores how these rewriting systems work, why they matter, and how to implement them correctly. This repository preserves the original implementation examples that accompany the textbook, essentially the "working proof" that the concepts described in the book actually work in practice. Someone reading the book would use this code to see concrete implementations of the algorithms and ideas being taught. This would be most useful to students or researchers learning about formal methods, theorem proving, or mathematical logic. If you're building tools that need to automatically simplify formulas, verify logical proofs, or perform symbolic computation, understanding term rewriting is foundational. The code here serves as a reference implementation showing how these systems were approached in the late 1990s. The repository is a straightforward archival snapshot rather than an actively developed project. It exists primarily so people can access the original source code that pairs with the textbook, rather than having to hunt down the original University of Munich servers where it was first hosted.
An archived collection of Standard ML code examples from the 1999 textbook 'Term Rewriting and All That', showing how to implement symbolic term rewriting.
Mainly Standard ML. The stack also includes Standard ML.
Dormant — no commits in 2+ years (last push 2019-04-04).
Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.
Mainly researcher.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.