Comparing Curried and Uncurried Rewriting

  title={Comparing Curried and Uncurried Rewriting},
  author={Richard Kennaway and Jan Willem Klop and M. Ronan Sleep and Fer-Jan de Vries},
  journal={J. Symb. Comput.},
Abstract Currying is a transformation of term rewrite systems which may contain symbols of arbitrary arity into systems which contain only nullary symbols, together with a single binary symbol called application. We show that for all term rewrite systems (whether orthogonal or not) the following properties are preserved by this transformation: strong normalization, weak normalization, weak Church-Rosser, completeness, semi-completeness, and the non-convertibility of distinct normal forms. Under… 

Figures from this paper

Normalization Results for Typeable Rewrite Systems

This paper defines a general scheme for recursive definitions and proves that, for all systems that satisfy this scheme, every term typeable without using the type-constant is strongly normalizable and all typeable terms have a (weak) head-normal form.

Deciding Confluence and Normal Form Properties of Ground Term Rewrite Systems Efficiently

This work presents a cubic time algorithm for NFP, an almost cubic time algorithms for UNR, and an almost linear time algorithmFor UNC, improving previous bounds and presenting a cubicTime algorithm for CR.

Currying of Order-Sorted Term Rewriting Systems

It is proved that compatibility and confluence of order-sorted term rewriting systems are preserved by currying, and currying in typed case remains as a problem.

Enhancing dependency pair method using strong computability in simply-typed term rewriting

We enhance the dependency pair method in order to prove termination using recursive structure analysis in simply-typed term rewriting systems, which is one of the computational models of functional

Safety of Strictness Analysis via Term Graph Rewriting

A safe abstraction is presented for a restricted form of term graph rewriting. This abstraction can be seen as a formalisation of the rewrite system employed by the strictness analyser in the

Regular language type inference with term rewriting

This paper defines a new type system applied to the fully automatic verification of safety properties of tree-processing higher-order functional programs. We use term rewriting systems to model the

Regular Language Type Inference with Term Rewriting - extended version

This paper defines a new type system applied to the fully automatic verification of safety properties of tree-processing higher order functional programs. We use term rewriting systems to model the

Polymorphic higher-order recursive path orderings

A family of recursive path orderings for terms of a typed lambda-calculus generated by a signature of polymorphic higher-order function symbols is defined, which can be generated from two given well-founded orderings, on the function symbols and on the type constructors.

Connuence of Curried Term-rewriting Systems

Reduction Systems Definition An Abstract Reduction System short ARS consists of a set A and a sequence i of binary relations on A labelled by some set I that has the diamond property.

Uncurrying for Termination

This paper presents a transformation from untyped applicative term rewriting systems to functional term rewrite systems that preserves and reflects termination, and is less restrictive than other approaches.



Completeness of Combinations of Constructor Systems

This paper shows that it is sufficient to impose the constructor discipline for obtaining the modularity of completeness and obtains a similar technique for semi-completeness, i.e. the combination of confluence and weak normalisation.

Rewrite Systems

  • N. DershowitzJ. Jouannaud
  • Computer Science
    Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics
  • 1990

Confluence of Curried Term-Rewriting Systems

It is shown that currying preserves confluence of arbitrary term rewriting systems, similar to Toyama's proof that confluence is a modular property of TRS.

Termination of Term Rewriting by Semantic Labelling

  • H. Zantema
  • Computer Science
    Fundam. Informaticae
  • 1995
A new kind of transformation of term rewriting systems (TRS) is proposed, depending on a choice for a model for the TRS, which provides a new technique for proving termination, making classical techniques like path orders and polynomial interpretations applicable even for non-simplifying TRS’s.

On the Church-Rosser property for the direct sum of term rewriting systems

  • Y. Toyama
  • Mathematics, Computer Science
  • 1987
It is shown that if two term rewriting systems both have the Chruch-Rosser property, then the direct sum of these systems also has this property.

Expressions as processes

We argue that the 'equal civil rights' principle inherent in the lambda calculus base of applicative languages may be extended to encompass parallelism. In our model, all applicative expressions are

Proving termination with multiset orderings

The multiset ordering enables the use of relatively simple and intuitive termination functions in otherwise difficult termination proofs, and is used to prove the termination of production systems, programs defined in terms of sets of rewriting rules.

Completeness of Hierarchical Combinations of term Rewriting Systems

The result generalizes Middeldorp and Toyama's result on modularity of completeness for shared constructor systems by proposing a syntactic one (about recursion) based on constructor discipline.

Modular Aspects of Properties of Term Rewriting Systems Related to Normal Forms

In this paper we prove that the property of having unique normal forms is preserved under disjoint union. We show that two related properties do not exhibit this kind of modularity.

Functional Programming

In contrast to procedural / imperative programming, functional programming emphasizes the evaluation of functional expressions, rather than execution of commands.