Calcul de réécriture : fondements et applications

L'objet de cette these est l'etude d'un calcul permettant de decrire l'application de regles de reecriture conditionnelles et de representer les resultats obtenus. Nous introduisons le calcul de reecriture, appele aussi le rho-calcul, qui generalise la reecriture du premier ordre et le lambda-calcul tout en permettant d'exprimer le non-determinisme. Dans notre approche, l'operateur d'abstraction ainsi que l'operateur d'application sont des objets du calcul. Le resultat d'une reduction dans le calcul de reecriture est soit un ensemble vide representant l'echec de l'application, soit un singleton representant un resultat deterministe, soit un ensemble ayant plusieurs elements representant un choix non-deterministe de resultats. Au cours de cette these nous nous concentrons sur les proprietes du calcul de reecriture utilisant un filtrage syntaxique pour lier les variables a leurs valeurs actuelles. Nous definissons des strategies d'evaluation garantissant la confluence du calcul et nous montrons que ces strategies deviennent triviales pour des restrictions du calcul de reecriture general a des calculs plus simples comme le lambda-calcul. Le calcul de reecriture n'est pas terminant dans le cas non-type mais la terminaison forte est obtenue pour le calcul simplement type. Dans le calcul de reecriture etendu par un operateur permettant de tester l'echec de l'application nous definissons des termes representant la normalisation innermost et outermost par rapport a un ensemble de regles de reecriture. En utilisant ces termes, nous obtenons un codage naturel et concis de la reecriture conditionnelle. Enfin, a partir de la representation des regles de reecriture conditionnelles, nous montrons comment le calcul de reecriture peut etre employe pour donner une semantique au langage ELAN base sur l'application de regles de reecriture controlees par des strategies.

[1]  Hélène Kirchner,et al.  Prototyping Completion with Constraints Using Computational Systems , 1995, RTA.

[2]  Eelco Visser,et al.  Strategic Pattern Matching , 1999, RTA.

[3]  Claude Kirchner,et al.  Rewriting with Strategies in ELAN: A Functional Semantics , 2001, Int. J. Found. Comput. Sci..

[4]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[5]  Alfred V. Aho,et al.  Code optimization and finite church-rosser systems , 1971 .

[6]  Gérard P. Huet,et al.  A Mechanization of Type Theory , 1973, IJCAI.

[7]  Hélène Kirchner,et al.  A Compiler for Rewrite Programs in Associative-Commutative Theories , 1998, PLILP/ALP.

[8]  A. Church The calculi of lambda-conversion , 1941 .

[9]  Nachum Dershowitz Orderings for Term-Rewriting Systems , 1979, FOCS.

[10]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[11]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[12]  Hélène Kirchner,et al.  A reflective extension of ELAN , 1996, WRLA.

[13]  D. Knuth,et al.  Simple Word Problems in Universal Algebras , 1983 .

[14]  Claude Kirchner,et al.  Combining Higher-Order and First-Order Computation Using Rho Calculus: Towards a Semantics of ELAN , 1998 .

[15]  Lawrence C. Paulson,et al.  A Higher-Order Implementation of Rewriting , 1983, Sci. Comput. Program..

[16]  Michel Mauny Compilation des Langages Fonctionnels dans les Combinateurs Catégoriques -- Application au langage ML , 1985 .

[17]  Claude Kirchner,et al.  The simply typed rewriting calculus , 2000, WRLA.

[18]  Claude Kirchner,et al.  Solving Equations in Abstract Algebras: A Rule-Based Survey of Unification , 1991, Computational Logic - Essays in Honor of Alan Robinson.

[19]  Enno Ohlebusch,et al.  Term Rewriting Systems , 2002 .

[20]  John C. Mitchell,et al.  A lambda calculus of objects and method specialization , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[21]  Arie van Deursen An Overview of ASF+SDF , 1996 .

[22]  C. Kirchner,et al.  Introduction to the Rewriting Calculus , 1999 .

