Difference between revisions of "Rewriting"
Karl Jones (Talk | contribs) (→External links) |
Karl Jones (Talk | contribs) (→See also) |
||
Line 16: | Line 16: | ||
* [[Computer science]] | * [[Computer science]] | ||
* [[Critical pair (logic)]] | * [[Critical pair (logic)]] | ||
+ | * [[Lambda calculus]] | ||
* [[Logic]] | * [[Logic]] | ||
* [[Mathematics]] | * [[Mathematics]] |
Latest revision as of 18:37, 24 April 2016
In mathematics, computer science, and logic, rewriting covers a wide range of (potentially non-deterministic) methods of replacing subterms of a formula with other terms.
Description
What is considered are rewriting systems (also known as rewrite systems, rewrite engines or reduction systems).
In their most basic form, they consist of a set of objects, plus relations on how to transform those objects.
Rewriting can be non-deterministic. One rule to rewrite a term could be applied in many different ways to that term, or more than one rule could be applicable. Rewriting systems then do not provide an algorithm for changing one term to another, but a set of possible rule applications.
When combined with an appropriate algorithm, however, rewrite systems can be viewed as computer programs, and several declarative programming languages are based on term rewriting.
See also
- Computer program
- Computer science
- Critical pair (logic)
- Lambda calculus
- Logic
- Mathematics
- Object (mathematics)
- Referential transparency
- Rho calculus
External links
- Rewriting @ Wikipedia