TermRewriting
Term rewriting is a fundamental concept in computer science and logic that deals with the process of replacing subterms within a larger expression according to a set of predefined rules. These rules, often called rewrite rules or reduction rules, specify how a particular term can be transformed into another term. The core idea is that applying a rewrite rule to a term is an operation that yields a new, often simpler, term.
A term rewriting system (TRS) consists of a set of terms and a set of rewrite rules.
Applications of term rewriting are widespread. It is a key technique in automated theorem proving, symbolic