[23]  Gilles Dowek Third order matching is decidable , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[24]  N. A C H U M D E R S H O W I T Z Termination of Rewriting' , 2022 .

[25]  de Ng Dick Bruijn,et al.  Lambda calculus with namefree formulas involving symbols that represent reference transforming mappings , 1978 .

[26]  J. Roger Hindley,et al.  Introduction to Combinators and Lambda-Calculus , 1986 .

[27]  G. Birkhoff,et al.  On the Structure of Abstract Algebras , 1935 .

[28]  Tobias Nipkow,et al.  Higher-order critical pairs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[29]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[30]  54506 Vandoeuvre Implementation of Higher-order Uniication Based on Calculus of Explicit Substitution , 1995 .

[31]  Chang Liu,et al.  Term rewriting and all that , 2000, SOEN.

[32]  Hélène Kirchner,et al.  Completion of a Set of Rules Modulo a Set of Equations , 1986, SIAM J. Comput..

[33]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[34]  Martín Abadi,et al.  A Theory of Objects , 1996, Monographs in Computer Science.

[35]  M. Newman On Theories with a Combinatorial Definition of "Equivalence" , 1942 .

[36]  Jean-Louis Krivine,et al.  Lambda-calculus, types and models , 1993, Ellis Horwood series in computers and their applications.

[37]  Jean-Pierre Jouannaud,et al.  Abstract Data Type Systems , 1997, Theor. Comput. Sci..

[38]  Mitsuhiro Okada,et al.  Strong normalizability for the combined system of the typed lmbda calculus and an arbitrary convergent term rewrite system , 1989, ISSAC '89.

[39]  Nachum Dershowitz,et al.  A Rationale for Conditional Equational Programming , 1990, Theor. Comput. Sci..

[40]  Eelco Visser,et al.  A core language for rewriting , 1998, WRLA.

[41]  Marian Vittek,et al.  A Compiler for Nondeterministic Term Rewriting Systems , 1996, RTA.

[42]  Claude Kirchner,et al.  A Fine-Grained Concurrent Completion Procedure , 1996 .

[43]  Val Tannen,et al.  Polymorphic Rewriting Conserves Algebraic Strong Normalization and Confluence Val Tannen , 2011 .

[44]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[45]  Claude Kirchner,et al.  Implementing Computational Systems with Constraints , 1993, PPCP.

[46]  Claude Kirchner,et al.  ELAN from a rewriting logic point of view , 2002, Theor. Comput. Sci..

[47]  Peter Borovanský Le contrôle de la réécriture : étude et implantation d'un formalisme de stratégies , 1998 .

[48]  Claude Kirchner,et al.  Higher-order unification via explicit substitutions , 1995, Proceedings of Tenth Annual IEEE Symposium on Logic in Computer Science.

[49]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[50]  Robin Milner,et al.  A proposal for standard ML , 1984, LFP '84.

[51]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[52]  Bruno Pagano,et al.  X.R.S : Explicit Reduction Systems - A First-Order Calculus for Higher-Order Calculi , 1998, CADE.

[53]  Arie van Deursen,et al.  Industrial Applications of ASF+SDF , 1996, AMAST.

[54]  M. Clavel,et al.  Principles of Maude , 1996, WRLA.

[55]  Fabio Gadducci,et al.  On The Algebraic Approach To Concurrent Term Rewriting , 1996 .

[56]  Christophe Ringeissen,et al.  Combining Decision Algorithms for Matching in the Union of Disjoint Equational Theories , 1996, Inf. Comput..

[57]  Claude Kirchner,et al.  Rule-Based Constraint Programming , 1998, Fundam. Informaticae.

[58]  Teruo Hikita,et al.  A Rewriting System for Categorical Combinators with Multiple Arguments , 1990, SIAM J. Comput..

[59]  Michael J. O'Donnell,et al.  Computing in systems described by equations , 1977, Lecture Notes in Computer Science.

[60]  Jean-Pierre Jouannaud,et al.  Recursive Decomposition Ordering , 1982, Formal Description of Programming Concepts.

