whatisgithub

What is term-rewriting-and-all-that?

brandonwillard/term-rewriting-and-all-that — explained in plain English

Analysis updated 2026-07-17 · repo last pushed 2019-04-04

3Standard MLAudience · researcherComplexity · 3/5DormantSetup · moderate

In one sentence

An archived collection of Standard ML code examples from the 1999 textbook 'Term Rewriting and All That', showing how to implement symbolic term rewriting.

Mindmap

mindmap
  root((repo))
    What it does
      Term rewriting examples
      Textbook code archive
      Symbolic transformation
    Tech stack
      Standard ML
    Use cases
      Study formal methods
      Learn theorem proving
      Reference implementation
    Audience
      Students
      Researchers
    Setup
      Archival snapshot
      Not actively developed

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Study working implementations of term rewriting algorithms from the textbook.

USE CASE 2

Learn how symbolic expressions are simplified and proved equivalent.

USE CASE 3

Reference the code while working through 'Term Rewriting and All That'.

USE CASE 4

Use as a starting point for building formula simplification or proof tools.

What is it built with?

Standard ML

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Archival snapshot paired with a textbook, not an actively maintained project.

So what is it?

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.

Copy-paste prompts

Prompt 1
Explain how the term rewriting examples in this repo simplify symbolic expressions.
Prompt 2
Walk me through this Standard ML code and relate it to the concepts in 'Term Rewriting and All That'.
Prompt 3
How could I adapt this repo's term rewriting approach to build a simple formula simplifier?
Prompt 4
What foundational term rewriting concepts should I understand before reading this codebase?

Frequently asked questions

What is term-rewriting-and-all-that?

An archived collection of Standard ML code examples from the 1999 textbook 'Term Rewriting and All That', showing how to implement symbolic term rewriting.

What language is term-rewriting-and-all-that written in?

Mainly Standard ML. The stack also includes Standard ML.

Is term-rewriting-and-all-that actively maintained?

Dormant — no commits in 2+ years (last push 2019-04-04).

How hard is term-rewriting-and-all-that to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is term-rewriting-and-all-that for?

Mainly researcher.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.