Currying of Order-Sorted Term Rewriting Systems

Term rewriting system is a helpful tool for implementing functional programming languages. We focus upon a transformation of term rewriting systems called currying. Currying transforms a term rewriting system with symbols of arbitrary arity into another one, which contains only nulary symbols with a single binary symbol called application. Currying in single-sorted case is explored in [1] but currying in typed case remains as a problem. This paper first proposes currying of order-sorted term rewriting systems. Then, we prove that compatibility and confluence of order-sorted term rewriting systems are preserved by currying.