Mechanizing Confluence: Automated and Certified Analysis of First

Total Page:16

File Type:pdf, Size:1020Kb

Mechanizing Confluence: Automated and Certified Analysis of First Mechanizing Confluence dissertation by Julian Nagele submitted to the Faculty of Mathematics, Computer Science and Physics of the University of Innsbruck in partial fulfillment of the requirements for the degree of Doctor of Philosophy advisor: Univ.-Prof. Dr. Aart Middeldorp Innsbruck, October 2017 Mechanizing Confluence Automated and Certified Analysis of First- and Higher-Order Rewrite Systems dissertation Mechanizing Confluence Automated and Certified Analysis of First- and Higher-Order Rewrite Systems Julian Nagele [email protected] October 2017 advisor: Univ.-Prof. Dr. Aart Middeldorp Eidesstattliche Erklärung Ich erkläre hiermit an Eides statt durch meine eigenhändige Unterschrift, dass ich die vorliegende Arbeit selbständig verfasst und keine anderen als die ange- gebenen Quellen und Hilfsmittel verwendet habe. Alle Stellen, die wörtlich oder inhaltlich den angegebenen Quellen entnommen wurden, sind als solche kenntlich gemacht. Die vorliegende Arbeit wurde bisher in gleicher oder ähnlicher Form noch nicht als Magister-/Master-/Diplomarbeit/Dissertation eingereicht. Datum Unterschrift Abstract This thesis is devoted to the mechanized confluence analysis of rewrite systems. Rewrite systems consist of directed equations and computation is performed by successively replacing instances of left-hand sides of equations by the corresponding instance of the right-hand side. Confluence is a fundamental property of rewrite systems, which ensures that different computation paths produce the same result. Since rewriting is Turing-complete, confluence is undecidable in general. Nevertheless, techniques have been developed that can be used to determine confluence for many rewrite systems and several automatic confluence provers are under active development. Our goal isto improve three aspects of automatic confluence analysis, namely (a) reliability, (b) power, and (c) versatility. The importance of these aspects is witnessed by the annual international confluence competition, where the leading automated tools analyze confluence of rewrite systems. To improve the reliability of automatic confluence analysis, we formalize confluence criteria for rewriting in the proof assistant Isabelle/HOL, resulting in a verified, executable checker for confluence proofs. To enhance the power of confluence tools, we present a remarkably simple technique, based on the addition and removal of redundant equations, that strengthens existing techniques. To make automatic confluence analysis more versatile, we develop a higher-order confluence tool, making automatic confluence analysis applicable to systems with functional and bound variables. Acknowledgments At the beginning of this thesis I want to express my gratitude to the many people who have influenced my work and made it an exciting and, on the whole, enjoyable journey. First of all, I would like to thank my advisor Aart Middeldorp. His advice, support, and encouragement were vital. I sincerely appreciate his guidance in both research and other aspects of life, such as traveling Japan. I am grateful to all members of the Computational Logic group, both past and present, for taking me in and creating such a pleasant environment. Thank you for everything you have taught me. I explicitly mention Bertram Felgenhauer, for countless insights and occasional Albernheiten, Cezary Kaliszyk for motivating enthusiasm, Vincent van Oostrom, for collaboration and chitchat on etymology, Christian Sternagel, for energizing discussions and Isabelle and TEX support, Thomas Sternagel, for being my PhD and coffee companion, René Thiemann, for introducing me to interactive theorem proving in the first place, and Sarah Winkler for internship encouragement and advice. Special thanks go to Harald Zankl, for taking me under his wing and supporting me through some of the most important steps of the way. I had the pleasure of collaborating with many amazing people. I am indebted to them all, in particular my fellow confluence competitors: the problem submitters, the tool authors, and especially my CoCo co-organizers, Takahito Aoto, Nao Hirokawa, and Naoki Nishida. I would also like to say thank you to Nuno Lopes, who was my mentor during my internship at Microsoft Research, for offering me a glimpse into the fascinating world of compilers and challenging me to apply my knowledge in an unfamiliar domain. Finally, I wish to thank my friends and family, especially my parents Barbara and Joachim, for their constant support and unwavering belief that has enabled me to pursue this work, and of course Maria, for all the experiences and things we share. This work has been supported by the Austrian Science Fund through the FWF projects P22467 and P27528. ix Contents 1 Introduction1 1.1 Rewriting and Confluence . .2 1.2 Formalization and Certification . .4 1.3 Overview . .6 2 Rewriting9 2.1 Preliminary Notions . .9 2.2 Abstract Rewrite Systems . 10 2.3 Term Rewriting . 17 2.4 Lambda Calculus . 24 2.5 Higher-Order Rewriting . 26 3 Closing Critical Pairs 31 3.1 Critical Pair Lemma . 32 3.2 Strongly Closed Critical Pairs . 33 3.3 Parallel Closed Critical Pairs . 36 3.4 Almost Parallel Closed Critical Pairs . 45 3.5 Critical Pair Closing Systems . 47 3.6 Certificates . 51 3.7 Summary . 52 4 Rule Labeling 55 4.1 Preliminaries . 56 4.2 Formalized Confluence Results . 60 4.2.1 Local Peaks . 61 4.2.2 Local Decreasingness . 66 4.3 Checkable Confluence Proofs . 70 4.3.1 Linear Term Rewrite Systems . 70 4.3.2 Left-linear Term Rewrite Systems . 72 4.3.3 Certificates . 77 xi Contents 4.4 Assessment . 80 4.5 Summary . 81 5 Redundant Rules 83 5.1 Theory . 85 5.2 Formalization and Certification . 88 5.3 Heuristics . 90 5.4 Summary . 92 6 Confluence of the Lambda Calculus 95 6.1 Nominal Lambda Terms . 96 6.2 The Z Property . 99 6.3 The Triangle Property . 103 6.4 Assessment . 104 7 Confluence of Higher-Order Rewriting 107 7.1 Higher-Order Critical Pairs . 107 7.2 Termination . 110 7.3 Orthogonality . 114 7.4 Modularity . 116 7.5 Redundant Rules . 117 7.6 Summary . 118 8 CSI and CSIˆho 119 8.1 Usage . 119 8.2 Implementation Details . 122 8.3 Experimental Results . 124 8.3.1 Term Rewrite Systems . 124 8.3.2 Higher-Order Rewrite Systems . 128 9 Conclusion 131 9.1 Related Work . 131 9.2 Future Work . 134 Bibliography 135 Index 149 xii Chapter 1 Introduction Science is knowledge which we understand so well that we can teach it to a computer. Donald E. Knuth In safety-critical systems, like medical devices and spaceflight, ensuring cor- rectness of computer programs is imperative. Notorious failures, like the malfunctioning Therac-25 medical accelerator, the Pentium floating point divi- sion bug, or the crash of the Ariane 5 rocket, show that modern applications have long reached a level of complexity where human judgment and testing are not sufficient to guarantee faultless operation. Instead formal methods can be used to avoid subtle errors and provide a high degree of reliability. Formal methods apply mathematics and logic to software, formal verification employs these methods for proving correctness of programs. We argue that in computer science formality is not optional. Formal methods merely make that explicit, after all, programming languages are formal languages and every program is a formula. Recent years have seen tremendous success in formally verified software, such as the seL4 microkernel and the CompCert C compiler. Alas, formal verification is still very labor-intensive. It is our believe that in order forformal verification to be widely adopted, a high degree of automation, where large parts of the verification process can be performed at the push of a button, is indispensable. Consequently, we need tools that check properties of critical parts of programs automatically. However, these tools are programs themselves, which makes them vulnerable to the very same problems. That is, they will contain errors. To ensure correctness of the verification process itself, a common approach is to use so-called computational proof assistants, which are computer programs designed for checking mathematical inferences in a highly trustworthy fashion. 1 Chapter 1 Introduction 1.1 Rewriting and Confluence Considering the myriad of existing programming languages and their complexity, in order to facilitate mathematical reasoning and to ensure that results are applicable to all concrete implementations, we would like to perform correctness proofs on a more abstract level, using a mathematical model of computation. Rewriting is such a model of computation. It is the process of transforming objects in a step-wise fashion, replacing equals by equals. Typically the objects are expressions in some formal language, and the transformations are given by a set of equations. Applied in a directed way, they describe rewrite steps, performed by replacing instances of left-hand sides of equations by the corresponding instance of the right-hand side. If no further replacement is possible, we have reached the result of our computation. Consider the equations 0 + y = y 0 × y = 0 s(x) + y = s(x + y) s(x) × y = y + (x × y) Applying them from left to right, they are rewrite rules for computing addition and multiplication on natural numbers represented as Peano numbers, i.e., using a zero constant and a successor function. For instance we can compute 1 × 2 as follows: s(0) × s(s(0)) = s(s(0)) + (0 × s(s(0))) = s(s(0)) + 0 = s(s(0) + 0) = s(s(0 + 0)) = s(s(0)) In each step we instantiated an equation by replacing the variables x and y, and after finding the left-hand side of that equation in a subexpression (indicated by underlining), we replaced it by the corresponding right-hand side. Specifying programs by such sets of directed equations, called rewrite systems, is the essence of the functional programming paradigm. Indeed rewriting as sketched above is Turing-complete and consequently, all basic properties like termination, i.e., the question whether all computations finish in a finite amount of time, are undecidable. 2 1.1 Rewriting and Confluence Returning to our example equations for arithmetic we find that, given some expression, there are often multiple possibilities to apply an equation, yielding different results.
Recommended publications
  • Formalizing Knuth-Bendix Orders and Knuth-Bendix Completion∗
    Formalizing Knuth-Bendix Orders and Knuth-Bendix Completion∗ Christian Sternagel1 and René Thiemann2 1 School of Information Science Japan Advanced Institute of Science and Technology, Japan [email protected] 2 Institute of Computer Science University of Innsbruck, Austria [email protected] Abstract We present extensions of our Isabelle Formalization of Rewriting that cover two historically related concepts: the Knuth-Bendix order and the Knuth-Bendix completion procedure. The former, besides being the first development of its kind in a proof assistant, is based on a generalized version of the Knuth-Bendix order. We compare our version to variants from the literature and show all properties required to certify termination proofs of TRSs. The latter comprises the formalization of important facts that are related to completion, like Birkhoff’s theorem, the critical pair theorem, and a soundness proof of completion, showing that the strict encompassment condition is superfluous for finite runs. As a result, we are able to certify completion proofs. 1998 ACM Subject Classification F.3.1 Specifying and Verifying and Reasoning about Pro- grams, F.4.2 Grammars and Other Rewriting Systems Keywords and phrases certification, completion, confluence, termination Digital Object Identifier 10.4230/LIPIcs.RTA.2013.287 1 Introduction In their seminal paper [10], Knuth and Bendix introduced two important concepts: a procedure that allows us to solve certain instances of the word problem – (Knuth-Bendix) completion – as well as a specific order on terms that is useful to orient equations in the aforementioned procedure – the Knuth-Bendix order (or KBO, for short). Our main contributions around KBO and completion are: There are several variants of KBO (e.g., incorporating quasi-precedences, infinite signatures, subterm coefficient functions, and generalized weight functions).
    [Show full text]
  • Ise-Tr-94-109
    Simple Termination Revisited Aart Middeldorp t Hans Zantema i March, 1994 1SE一一TR-94-109 tlnst. of lnformation Sciences and Electronics, Univ. of Tsukuba, Tsukuba, lbaraki 305, Japan e-mail; amiQsoftlab.is.tsukuba.ac.jp tDept. of Computer Science, Utrecht Univ., P.O. Box 80.089, 3508 TB Utrecht, The Netherlands e-mai1: hanszQcs.ruu.nl Simple Termination Revisited AaTtルfiddeld・η, Institute of lnformation Sciences and Electronics University of Tsukuba, Tsukuba 305」 Japan e-mail: aini@softZab.is.tsukuba.ac.jp tel: +81-298-535538 Hans Zantema Department of Computer Science, Utrecht University P.O. Box 80.089, 3508 TB Utrecht, The Netherlands e-mail: hansz@cs.ruu.nl tei: +31・一30-534116 ABS’TRACT In this paper we investigate the concept of simple termination. A term rewriting system is ca皿ed simply terminating if its termination can be proved by means of a simplification order. The basic ingredient of a simplification order is the subterm property, but in the literature two different definitions are given:one based on(strict)partiaユorders and another one based on preorders (or quasi-orders). ln the first part of the paper we argue that there is no reason to choose the second one, while the first one has certain advantages. Simplification orders are known to be well-founded orders on terms over a finite signature. This important result no longer holds if we consider infinite signatures. Nevertheless, well-known simplification orders like the recursive path order are also well-founded on terms over infinite signatures, provided the underlying
    [Show full text]
  • Equational Reasoning and Completion by Dominik Klein
    Equational Reasoning and Completion by Dominik Klein submitted to Japan Advanced Institute of Science and Technology in partial fulfillment of the requirements for the degree of Doctor of Philosophy Supervisor: Professor Mizuhito Ogawa School of Information Science Japan Advanced Institute of Science and Technology June 2012 Abstract Equations are a versatile and natural tool for various reasoning tasks. This thesis investigates how to fully automate equational reasoning. Central to au- tomation is Knuth and Bendix’ ground-breaking completion procedure. It was originally formulated as an algorithm, and requires a user-provided reduction order. We show that completion can be characterized as an optimization prob- lem. Using this formulation, called Maximal Completion, algorithmic aspects can be abstracted away by encoding the optimization problem to constraints. Full au- tomation can be achieved by constructing a suitable order from the solution of the constraint problem. The success of Knuth and Bendix’ procedure has led to several adaptations to related reasoning tasks, such as Inductionless Induction or Rewriting Induction. We propose a new uniform framework based on constrained equalities. It allows to easily formulate several completion procedures by simple parameter changes. But more importantly it also makes it possible to adopt a similar approach as above, namely reformulating these adaptations as optimization problems. A con- venient side effect of this framework is that soundness proofs are simplified, since necessary conditions are encoded in the constraint part. Lastly we investigate confluence of Term Rewriting Systems (TRSs). Testing confluence automatically is a central property not only for completion, but in other applications as well, such as narrowing or type theory.
    [Show full text]
  • Multiset Path Orderings and Their Application to Termination of Term Rewriting Systems
    View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by International Institute for Science, Technology and Education (IISTE): E-Journals Mathematical Theory and Modeling www.iiste.org ISSN 2224-5804 (Paper) ISSN 2225-0522 (Online) Vol.3, No.5, 2013 Multiset Path Orderings and Their Application to Termination of Term Rewriting Systems Dasharath Singh1 and Ali Maianguwa Shuaibu2* 1Department of Mathematics, Ahmadu Bello University, Zaria-Nigeria. Email: [email protected]. 2Department of Mathematics, Statistics and Computer science, Kaduna Polytechnic, P.M.B. 2021, Kaduna, Nigeria. *Corresponding Author Email: [email protected]. Abstract In this expository paper, a comprehensive study of multiset orderings, nested multiset orderings and multiset path orderings is presented. In particular, it is illustrated how multiset path orderings admit the use of relatively simple and intuitive termination functions that lead to termination of a class of term rewriting systems. 1. Introduction Termination is one of the most important properties of term rewriting systems (trss, for short) which, in general, is known to be undecidable (Huet and Lankford, 1978; Dershowitz, 1987). In the recent years, some powerful methods have been developed to prove termination of a large class of trss. Broadly, these methods can be divided into direct and transformational methods (Zankl, 2006). The direct methods are further classified into syntactical and semantical fragments. The recursive path orders (rpos), such as lexicographic path orders (lpos) and multiset path orders (mpos), are purely syntactical; while Polynomial orders and Knuth-Bendix order (kbo) are semantical. In transformational method, termination proof of a given trs is accomplished by reducing it to an appropriate equivalent form for which proving termination is relatively easier.
    [Show full text]
  • A Normal Higher-Order Termination Rewrite Rules Are Used in Logical Systems to Describe Computations Over Lambda
    A Normal Higher-Order Termination Jean-Pierre Jouannaud, LIX, Ecole´ Polytechnique, Palaiseau, France Albert Rubio, Technical University of Catalonia, Barcelona, Spain We extend the termination proof methods based on reduction orderings to higher-order rewriting systems based on higher- order pattern matching. We accommodate, on the one hand, a weakly polymorphic, algebraic extension of Church’s simply typed λ-calculus, and on the other hand, any use of eta, as a reduction, as an expansion or as an equation. The user’s rules may be of any type in this type system, either a base, functional, or weakly polymorphic type. Categories and Subject Descriptors: F.4.1 [Mathematical Logic]: Lambda calculus and related systems; F.4.2 [Grammars and Other Rewriting Systems] General Terms: Theory Additional Key Words and Phrases: Higher-order rewriting, higher-order orderings, higher-order patterns, typed lambda calculus ACM Reference Format: Jean-Pierre Jouannaud and Albert Rubio. 2015. Normal Higher-Order Termination ACM V, N, Article A (January YYYY), 46 pages. DOI:http://dx.doi.org/10.1145/0000000.0000000 1. INTRODUCTION Rewrite rules are used in logical systems to describe computations over lambda- terms used as a suitable abstract syntax for encoding functional objects like pro- grams or specifications. This approach has been pioneered in this context by Nip- kow [Mayr and Nipkow 1998] and is available in Isabelle [Nipkow and Paulson 1992]. Its main feature is the use of higher-order pattern matching for firing rules. A generalization of Nipkow’s setting allows using rewrite rules of higher type [Mid- deldorp et al. 2005; Jouannaud and Li 2012].
    [Show full text]
  • Simplified Proof of Kruskal's Tree Theorem
    Mathematical Theory and Modeling www.iiste.org ISSN 2224-5804 (Paper) ISSN 2225-0522 (Online) Vol.3, No.13, 2013 Simplified Proof of Kruskal’s Tree Theorem D. Singh1, Ali Mainguwa Shuaibu2* and Ndayawo, M.S.2 1Department of Mathematics, Ahmadu Bello University, Zaria-Nigeria. Email: [email protected]. 2Department of Mathematics, Statistics and Computer science, Kaduna Polytechnic, P.M.B. 2021, Kaduna, Nigeria. Email: [email protected] (*Corresponding Author). Abstract There are different versions of proof of Kruskal’s tree theorem. In this paper, we provide a simplified version of proof of Kruskal’s tree theorem. The proof is essentially due to Nash-williams. Though, our proof is similar to the Kruskal’s original proof formulated in terms of well-quasi-orders by Gallier. In our case, we use well-partial-orders and follow the simplified proof of Kruskal’s theorem of Gallier. Kruskal’s tree theorem is the main ingredient to prove well-foundedness of simplification orders for first-order rewriting. It implies that if an order satisfies some simplification property, well-foundedness is obtained for free. This theorem plays a crucial role in computer science, specially, termination of term rewriting systems. Keywords: Kruskal’s Theorem, Simplification order, Term rewriting, well-foundedness 1. Introduction A well-known method for proving termination is the recursive path ordering (rpo). The fundamental idea of such path ordering is that a well-founded ordering on terms is defined, starting from a given order called precedence on the operation symbols recursively. If every reduction (rewrite) step in a term rewriting system (TRS) corresponds to a decrease according to this ordering, one can conclude that the system is terminating.
    [Show full text]
  • Simplification Orders in Term Rewriting. Derivation Lengths
    Ingo Lepper Simplification Orders in Term Rewriting Derivation Lengths, Order Types, and Computability 2001 Mathematische Logik Simplification Orders in Term Rewriting Derivation Lengths, Order Types, and Computability Inaugural-Dissertation zur Erlangung des Doktorgrades der Naturwissenschaften im Fachbereich Mathematik und Informatik der Mathematisch-Naturwissenschaftlichen Fakult¨at der Westf¨alischen Wilhelms-Universit¨at Munster¨ vorgelegt von Ingo Lepper aus Munster¨ – 2001 – Typeset with LATEX 2ε using the document class KOMA-Script, the packages babel, AMS-LATEX, amsthm, hyperref, graphicx, url, color, natbib, backref, booktabs, array, ragged2e, acronym, nomencl, thumbpdf, nicefrac, currvita, titletoc, epigraph, and paralist, and the additional font packages amssymb, aeguill, stmaryrd, and pifont. The home page of this text is http://wwwmath.uni-muenster.de/logik/publ/diss/9.html. If you want to contact the author, this is possible by electronic mail via either [email protected] (expiration date approx. 12/2004) or [email protected]. Dekan: Prof. Dr. W. Lange Erster Gutachter: Prof. Dr. A. Weiermann Zweiter Gutachter: Prof. Dr. W. Pohlers Tage der mundlichen¨ Prufungen:¨ ❖ Mathematische Logik: 04.12.2001 ❖ Reine Mathematik: 29.11.2001 ❖ Angewandte Mathematik: 03.12.2001 Tag der Promotion: 04.12.2001 Fur¨ Anke und meine Familie ❦ Foreword Appreciate true friendship, it is for free! I would like to mention the persons who have significantly contributed to my work. First of all I wish to express my sincere thanks to my thesis supervisor, Prof. Andreas Weiermann, for invaluable help and encouragement. He arouse my interest in term rewriting, he benevolently answered nearly all of my ques- tions from various fields of mathematics, and in turn he asked questions which led to new or improved results.
    [Show full text]
  • The Weighted Path Order for Termination of Term Rewriting
    PhD Thesis The Weighted Path Order for Termination of Term Rewriting April 2014 Akihisa Yamada Graduate School of Information Science Nagoya University Abstract Termination of term rewrite systems (TRSs) has been widely studied and various automated termination provers have been developed. Nevertheless, there is still an increasing demand on the power and scalability of termination provers. This thesis aims at proposing a powerful method for automatically proving termina- tion of TRSs, and moreover providing its efficient implementation. We propose a novel method called the weighted path order, which subsumes many existing techniques. In particular, we unify the three most celebrated and longstanding methods: the Knuth-Bendix order, the polynomial interpretation order, and the lexicographic path order. Further to incorporate the new order into the depen- dency pair framework, the modern standard of termination proving, we propose a new technique called partial status. In this setting, our method moreover subsumes the matrix interpretation method, as well as many other well-known techniques. Then we present how to encode our method as a satisfiability modulo theory (SMT) problem, for which various efficient solvers exist. Our method is implemented as a new termination prover NaTT. With only a few other techniques implemented, NaTT is the second strongest tool in the International Termina- tion Competition (full-run 2013), demonstrating the power of our method. We also present new techniques for cooperating with SMT solvers which advance the efficiency of the tool; NaTT ran almost five times faster than any other tool participated in the competition. In addition, we consider extensions of the Knuth-Bendix order that cope with associativity and commutativity (AC) axioms.
    [Show full text]
  • Automated Termination Analysis for Term Rewriting
    Dissertation Automated Termination Analysis for Term Rewriting Nao Hirokawa Faculty of Mathematics, Computer Science and Physics University of Innsbruck May 29, 2006 Acknowledgements I am grateful to my supervisor Aart Middeldorp for his guidance and valuable advice. Indeed, he was indispensable for the progress of my research. I also thank him for his assistance for living in Innsbruck. Special thanks to my colleagues in the Computational Logic group. I would like to thank to Daniel Laimer for his contribution to improve the web interface of the termination tool TTT, which is explained in this thesis. Last but not least, I thank my family. Some of the results in this thesis are inspired by talking with them. i Contents 1 Introduction 1 1.1 TermRewriteSystemsandTermination . 1 1.2 OverviewandResults ........................ 5 2 Preliminaries 9 2.1 Relations,Orders,andTerms . 9 2.2 TermRewriteSystemsandTermination . 12 3 Dependency Pair Method 19 3.1 DependencyPairs .......................... 19 3.2 SubtermCriterion .......................... 22 3.3 Reduction Triples and Argument Filterings . 25 3.4 UsableRules ............................. 28 4 Automating the Dependency Pair Method 37 4.1 DependencyGraphApproximations . 37 4.2 CycleAnalysis ............................ 41 4.3 ArgumentFilterings . .. .. .. .. .. .. .. .. .. .. 48 4.3.1 Heuristics ........................... 48 4.3.2 DivideandConquer . 49 4.3.3 DynamicProgramming . 53 5 Polynomial Orders 57 5.1 NegativeConstants. .. .. .. .. .. .. .. .. .. .. 57 5.1.1 TheoreticalFramework . 58 5.1.2 TowardsAutomation. 59 5.2 NegativeCoefficients . 61 5.2.1 TheoreticalFramework . 62 5.2.2 TowardsAutomation. 65 6 Tyrolean Termination Tool 69 6.1 TyroleanTerminationTool . 69 6.1.1 Webinterface......................... 69 6.1.2 Simply-Typed Applicative Rewrite Systems . 71 6.1.3 ACollectionofRewrite SystemsasInput .
    [Show full text]
  • Bi-Rewriting Rewriting Logic
    Electronic Notes in Theoretical Computer Science Birewriting Rewriting Logic W Marco Schorlemmer Institut dInvestigacio en Intelligencia Articial Consel l Superior dInvestigacions Cientques Campus UAB E Bel laterra Catalunya marcoiiiacsices Abstract Rewriting logic app ears to have good prop erties as logical framework and can be useful for the development of programming languages which attempt to integrate various paradigms of declarative programming In this pap er I prop ose to tend towards the op erational semantics for such languages by basing it on birewrite systems and ordered chaining calculi which apply rewrite techniques to rstorder theories with arbitrary p ossibly nonsymmetric transitive relations b ecause this was an imp ortant breakthrough for the automation of deduction in these kind of theories Ishow that a pro of calculus based on the birewriting technique may serve as framework of dierent pro of calculi by analizing those of equational logic and Horn logic and presenting them as sp ecic cases of birewrite systems Deduction is then essentially birewriting a theory of rewriting logic Since recently the interest in sp ecications based on theories with transitive relations has arisen the result of this researchtowards a general framework for birewriting based op erational semantics of several programming paradigms will also be very useful for the development of rapid prototyping to ols for these kind of sp ecications Intro duction Term rewriting has been mainly used as a technique for the deduction in equational theories
    [Show full text]
  • Simple Termination Revisited
    Simple Termination Revisited Aart Middeldorp Institute of Information Sciences and Electronics University of Tsukuba, Tsukuba 305, Japan e-mail: [email protected] c.jp Hans Zantema Department of Computer Science, Utrecht University P.O. Box 80.089, 3508 TB Utrecht, The Netherlands e-mail: [email protected] ABSTRACT In this pap er we investigate the concept of simple termination. A term rewriting system is called simply terminating if its termination can b e proved by means of a simpli cation order. The basic ingredient of a simpli cation order is the subterm prop erty, but in the literature two di erent de nitions are given: one based on strict partial orders and another one based on preorders or quasi-orders. In the rst part of the pap er we argue that there is no reason to cho ose the second one, while the rst one has certain advantages. Simpli cation orders are known to b e well-founded orders on terms over a nite signature. This imp ortant result no longer holds if we consider in nite signatures. Nevertheless, well-known simpli cation orders like the recursive path order are also well-founded on terms over in nite signatures, provided the underlying precedence is well-founded. We prop ose a new de nition of simpli cation order, which coincides with the old one based on partial orders in case of nite signatures, but which is also well-founded over in nite signatures and covers orders like the recursive path order. 1 1. Intro duction One of the main problems in the theory of term rewriting is the detection of termination: for a xed system of rewrite rules, determine whether there exist in nite reduction sequences or not.
    [Show full text]