Results 1 
7 of
7
RAPT: A program transformation system based on term rewriting
 14 IPSJ Transactions on Programming 2007 3
, 2006
"... Abstract. Chiba et al. (2005) proposed a framework of program transformation by template and automated verification of its correctness based on term rewriting. This paper describes a design and implementation of RAPT which implements this framework. RAPT transforms a term rewriting system according ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Chiba et al. (2005) proposed a framework of program transformation by template and automated verification of its correctness based on term rewriting. This paper describes a design and implementation of RAPT which implements this framework. RAPT transforms a term rewriting system according to a specified program transformation template. Presupposing the program transformation template is developed, the correctness of the transformation is automatically verified so that the transformation keeps the relationship between initial ground terms and their normal forms. 1
On the Relation Between Context and Sequence Unification
"... Both Sequence and Context Unification generalize the same problem: Word Unification. Besides that, Sequence Unification solves equations between unranked terms involving sequence variables, and seems to be appealing for information extraction in XML documents, program transformation, knowledge repre ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Both Sequence and Context Unification generalize the same problem: Word Unification. Besides that, Sequence Unification solves equations between unranked terms involving sequence variables, and seems to be appealing for information extraction in XML documents, program transformation, knowledge representation, and rulebased programming. It is decidable. Context Unification deals with the same problem for ranked terms involving context variables, and has applications in computational linguistics and program transformation. Its decidability is a longstanding open question. In this work we study a relation between these two problems. We introduce a variant (restriction) of Context Unification, called LeftHole Context Unification (LHCU), to which Sequence Unification is Preduced: We define a partial currying procedure to translate sequence unification problems into lefthole context unification problems, and prove soundness of the translation. Furthermore, a precise characterization of the shape of the unifiers allows us to easily reduce LeftHole Context Unification to (the decidable problem of) Word Unification with Regular Constraints, obtaining then a new decidability proof for Sequence Unification. Finally, we define an extension of Sequence Unification (ESU) and, closing the circle, prove the inter Preducibility of LHCU and ESU.
Natural Inductive Theorems for HigherOrder Rewriting
"... The notion of inductive theorems is wellestablished in firstorder term rewriting. In higherorder term rewriting, in contrast, it is not straightforward to extend this notion because of extensionality (Meinke, 1992). When extending the term rewriting based program transformation of Chiba et al. (20 ..."
Abstract
 Add to MetaCart
The notion of inductive theorems is wellestablished in firstorder term rewriting. In higherorder term rewriting, in contrast, it is not straightforward to extend this notion because of extensionality (Meinke, 1992). When extending the term rewriting based program transformation of Chiba et al. (2005) to higherorder term rewriting, we need extensibility, a property stating that inductive theorems are preserved by adding new functions via macros. In this paper, we propose and study a new notion of inductive theorems for higherorder rewriting, natural inductive theorems. This allows to incorporate properties such as extensionality and extensibility, based on simply typed Sexpression rewriting (Yamada, 2001).
Regular Paper Automatic Construction of Program Transformation Templates
 VOL. 48 NO. SIG 0(PRO 35) IPSJ TRANSACTIONS ON PROGRAMMING
, 2007
"... Program transformation by templates (Huet and Lang, 1978) is a technique to improve the efficiency of programs. In this technique, programs are transformed according to a given program transformation template. To enhance the variety of program transformation, it is important to introduce new transfo ..."
Abstract
 Add to MetaCart
Program transformation by templates (Huet and Lang, 1978) is a technique to improve the efficiency of programs. In this technique, programs are transformed according to a given program transformation template. To enhance the variety of program transformation, it is important to introduce new transformation templates. Up to our knowledge, however, few works discuss about the construction of transformation templates. Chiba et al. (2006) proposed a framework of program transformation by template based on term rewriting and automated verification of its correctness. Based on this framework, we propose a method that automatically constructs transformation templates from similar program transformations. The key idea of our method is a secondorder generalization, which is an extension of Plotkin’s firstorder generalization (1969). We give a secondorder generalization algorithm and prove the soundness of the algorithm. We then report about an implementation of the generalization procedure and an experiment on the construction of transformation templates.
Regular Paper Program Transformation by Templates: A Rewriting Framework
"... We propose a framework in this paper for transforming programs with templates based on term rewriting. The programs are given by term rewriting systems. We discuss how to validate the correctness of program transformation within our framework. We introduce a notion of developed templates and a simpl ..."
Abstract
 Add to MetaCart
We propose a framework in this paper for transforming programs with templates based on term rewriting. The programs are given by term rewriting systems. We discuss how to validate the correctness of program transformation within our framework. We introduce a notion of developed templates and a simple method of constructing such templates without explicit use of induction. We then show that in any transformation of programs using the developed templates, their correctness can be veri¯ed automatically. The correctness of program transformation within our framework is discussed based on operational semantics. We also present some examples of program transformations in our framework. 1.
Journal of Automated Reasoning manuscript No. (will be inserted by the editor) A TwoValued Logic for Properties of Strict Functional Programs allowing Partial Functions
"... Abstract A typed program logic LMF for recursive specification and verification is presented. It comprises a strict functional programming language with polymorphic and recursively defined partial functions and polymorphic data types. The logic is twovalued with the equality symbol as only predica ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract A typed program logic LMF for recursive specification and verification is presented. It comprises a strict functional programming language with polymorphic and recursively defined partial functions and polymorphic data types. The logic is twovalued with the equality symbol as only predicate. Quantifiers range over the values, which permits inductive proofs of properties. The semantics is based on a contextual (observational) semantics, which gives a consistent presentation of higherorder functions. Our analysis also sheds new light on the the role of partial functions and loose specifications. It is also an analysis of influence of extensions of programs on the tautologies. The main result is that universally quantified equations are conservative, which is also the base for several other conservative classes of formulas.
This work is licensed under the Creative Commons Attribution License. Transformation by Templates for SimplyTyped Term Rewriting
"... We extend a framework of program transformation by templates based on first order term rewriting (Chiba et al., 2005) to simply typed term rewriting (Yamada, 2001), which is a framework of higher order term rewriting. A pattern matching algorithm to apply templates for transforming a simply typed te ..."
Abstract
 Add to MetaCart
(Show Context)
We extend a framework of program transformation by templates based on first order term rewriting (Chiba et al., 2005) to simply typed term rewriting (Yamada, 2001), which is a framework of higher order term rewriting. A pattern matching algorithm to apply templates for transforming a simply typed term rewriting system is given and the correctness of the algorithm is shown. 1 Program transformation by templates and simply typed term pattern Huet and Lang [4] introduced a framework of program transformation by templates. In this framework, the secondorder matching algorithm plays an important role—how to apply the transformation template to a given program is specified by the solution of the matching algorithm. Curien et al. [3] gave an efficient matching algorithm. Yokoyama et al. [7] presented a sufficient condition of patterns to have at most one solution. De Moor and Sittampalam [5] gave a matching algorithm containing thirdorder matching. In all of these frameworks, programs and program schemas are represented by lambda terms and higherorder substitutions are performed by βreduction. In Chiba et al. [1, 2], we introduced a framework of program transformation by templates based on term rewriting. Contrast to the framework mentioned above, programs and program schemas are given by term rewriting systems (TRSs for short) and TRS patterns, where TRS patterns is a TRS in which