Formal Rewriting