TRSPEC: A Term Rewriting Based System for Algebraic Specifications

Term rewriting systems and methods can be used for functional programming and as a technology for program verification using the same formalism in both cases. The TRSPEC system provides tools for specifying functions by term rewriting systems and for proving (equational) properties of these functions in the corresponding initial algebra by a specialized Knuth-Bendix Completion Procedure (cf. [Mu80], [HuHu82]).Various checks of abstract specifications as well as rapid prototyping by means of a compilation into executable specifications are possible. One of the main goals of the system is to provide a suitable basis for performing experiments in order to validate new theoretical results and approaches and to identify the main problems and limits of rewriting techniques for program verification from a practical point of view.