ebook img

Algebraic and Logic Programming: 6th International Joint Conference ALP '97 — HOA '97 Southampton, UK, September 3–5, 1997 Proceedings PDF

294 Pages·1997·18.8 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algebraic and Logic Programming: 6th International Joint Conference ALP '97 — HOA '97 Southampton, UK, September 3–5, 1997 Proceedings

Lecture Notes in Computer Science 1298 Edited by G. Goos, J. Hartmanis and J. van Leeuwen Advisory Board: .W Brauer D. Gries J. Stoer Michael Hanus naJ Heering Karl Meinke (Eds.) ciarbeglA dna Logic gnimmargorP 6th International Joint Conference ALP '97 HOA '97 Southampton, UK, September 3-5, 1997 Proceedings r e g n~ i r p S Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Michael Hanus RWTH Aachen, Forschungsgebiet Informatik II Ahornstr. 55, D-52074 Aachen, Germany E-mail: hanus @informatik.rwth-aachen.de Jan Heering CWI P.O. Box 94079, 1090 GB Amsterdam, The Netherlands E-mail: [email protected] Karl Meinke Royal Institute of Technology/NADA Osquars backe 2, S-100 44 Stockholm, Sweden E-mail: [email protected] Cataloging-in-Publication data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Algebraic and logic programming : 6th international joint conference ; proceedings / ALP '97 ; HOA '97, Southampton, UK, September 3 - 5, 1997. Michael Hanus ... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Budapest ; Hong Kong ; London ; Milan ; Paris ; Santa Clara ; Singapore ; Tokyo : Springer, 1997 (Lecture notes in computer science ; Vol. 1298) ISBN 3*540-63459-2 CR Subject Classification (1991): D.3,F.3-4, 1.2.3 ISSN 0302-9743 ISBN 3-540-63459-2 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,r eprinting, 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 CopyrighLta w of September 9, 1965, in its current version, and permission for use musta lways be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. © Springer-VerlaBge rlin Heidelberg 1997 Printed in Germany Typesetting: Camera-ready by author SPIN 10546333 06/3142 - 5 4 3 2 1 0 Printed on acid-free paper Preface This volume contains the proceedings of the Sixth International Conference on Algebraic and Logic Programming (ALP'97) and the Third International Workshop on Higher-Order Algebra, Logic and Term Rewriting (HOA'97), held in Southampton (Great Britain) during September 3-5, 1997. The conference ALP'97 was preceded by meetings in Gaussig (1988), Nancy (1990), Volterra (1992), Madrid (1994), and Aachen (1996). The proceedings of these conferences have been published by Springer-Verlag, as Lecture Notes in Computer Science volumes 343, 463, 632, 850, and 1139, respectively. The workshop HOA'97 was preceded by meetings in Amsterdam (1993) and Paderborn (1995). The proceed- ings of these workshops have also been published as Lecture Notes in Computer Science volumes 816 and 1074 respectively. The ALP conference aims at strengthening the connections between alge- braic techniques and logic programming. 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 particu- lar 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 framework. As during the previous conferences, ALP promotes the cross-fertilizing exchange of ideas and experiences among researchers from the algebraic and logic programming communities. The HOA workshop aims to provide an overview of current research, and to suggest new research directions, in the area of higher-order methods. These are now widely applied in declarative programming languages, as well as in software and hardware specification and verification. The scope of the workshop includes higher-order aspects of: algebra, logic and model theory, term rewriting, spec- ification and verification languages, computational logic and theorem proving, and also system implementations and case studies. On this occasion, ALP'97 and HOA'97 were held jointly, allowing contribu- tors and participants to exploit the overlap in these subject areas. ALP'97 and HOA'97 were also held concurrently with the Ninth International Symposium on Programming Languages, Implementations, Logics, and Programs (PLILP'97). The joint ALP'97/HOA'97 Program Committee met electronically during the final week of May, 1997. There was an email discussion of those papers for which there was a significant disagreement about the judgement. Finally, the combined Program Committees selected 81 papers from 13 submissions. 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 ALP'97 and HOA'97 conferences were organised in cooperation with the British Computer Society, the Association of Logic Programming, the Euro- pean Association for Programming Languages and Systems, Compulog Net (the ESPRIT Network of Excellence in Computational Logic), and the European Association for Computer Science Logic (EACSL). Iv 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 Amsterdam Jan Heering Stockholm Karl Meinke June 1997 Proceedings Editors iiv ALP'97 Program Committee Co-Chairs M. Hanus (Germany) K. Meinke (Sweden) Program Committee F. Benhamou (France) D. De Schreye (Belgium) F. Fages (France) I. Guessarian (France) M. Haveraaen (Norway) .S HSlldobler (Germany) J.W. Klop (Netherlands) A. Middeldorp (Japan) G. Nadathur (USA) C. Palamidessi (Italy) P. Stuckey (Australia) R. St~rk (Switzerland) S. Thompson (Great Britain) J.V. Tucker (Great Britain) J. Tiuryn (Poland) A. Voronkov (Sweden) M. Wirsing (Germany) HOA'97 Program Committee Co-Chairs J. Heering (Netherlands) K. Meinke (Sweden) B. re115M (Germany) T. Nipkow (Germany) Program Committee D. Dougherty (USA) G. Dowek (France) A. Felty (USA) J. Field (USA) M. Gordon (Great Britain) Local Organization H. Glaser and P. Hartel List of Referees C. Baral, K. Van Belleghem, M. Bialasik, M. Carlsson, P. Cenciarelli, A. Degt- yarev, U. Furbach, B. Gramlich, K. Hanna, J. Harland, J. Hodas, S. Kahrs, A. Knapp, P. Kosiuczenko, V. Kriau~iukas, A. Leitsch, M. Leuschel, M. Marchiori, T. Melham, D. Miller, E. Moggi, M. Okada, V. van Oostrom, P.C. Olveczky, D. Plump, C. Prehofer, F. van Raamsdonk, G. Richard, H. Scndergaard, G. St£1marck, C. Urban, H. Vandecasteele, E. Visser, H. Zantema. Table of Contents Functional and Logic Programming Safe Folding/Unfolding with Conditional Narrowing ......................... 1 M. Alpuente, M. Falaschi, .G Moreno and .G Vidal Optimal Non-deterministic Functional Logic Computations ................ 61 S. Antoy A Semantic Basis for Termination Analysis of Logic Programs and Its Realization Using Symbolic Norm Constraints ............................. 13 M. Codish and .C Taboch Parallelizing Functional Programs by Generalization ....................... 46 A. Geser and S. Gorlatch Higher-Order Methods Higher-Order Equational Unification via Explicit Substitutions ............. 16 C. Kirchner and .C Ringeissen Parameterised Higher-Order Algebraic Specifications ....................... 67 L.J. Steggles Higher-Order Lazy Narrowing Calculus: A Computation Model for a Higher-Order Functional Logic Language ................................... 99 T. Suzuki, K. Nakagawa and T. Ida Term Rewriting On Composable Properties of Term Rewriting Systems ................... 411 T. Aoto and Y. Toyama Needed Reductions with Context-Sensitive Rewriting ..................... 921 S. Lucas Conditional Term Graph Rewriting ....................................... 441 E. Ohlebusch Types Lazy Narrowing with Parametric Order Sorted Types ..................... 159 J.M. Almendros-Jimgnez and A. Gil-Luezas Termination of Algebraic Type Systems: The Syntactic Approach ......... 471 .G Barthe and F. van Raamsdonk Proof Net Semantics of Proof Search Computation ........................ 491 L. Caires and L. Monteiro Lambda-Calculus Explicit Substitutions for the AA Calculus ................................ 209 G. Barthe, F. Kamareddine and A. Rios A Left-Linear Variant of Aa .............................................. 224 A. Cdsar and H. Mu~oz Perpetuality and Uniform Normalization .................................. 240 Z. Khasidashvili and M. Ogawa Theorem Proving Methods Model Generation with Existentially Quantified Variables and Constraints 256 S. Abdennadher and H. Schlitz Optimal Left-to-Right Pattern-Matching Automata ....................... 273 N. Nedjah, C.D. Walter and S.E. Eldridge Safe Folding/Unfolding with Conditional Narrowing* M. Alpuente 1 and M. Falaschi 2 and G. Moreno 3 and G. Vidal 1 1 DSIC, Universidad Polit6cnica de Valenda, Camino de Vera s/n, Apdo. 22012, 46020 Valencia, Spain. e.mail:{alpuente,gvidal}@dsic.upv.es. Dipartimento di Matematica e Informatica, Universit~ di Udine, Via delle Scienze 206, 33100 Udine, Italy. e.mail:falaschi~dimi.uniud.it. 3 Departamento de Informgtica, Universidad de Castina-La Mancha, Campus Universitario s/n, 02071 Albacete, Spain. e.mail:[email protected]. Abstract. Functional logic languages with a complete operational se- mantics are based on narrowing, a generalization of term rewriting where unification replaces matching. In this paper, ew study the semantic prop- erties of a general transformation technique ca~ed gnidlofnu in the con- text of functional logic languages. Unfolding a program is defined as the application of narrowing steps to the calls in the program rules in some appropriate form. We show that, unlike the case of pure logic or pure functional programs, where unfolding is correct w.r.t, practically all available semantics, unrestricted unfolding using narrowing does not preserve program meaning, even when we consider the weakest notion of semantics the program can be given. We single out the conditions which guarantee that an equivalent program w.r.t, the semantics of computed answers si produced. Then, we study the combination of this technique with a folding transformation rule in the case of innermost conditional narrowing, and prove that the resulting transformation still preserves the computed answer semantics of the initial program, under the usual condi- tions for the completeness of innermost conditional narrowing. We also discuss a relationship between unfold/fold transformations and partial evaluation of functional logic programs. 1 Introduction The problem of integration of functional and logic programming is an important challenge for research in declarative programming (see [15] for a recent survey). A functional logic program can be seen as a Conditional Term t~ewriting System (CTRS for short), i.e. a set of conditional equations where the equation in the conclusion is implicitly oriented from left to right. Functional logic languages obtain the power of logic variables, automatic search and constraint solving from logic programming. From functional programming, they obtain the expressivity of functions and types, and a more efficient evaluation mechanism thanks to * This work has been partially supported by CICYT under grant TIC 95-0433-C03-03 and by HCM project CONSOLE. the deterministic reduction of functional expressions [14, 15]. The operational semantics is usually based on some variant of narrowing, an execution mechanism which consists of the instantiation of goal variables followed by a reduction step on the instantiated goal. The standard declarative semantics of a program g is given by the least Herbrand g-model of the program, i.e. the set of all ground equations which hold in the underlying theory [17]. The folding and unfolding transformations, which were first introduced by Burstall and Darlington in ]7[ for functional programs, are the most basic and powerful techniques for a framework to transform programs. Unfolding is es- sentially the replacement of a call by its body, with appropriate substitutions. Folding is the inverse transformation, the replacement of some piece of code by an equivalent function call. For functional programs, folding and unfolding steps involve only pattern matching. The fold/unfold transformation approach was first adapted to logic programs by Tamaki and Sato [28] by replacing matching with unification in the transformation rules. A lot of literature has been devoted to proving the correctness of unfold/fold systems w.r.t, the various semantics proposed for functional programs ,7[ 20], logic programs [18, 25, 27, 28], and constraint logic programs [12]. However, to the best of our knowledge, these techniques have not been studied for functional logic programs so far. The purpose of this paper is to consider unfold/fold transformations which preserve the semantics of computed answer substitutions of functional logic pro- grams. This type of program behavior is naturally observed by the programmers. However, for the sake of simplicity, most often logic program transformation tech- niques are only proved correct w.r.t, the declarative semantics of ground logical consequences. We first show what are the problems with ngive extensions of these transformation rules to functional logic programs, considering unrestricted nar- rowing as the language operational semantics. Then we show a non standard and extremely useful relationship of partial evaluation with unfolding. We show that a slightly modified transformation (gen- eralized unfolding) can be formulated in terms of partial evaluation. As a conse- quence, the conditions to ensure completeness of the partial evaluation process (defined in [4]) can be used to formalize a sufficient condition for the complete- ness of unfolding w.r.t, the computed answers for unrestricted narrowing. Note that this is different from the case of pure logic programming, where no appli- cability condition is required to produce an equivalent program. The definitioh of a folding transformation for unrestricted narrowing requires conditions which are too strong to preserve computed answers. For this reason and in order to study the typical properties of a more efficient narrowing strat- egy, we have defined a folding rule directly for innermost narrowing and have instantiated the general unfolding definition to this case. We have then proved that the unfolding/folding transformation preserve the computed answers under the usual conditions for the completeness of innermost conditional narrowing. In our formulation, unfolding allows the expansion of a single innermost call of a program rule at each step, and hence can be 'selectively' applied. This allows us to see the techniques of unfolding/folding as a base for the definition of a

Description:
This book constitutes the refereed proceedings of the 6th International Conference on Algebraic and Logic Programming, ALP '97 and the 3rd International Workshop on Higher-Order Algebra, Logic and Term Rewriting, HOA '97, held jointly in Southampton, UK, in September 1997.The 18 revised full papers
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.