Lecture Notes in Computer Science 1139 Edited by G. Goos, J. Hartmanis and J. van Leeuwen Advisory Board: W. Brauer D. Gries J. Stoer Michael Hanus Mario Rodrfguez-Artalejo (Eds.) ciarbeglA dna cigoL gnimmargorP 5th International Conference, ALP'96 Aachen, Germany, September 25-27, 1996 Proceedings regnirpS Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Corneil University, ,YN USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Michael Hanus RWTH Aachen, Lehr- und Forschungsgebiet Informatik II AhornstraBe 55, D-52074Aachen, Germany E-mail: hanus @ informatik.rwth-aachen.de Mario Rodrfguez-Artalejo Universidad Complutense, Dto. de Informatica yAutomatica Av. Complutense s/n, 28040 Madrid, Spain E-mail: [email protected] Cataloging-in-Publication data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Algebraic dna logic programming (cid:12)9 5th international conference ; proceedings / ALP '96, Aachen, Germany, September 25 - 27, 1996. Michael Hanus ; Mario Rodriguez Artalejo (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Budapest ; Hong Kong ; London ; Milan ; Paris ; Santa Clara ; Singapore ; Tokyo : Springer, 1996 (Lecture notes in computer science ; Vol. )9311 ISBN 3-540-61735-3 NE: Hanus, Michael Hrsg.; ALP <5, 1996, Aachen>; GT CR Subject Classification (1991): D.3,F.3-4, 1.2.3 ISSN 0302-9743 ISBN 3-540-61735-3 Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer -Verlag. Violations are liable for prosecution under the German Copyright Law. (cid:14)9 Springer-Verlag Berlin Heidelberg 1996 Printed in Germany Typesetting: Camera-ready by author SPIN 10513704 06/3142 - 5 4 3 2 1 0 Printed on acid-free paper Preface This volume contains the proceedings of the Fifth International Conference on Algebraic and Logic Programming (ALP'96), held in Aachen (Germany) during September 25-27, 1996. The conference was preceded by previous meetings in Gaussig (1988), Nancy (1990), Volterra (1992), and Madrid (1994). The previous proceedings have been published by Springer-Verlag, as in this case, as Lecture Notes in Computer Science, volumes 343,463,632, and 850, respectively. Following the intention of the previous ALP meetings, the conference aims at strengthening the connections between algebraic techniques and logic program- ming. On the one hand, logic programming has been very successful during the last two decades, and many efforts have been made to enhance its expressive power and efficiency, including in particular the emergence of constraint logic programming. On the other hand, concepts such as functions, types, equational theories, and modularity are particularly well handled in an algebraic frame- work. As during the previous conferences, ALP promotes the cross-fertilizing exchange of ideas and experiences among researchers from the algebraic and logic programming communities. On this occasion, ALP was held concurrently with the Eighth Interna- tional Symposium on Programming Languages, Implementations, Logics, and Programs (PLILP'96) and the Third International Static Analysis Symposium (SAS'96). The ALP'96 Program Committee met in Aachen on June 22, 1996. Shortly before this meeting, there was an email discussion of those papers for which there was a significant disagreement about the technical quality. Finally, the Program Committee selected 12 papers from 54 submissions. In addition to the selected papers, the scientific program included invited lectures (shared with PLILP'96 and SAS'96) by Claude Kirchner, Lambert Meertens, and Bernhard Steffen. The invited paper by Ilies Alouini and Claude Kirchner is included in this volume. We would like to thank all the members of the Program Committee and all the referees for their careful work in the reviewing and selection process. The organization of the conferences was supported by - The Assocation of Logic Programming Esprit Compulog-Net - RWTH Aachen - - SUN Microsystems Finally, we express our gratitude to all members of the local Organizing Com- mittee for their help in organizing a successful event. Aachen Michael Hanus Madrid Mario Rodrfguez-Artalejo July 1996 Program Committee Chairmen Iv Program Committee Chairmen Michael Hanus (Germany) Mario Rodrlguez-Artalejo (Spain) Program Committee Sergio Antoy (USA) Luis Monteiro (Portugal) Egidio Astesiano (Italy) Fernando Orejas (Spain) Jiirgen Avenhaus (Germany) Catuscia Palamidessi (Italy) Pierre Deransart (France) Frank Pfenning (USA) Laurent Fribourg (France) Vijay Saraswat (USA) Joxan Jaffar (Singapore) Peter Stuckey (Australia) Giorgio Levi (Italy) Andrzej Tarlecki (Poland) Karl Meinke (UK) Andrei Voronkov (Sweden) Aart Middeldorp (Japan) Martin Wirsing (Germany) Local Organization Michael Hanus, Herbert Kuchen, Markus Mohnen, Ulla Oebel, Frank Zartmann, Olaf Chitil, Arnd Gehrmann List of Referees J. Alferes, .Z Ariola, P. Barahona, M. Bednarczyk, .M Bidoit, S. Blom, N. Boland, A. Borzyszkowski, .L Caires, .M Carlsson, M. Cerioli, P. Chambre, W.N. Chin, O. Chitil, M. Comini, H. Comon, M.-M. Corsini, J.N. Crossley, A. Degtyarev, G. Delzanno, J. Denzinger, W. Drabent, A. Ed-Dbali, S. Etalle, M. Falaschi, C. Fecht, C. Fermiiller, M. Fernandez, J.A. Ferngndez, R. Fet- tig, T. Fruehwirth, M. Gabbrielli, .M Garcia de la Banda, M. Gaspari, A. Gavilanes-Franeo, A. Geser, R. Giacobazzi, J.C. Gonzs B. Gram- lich, M. Hamana, W. Harvey, T. Hortals ~A Hui-Bon-Hoa, S. Kahrs, S. Kekkonen, R. Kennaway, S.C. Khoo, C. Kirchner, J.W. Klop, T. Knapik, P. Kosiuezenko, F. Laburthe, A. Lallouet, T. Lindgren, F. L6pez-Fraguas, B. Malfon, P. Mancarella, N. Martf-Oliet, P.-A. Melli~s, P. Mello, M.-C. Meo, D. Miller, H. Millroth, E. Moggi, M. Mohnen, L. Monteiro, T. Mora, A. Mycroft, G. Nadathur, C.W. Ngan, R. Nieuwenhuis, S. Nieva-Soto, E. Ohlebusch, H. ,n@slO V. van Oostrom, P. P~czkowski, E. Palmgren, W. Pawtowski, .L M. Pereira, E. Pimentel-Ss A. Porto, F. van Raamsdonk, G. Reggio, .S Renault, B. Reus, J.-H. Rety, J. Richardson, .S Ronchi della Rocea, A. Rubio, S. Ruggieri, M. Rusinowitch, F. Ss A. Sattler-Klein, .M Schmidt-Schaufl, D. Seipel, R. Sekar, H. Scndergaard, M. Thielscher, A. Tolmach, R. Treinen, M. Veanes, P. Volpe, F.-J. de Vries, M. Wallace, T. Yamada, R. Yap, H. Zantema, F. Zartmann Table of Contents Invited Talk Toward the Concurrent Implementation of Computational Systems .......... i Ilies Alouini and Claude Kirchner Logic Programming On Negation as Instantiation .............................................. 32 Alessandra Di Pierro and Wtodzimierz Drabent Independence in Dynamically Scheduled Logic Languages .................. 47 Maria Garcia de la Banda, Manuel Hermenegildo, and Kim Marriott Heterogeneous Constraint Solving ......................................... 62 Frdddric Benhamou A Hierarchy of Semantics for Normal Constraint Logic Programs ........... 77 Franfois Fages and Roberta Gori Term Rewriting Order-Sorted Termination: The Unsorted Way ............................. 92 Peter Csaba ~)Iveczky and Olav Lysne Unravelings and Ultra-properties ......................................... 107 Massimo Marchiori Standardization Theorem Revisited ...................................... 122 Taro Suzuki Discrete Normalization and Standardization in Deterministic Residual Structures ............................................................... 135 Zurab Khasidashvili and John Glauert Integration of Paradigms A Language for the Logical Specification of Processes and Relations ...... 150 Lugs Caires A Process Algebra for Synchronous Concurrent Constraint Programming . 165 Lubo~ Brim, David Gilbert, Jean-Marie Jaequet, and Mojmir K~etinsk~j An Algebraic Approach to Mixins and Modularity ........................ 179 Davide Ancona and Elena Zucca A Strict Border for the Decidability of E-Unification for Recursive Functions 194 Heinz Faflbender and Sebastian Maneth ltly Abstract Interpretation Prime Factorizations of Abstract Domains Using First Order Logic ....... 209 Elena Marchiori Abstractions of Uniform Proofs ........................................... 224 Paolo Volpe Complementing Logic Program Semantics ................................ 238 Roberto Giacobazzi and Francesco Ranzato Lambda-Calculus and Rewriting Meaningless Terms in Rewriting .......................................... 254 Richard Kennaway, Vincent van Oostrom, and Fer-Jan de Vries Unique Normal Form Property of Higher-Order Rewriting Systems ....... 269 Ken Mano and Mizuhito Ogawa )~-Calculi with Explicit Substitutions and Composition which Preserve /?-strong Normalization (Extended Abstract) ............................. 284 Maria C.F. Ferreira, Delia Kesner, and Laurence Puel Types Algebraic Semantics for Functional Logic Programming with Polymorphic Order-Sorted Types ......................................... 299 Jesds M. Almendros-Jimdnez, Antonio. Gavilanes-Franco, and Ana Gil-Luezas Specifying Type Systems ................................................. 314 Dieter Nazareth The Semantic Treatment of Polymorphic Specification Languages ......... 330 Dieter Nazareth Author Index .......................................................... 345 Toward the Concurrent Implementation of Computational Systems Ilies Alouini and Claude Kirchner INRIA-LorrMne & CRIN http://www.loria.fr/equipe/protheo.html BP 101, 54602 Villers-l~s-Nancy FRANCE E-m~l: {Ilies.Alouini, Claude.Kirchner)@Ioria.fr Abstract. This paper places concurrent rewriting in the perspective of supporting the development and use of computational systems. We briefly recall the usefulness of computational systems (i.e. a rewriting theory with strategies) as a logical framework. We then show that the right implementation model for concurrent rewriting allows us to give a meaning to the concurrent rewrite of overlapping redexes. The princi- ples of the implementation of concurrent rewriting and of the associated garbage collection are sketched. We then present a specific transforma- tion of conditional rewriting to unconditional rewriting, that permits us to preserve the potential concurrency of the system as much as possible. This allows us to extend the ReCo system to handle conditional specifi- cations. We finally present experimental results of the system on various parallel architectures. 1 Introduction The fundamental interest of using term rewriting as an executable specification tool was shown in the last two decades, through many theoretical works but also many implementations of the concept, like (without exhaustivity) OBJ, PLUSS, LPG, .FDS-~-FSA More recently the usefulness of the rewriting logic as a logical framework MOM93 and the resulting implementation of the ELAN KKV95 and MAUDE Mes93 languages have shown the importance of having efficient implementations of conditional term rewriting with strategies, in particular in parallel. Initiated in the mid eighties for improving the efficiency of term normal- isation, the idea of using concurrent term rewriting as a model of computa- tion GKM87 has drawn lots of attention, either when designing specific hard- ware for implementing the concepts GKL+86, or for the theoretical interest of conditional rewriting as a model of fine grain concurrency Mes92, Vir94, DL95, Mes96, or when implementing rewriting on distributed memory ma- chines KV92, Vir92. This last work leads to the development in our research group of ReCo, an implementation of concurrent rewriting on distributed mem- ory machines. This system is presented later in the paper from the theoretical background to the implementation model of the unconditional and conditional cases. In particular, we show how conditional concurrent term rewriting can be implemented on distributed memory machines (or a network of machines) by providing a specially designed reduction of conditional concurrent rewriting to unconditional concurrent rewriting. Implementing concurrent rewriting is not an easy task since one has to first design the right implementation model and then to design and implement the right environment, including in particular garbage collection. In our case we have shown that it is correct and complete to use the notion of jungle HP88 in order to provide the basis for the implementation KV92 and that in this context a concurrent garbage collector can be designed and implemented Alo95. In this paper, we furthermore show that our computation model is compatible with the concurrent evaluation of overlapping redexes. This allows us to have a truly asynchronous implementation of concurrent rewriting where forests of terms are rewritten but a distinguished element of this forest represents the term of interest. This paper places concurrent rewriting in the perspective of supporting the development and use of computational systems. So we begin in the next section with a summary of the use of computational systems, especially in the context of Algebraic and Logic Programming. Then we present the theoretical background of computational systems and concurrent rewriting. We show how rewriting can be implemented using a fine grained model on distributed memory machines and we shortly recall how garbage collection works in this context. Then we reduce conditional concurrent rewriting to unconditional conditional rewriting~ using a transformation specifically designed to preserve concurrency as much as possible. Finally in the conclusion we outline the questions raised by this approach, in particular when using strategies. 2 Computational systems Computational systems have been introduced in the early nineties, for describing inference systems as rewrite rules. Computational systems KKV95 are rewrite theories in rewriting logic Mes92, together with strategies. We will see in the next section how this can be formally defined. Let us first outline how conve- nient computational systems can be for expressing inference systems of com- mon use in the algebraic and logic programming community. In fact, the rule- based approach of general deduction presented in MOM93, as well as specific ones as advocated for unification IJK91, disunification Comgl, constraint solv- ing CDJK95 or theorem proving~ can be realistically used in order to directly implement these concepts. This is made concrete using ELAN BKK+96b, our implementation of computational systems, which is used for running all the ex- amples presented now. ELAN, considered as a logical framework, makes rewriting logic available to the user for representing its own logic. A standard library is provided with the language to avoid the need for the the user to write again 1M the basic objects like terms, integers or substitutions and their application. Starting from this, one may first want, for example, to describe the standard unification algorithm. Following JK91, and assuming the symbol f to be generic in the given signa- ture~ the decomposition rule is expressed as usual by: Decompose P A f(sl,...,s,~)=? f(tl,...,t,,) ~ P A sl ?= tl A ... A s~=? t. which is written in ELAN as: rule decompose declare s_l, .... s_N:term; t_i .... ,t_N:term; body P & F(s_1 ..... s_N)=F(t 1,...,t_N) => P { & s_I=t_I }_I=I...N end In addition to offering a syntax very close to the one in use when describing inference systems, ELAN allows us to describe strategies that are used to apply the rules to a query. In the case of this example a possible unification strategy is: strategy unify repeat dont care choose(delete decompose conflict coalesce occCheck eliminate) endrepeat dont care choose(trueelim truepropag falsepropag) end of strategy which means that the rules delete, decompose, conflict, ... are applied until none is applicable. Building on this, a simple programming language based on Horn clause logic and SLD-resolution can be described by a computational system: In Horn clause logic, formulas are of the form A ~ B1,..., Bn with A, Bi being atoms, and a theory is given by a signature and a set of formulas. SLD-resolution is mainly de- scribed with two rules that are direct translations of the resolution and reflection rules. This is fully described in Vit94, KKV95. In the same vein, the narrowing relations, and in particular the Basic ver- sion, are especially useful in the integration of functional and logic program- ming Han94. The computational system describing Basic narrowing is given by the two main rewrite rules: Narrow (3X, g = d S) ~ (3X U 1;ar(l, r), gr~ = d I S A (glw =~ ))1 if l +-- r 6 Variants(PgR) and (S A wlg( ~---- l)) is satisfiable Block (3X, g = d II S) ~4~, (3X, T ISA (g =~ d)) if (S A (g =~ d)) is satisfiable where on the left side of the II symbol appears the constraint to be solved modulo the term rewriting system PgR (i.e. the rewrite program). On the right side of this symbol appears the constraint to be solved in the empty theory (i.e.
Description: