TermRewritingSystems - Term Rewriting Systems Ferucio...

Info iconThis preview shows pages 1–9. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Term Rewriting Systems Ferucio Laurentiu T iplea Visiting Professor School of Computer Science University of Central Florida E-mail: tiplea@cs.ucf.edu November 18, 2004 Term Rewriting Systems Contents : Motivations Terms and term rewriting systems Canonical form Proving termination Proving confluence UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 1 Term Rewriting Systems Bibliography : 1. Term Rewriting Systems , Cambridge Tracts in Theoret- ical Computer Science 55, Cambridge University Press, 2003 (884 pages) 2. F. Baader, T. Nipkow. Term Rewriting and All That , Cambridge University Press, 1998 (301 pages) UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 2 Motivations Syntactically, rewrite rules are a special kind of equations that can be applied in one direction only . A term rewriting system (trs, for short) is a set of rewrite rules. They have many applications to: theorem proving algebraic specification (of data types, programs etc.) computer algebra -calculus implementation of declarative languages operational semantics of programming languages UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 3 Motivations Example: Ackerman-Peter function f : N N N (R1) f (0 ,y ) = y + 1 (R2) f ( x + 1 , 0) = f ( x, 1) (R3) f ( x + 1 ,y + 1) = f ( x,f ( x + 1 ,y )) for all x,y N . A few values of this function: f (0 ,y ) = y + 1 f (1 ,y ) = y + 2 f (2 ,y ) = 2 y + 3 for all y N . UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 4 Motivations Example of computation: f (2 , 1) ( R 3) , x 1 , y = f (1 ,f (2 , 0)) f (1 , f (2 , 0) ) ( R 2) , x 1 = f (1 ,f (1 , 1)) f (1 , f (1 , 1) ) ( R 3) , x , y = f (1 ,f (0 ,f (1 , 0))) f (1 ,f (0 , f (1 , 0) )) ( R 2) , x = f (1 ,f (0 ,f (0 , 1))) f (1 ,f (0 , f (0 , 1) )) ( R 1) , y 1 = f (1 ,f (0 , 2)) f (1 , f (0 , 2) ) ( R 1) , y 2 = f (1 , 3) UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 5 Motivations Conclusions: each element of this computation is a term each computation step is based on applying one of the equations (R1), (R2) or (R3) each equation is used in one direction only (from left to right) each equation is based on a substitution ( x 1, y 0) which matches the left hand side of the equation to some subterm of the current term the immediate successor of a term t is obtained by re- placing a subterm of t by an instance of the right hand side of some equation UCF-SCS/Term Rewriting Systems/Nov 18,2004/F.L. Tiplea 6 Terms and Term Rewriting Systems Let F be a set of function symbols each of which having associated an arity, and let X be a set of variables. Assume that F and X are disjoint sets. The set of terms over F and X is defined inductively as follows: each function symbol of arity 0 is a term; each variable is a term; if t 1 ,...,t n are terms and f is a function symbol of arity n 1, then f ( t 1 ,...,t,....
View Full Document

This note was uploaded on 07/14/2011 for the course COT 5310 taught by Professor Staff during the Spring '08 term at University of Central Florida.

Page1 / 29

TermRewritingSystems - Term Rewriting Systems Ferucio...

This preview shows document pages 1 - 9. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online