[61]  Robin Milner,et al.  Edinburgh lcf: a mechanized logic of computation , 1978 .

[62]  C. Kirchner,et al.  Deduction with symbolic constraints , 1990 .

[63]  Isabelle Gnaedig,et al.  Solving gpo Ordering Constraints with a Shared Term Data Structure , 1996 .

[64]  Mark E. Stickel,et al.  Complete Sets of Reductions for Some Equational Theories , 1981, JACM.

[65]  Tobias Nipkow,et al.  Combining Matching Algorithms: The Regular Case , 1991, J. Symb. Comput..

[66]  MeseguerJosé Conditional rewriting logic as a unified model of concurrency , 1992 .

[67]  Pierre-Etienne ene Kirchner,et al.  A re ective extension of ELANH el , 1996 .

[68]  Marian Vittek Elan : un cadre logique pour le prototypage de langages de programmation avec contraintes , 1994 .

[69]  Jean-Jacques Lévy,et al.  Confluence properties of weak and strong calculi of explicit substitutions , 1996, JACM.

[70]  Vincent van Oostrom,et al.  Combinatory Reduction Systems: Introduction and Survey , 1993, Theor. Comput. Sci..

[71]  Jan Willem Klop Lambda-calculus, types and models , 1998 .

[72]  J. Y. Girard,et al.  Interpretation fonctionelle et elimination des coupures dans l'aritmetique d'ordre superieur , 1972 .

[73]  CurienPierre-Louis,et al.  Confluence properties of weak and strong calculi of explicit substitutions , 1996 .

[74]  V. Breazu-Tannen,et al.  Combining algebra and higher-order types , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

[75]  Horatiu Cirstea Specifying Authentication Protocols Using ELAN , 1999 .

[76]  Vincent Padovani Filtrage d'ordre superieur , 1996 .

[77]  Christoph M. Hoffmann,et al.  Implementation of an interpreter for abstract equations , 1984, POPL '84.

[78]  Christophe Ringeissen Prototyping Combination of Unification Algorithms with the ELAN Rule-Based Programming Language , 1997, RTA.

[79]  Alan J. Hu,et al.  Protocol verification as a hardware design aid , 1992, Proceedings 1992 IEEE International Conference on Computer Design: VLSI in Computers & Processors.

[80]  Max Dauchet Simulation of Turning Machines by a Left-Linear Rewrite Rule , 1989, RTA.

[81]  William W. Tait,et al.  Intensional interpretations of functionals of finite type I , 1967, Journal of Symbolic Logic.

[82]  Nachum Dershowitz,et al.  Computing with Rewrite Systems , 1985, Inf. Control..

[83]  S. Eker Improving the efficiency of AC matching and unification , 1993 .

[84]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[85]  José Meseguer,et al.  An Introduction to OBJ 3 , 1988, CTRS.

[86]  Claude Kirchner,et al.  The Rewriting Calculus as a Semantics of ELAN , 1998, ASIAN.

[87]  Claude Kirchner,et al.  Unification via Explicit Substitutions: The Case of Higher-Order Patterns , 1996, JICSLP.

[88]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[89]  Ataru T. Nakagawa,et al.  An overview of CAFE specification environment-an algebraic approach for creating, verifying, and maintaining formal specifications over networks , 1997, First IEEE International Conference on Formal Engineering Methods.

[90]  Pierre Lescanne,et al.  Termination of Rewriting Systems by Polynomial Interpretations and Its Implementation , 1987, Sci. Comput. Program..

[91]  Carlos Castro,et al.  Une approche déductive de la résolution de problèmes de satisfaction de contraintes , 1998 .

[92]  Claude Kirchner,et al.  A Functional View of Rewriting and Strategies for a Semantics of ELAN , 1998, Fuji International Symposium on Functional and Logic Programming.

[93]  Vincent van Oostrom,et al.  Comparing Combinatory Reduction Systems and Higher-order Rewrite Systems , 1993, HOA.

[94]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.