Tools in Term Rewriting for Education

  title={Tools in Term Rewriting for Education},
  author={S. Winkler and Aart Middeldorp},
Term rewriting is a Turing complete model of computation. When taught to students of computer science, key properties of computation as well as techniques to analyze programs on an abstract level are conveyed. This paper gives a swift introduction to term rewriting and presents several automatic tools to analyze term rewrite systems which were developed by the Computational Logic Group at the University of Innsbruck. These include the termination tool TTT2, the confluence prover CSI, the… 

Figures from this paper

FunBlocks Checker: Checking termination and confluence of FunBlocks programs

This tool aims to give the user the possibility to check two important properties, namely termination and confluence, using a simple command line interface and uses Maude, a language following the rewriting theory and containing a formal environment.



Analyzing Program Termination and Complexity Automatically with AProVE

The tool AProVE is presented for automatic termination and complexity proofs of Java, C, Haskell, Prolog, and rewrite systems, and a corresponding plug-in for the popular Eclipse software development environment is presented.

Proving Confluence of Term Rewriting Systems Automatically

An automated confluence prover for term rewriting systems (TRSs) is developed, incorporating of several divide---and---conquer criteria such as those for commutative, layer-preserving and persistent combinations.

Certification of Termination Proofs Using CeTA

This paper uses the theorem prover Isabelle/HOL to automatically certify termination proofs and formalized the required theory of term rewriting including three major termination criteria: dependency pairs, dependency graphs, and reduction pairs.

Fort 2.0

The extensions that were incorporated in the latest release (2.0) of FORT include witness generation for existentially quantified variables in formulas, support for combinations of rewrite systems, as well as an extension to deal with non-ground terms for properties related to confluence.

Tyrolean Termination Tool 2

The second edition of the Tyrolean Termination Tool is described—a fully automatic termination analyzer for first-order term rewrite systems and its main features are its (non-)termination proving power, its speed, its flexibility due to a strategy language, and the fact that the source code of the whole project is freely available.

Proving Termination Properties with mu-term

New features of mu-term, a tool which can be used to verify a number of termination properties of Term Rewriting Systems, are reported on.

Nontermination inference of logic programs

When termination and nontermination analysis produce complementary results for a logic procedure, then with respect to the leftmost selection rule and the language used to describe sets of atomic queries, each analysis is optimal and together they induce a characterization of the operational behavior of the logic procedure.

Multi-Completion with Termination Tools

The inference system is described, the full proof of its correctness and comment on completeness issues are given and critical pair criteria and isomorphisms are presented as refinements together with all proofs.

Transforming Derivational Complexity of Term Rewriting to Runtime Complexity

This work proposes a novel transformation that allows an off-the-shelf tool for inference of upper or lower bounds for runtime complexity to be used to determine upper orLower bounds for derivational complexity as well.

TcT: Tyrolean Complexity Tool

This paper presents [InlineEquation not available: see fulltext.] v3.0, the latest version of the fully automated complexity analyser, which implements the framework for automated complexity analysis and focuses on extensibility and automation.