Lecture Notes in Artificial Intelligence 2407 SubseriesofLectureNotesinComputerScience EditedbyJ.G.CarbonellandJ.Siekmann Lecture Notes in Computer Science EditedbyG.Goos,J.Hartmanis,andJ.vanLeeuwen 3 Berlin Heidelberg NewYork Barcelona HongKong London Milan Paris Tokyo Antonis C. Kakas Fariba Sadri (Eds.) Computational Logic: Logic Programming and Beyond Essays in Honour of RobertA. Kowalski Part I 1 3 SeriesEditors JaimeG.Carbonell,CarnegieMellonUniversity,Pittsburgh,PA,USA Jo¨rgSiekmann,UniversityofSaarland,Saarbru¨cken,Germany VolumeEditors AntonisC.Kakas UniversityofCyprus,DepartmentofComputerScience 75KallipoleosSt.,1678Nicosia,Cyprus E-mail:[email protected] FaribaSadri ImperialCollegeofScience,TechnologyandMedicine DepartmentofComputing,180Queen’sGate LondonSW72BZ,UnitedKingdom E-mail:[email protected] Cataloging-in-PublicationDataappliedfor DieDeutscheBibliothek-CIP-Einheitsaufnahme Computationallogic:logigprogrammingandbeyond:essaysinhonourof RobertA.Kowalski/AntonisC.Kakas;FaribaSadri(ed.).-Berlin; Heidelberg;NewYork;Barcelona;HongKong;London;Milan;Paris; Tokyo:Springer Pt.1.-(2002) (Lecturenotesincomputerscience;Vol.2407:Lecturenotesin artificialintelligence) ISBN3-540-43959-5 CRSubjectClassification(1998):I.2.3,D.1.6,I.2,F.4,I.1 ISSN0302-9743 ISBN3-540-43959-5Springer-VerlagBerlinHeidelbergNewYork Thisworkissubjecttocopyright.Allrightsarereserved,whetherthewholeorpartofthematerialis concerned,specificallytherightsoftranslation,reprinting,re-useofillustrations,recitation,broadcasting, reproductiononmicrofilmsorinanyotherway,andstorageindatabanks.Duplicationofthispublication orpartsthereofispermittedonlyundertheprovisionsoftheGermanCopyrightLawofSeptember9,1965, initscurrentversion,andpermissionforusemustalwaysbeobtainedfromSpringer-Verlag.Violationsare liableforprosecutionundertheGermanCopyrightLaw. Springer-VerlagBerlinHeidelbergNewYork amemberofBertelsmannSpringerScience+BusinessMediaGmbH http://www.springer.de ©Springer-VerlagBerlinHeidelberg2002 PrintedinGermany Typesetting:Camera-readybyauthor,dataconversionbyBollerMediendesign Printedonacid-freepaper SPIN10873675 06/3142 543210 Foreword Alan Robinson This set of essays pays tribute to Bob Kowalski on his 60th birthday, an anniversary which gives his friends and colleagues an excuse to celebrate his career as an original thinker, a charismatic communicator, and a forceful intellectual leader. The logic programming community hereby and herein conveys its respect and thanks to him for his pivotal role in creating and fostering the conceptual paradigm which is its raison d’Œtre. The diversity of interests covered here reflects the variety of Bob’s concerns. Read on. It is an intellectual feast. Before you begin, permit me to send him a brief personal, but public, message: Bob, how right you were, and how wrong I was. I should explain. When Bob arrived in Edinburgh in 1967 resolution was as yet fairly new, having taken several years to become at all widely known. Research groups to investigate various aspects of resolution sprang up at several institutions, the one organized by Bernard Meltzer at Edinburgh University being among the first. For the half-dozen years that Bob was a leading member of Bernard’s group, I was a frequent visitor to it, and I saw a lot of him. We had many discussions about logic, computation, and language. By 1970, the group had zeroed in on three ideas which were soon to help make logic programming possible: the specialized inference rule of linear resolution using a selection function, together with the plan of restricting it to Horn clauses ("LUSH resolution"); the adoption of an operational semantics for Horn clauses; and a marvellously fast implementation technique for linear resolution, based on structure-sharing of syntactic expressions. Bob believed that this work now made it possible to use the predicate calculus as a programming language. I was sceptical. My focus was still on the original motivation for resolution, to build better theorem provers. I worried that Bob had been sidetracked by an enticing illusion. In particular because of my intellectual investment in the classical semantics of predicate logic I was quite put off by the proposed operational semantics for Horn clauses. This seemed to me nothing but an adoption of MIT’s notorious "Planner" ideology of computational inference. I did try, briefly, to persuade Bob to see things my way, but there was no stopping him. Thank goodness I could not change his mind, for I soon had to change mine. In 1971, Bob and Alain Colmerauer first got together. They pooled their thinking. The rest is history. The idea of using predicate logic as a programming language then really boomed, propelled by the rush of creative energy generated by the ensuing Marseilles-Edinburgh synergy. The merger of Bob’s and Alain’s independent insights launched a new era. Bob’s dream came true, confirmed by the spectacular practical success of Alain’s Prolog. My own doubts were swept away. In the thirty years since then, logic programming has developed into a jewel of computer science, known all over the world. Happy 60th birthday, Bob, from all of us. Preface Bob Kowalski together with Alain Colmerauer opened up the new field of Logic Programming back in the early 1970s. Since then the field has expanded in various directions and has contributed to the development of many other areas in Computer Science. Logic Programming has helped to place logic firmly as an integral part of the foundations of Computing and Artificial Intelligence. In particular, over the last two decades a new discipline has emerged under the name of Computational Logic which aims to promote logic as a unifying basis for problem solving. This broad role of logic was at the heart of Bob Kowalski(cid:146)s work from the very beginning as expounded in his seminal book (cid:147)Logic for Problem Solving.(cid:148) He has been instrumental both in shaping this broader scientific field and in setting up the Computational Logic community. This volume commemorates the 60th birthday of Bob Kowalski as one of the founders of and contributors to Computational Logic. It aspires to provide a landmark of the main developments in the field and to chart out its possible future directions. The authors were encouraged to provide a critical view of the main developments of the field together with an outlook on the important emerging problems and the possible contribution of Computational Logic to the future development of its related areas. The articles in this volume span the whole field of Computational Logic seen from the point of view of Logic Programming. They range from papers addressing problems concerning the development of programming languages in logic and the application of Computational Logic to real-life problems, to philosophical studies of the field at the other end of the spectrum. Articles cover the contribution of CL to Databases and Artificial Intelligence with particular interest in Automated Reasoning, Reasoning about Actions and Change, Natural Language, and Learning. It has been a great pleasure to help to put this volume together. We were delighted (but not surprised) to find that everyone we asked to contribute responded positively and with great enthusiasm, expressing their desire to honour Bob Kowalski. This enthusiasm remained throughout the long process of reviewing (in some cases a third reviewing process was necessary) that the invited papers had to go through in order for the decision to be made, whether they could be accepted for the volume. We thank all the authors very much for their patience and we hope that we have done justice to their efforts. We also thank all the reviewers, many of whom were authors themselves, who exhibited the same kind of zeal towards the making of this book. A special thanks goes out to Bob himself for his tolerance with our continuous stream of questions and for his own contribution to the book (cid:150) his personal statement on the future of Logic Programming. Bob has had a major impact on our lives, as he has had on many others. I, Fariba, first met Bob when I visited Imperial College for an interview as a PhD applicant. I had not even applied for logic programming, but, somehow, I ended up being interviewed by Bob. In that very first meeting his enormous enthusiasm and energy for his subject was fully evident, and soon afterwards I found myself registered to do a PhD in logic VIII Preface programming under his supervision. Since then, throughout all the years, Bob has been a constant source of inspiration, guidance, friendship, and humour. For me, Antonis, Bob did not supervise my PhD as this was not in Computer Science. I met Bob well after my PhD and I became a student again. I was extremely fortunate to have Bob as a new teacher at this stage. I already had some background in research and thus I was better equipped to learn from his wonderful and quite unique way of thought and scientific endeavour. I was also very fortunate to find in Bob a new good friend. Finally, on a more personal note the first editor wishes to thank Kim for her patient understanding and support with all the rest of life(cid:146)s necessities thus allowing him the selfish pleasure of concentrating on research and other academic matters such as putting this book together. Antonis Kakas and Fariba Sadri Table of Contents, Part I A Portrait of a Scientist as a Computational Logician .................. 1 Maurice Bruynooghe, Lu´ıs Moniz Pereira, Jo¨rg H. Siekmann, Maarten van Emden Bob Kowalski: A Portrait ........................................... 5 Marek Sergot Directions for Logic Programming.................................... 26 Robert A. Kowalski I Logic Programming Languages Agents as Multi-threaded Logical Objects............................. 33 Keith Clark, Peter J. Robinson Logic ProgrammingLanguages for the Internet ........................ 66 Andrew Davison Higher-Order Computational Logic................................... 105 John W. Lloyd A Pure Meta-interpreter for Flat GHC, a Concurrent Constraint Language ......................................................... 138 Kazunori Ueda II Program Derivation and Properties Transformation Systems and Nondeclarative Properties ................. 162 Annalisa Bossi, Nicoletta Cocco, Sandro Etalle Acceptability with General Orderings................................. 187 Danny De Schreye, Alexander Serebrenik Specification, Implementation, and Verification of Domain Specific Languages: A Logic Programming-BasedApproach..................... 211 Gopal Gupta, Enrico Pontelli Negation as Failure through Abduction: Reasoning about Termination.... 240 Paolo Mancarella, Dino Pedreschi, Salvatore Ruggieri ProgramDerivation = Rules + Strategies ............................. 273 Alberto Pettorossi, Maurizio Proietti X Table of Contents, Part I III Software Development Achievements and Prospects of ProgramSynthesis ..................... 310 Pierre Flener Logic for Component-Based Software Development..................... 347 Kung-Kiu Lau, Mario Ornaghi Patterns for Prolog Programming .................................... 374 Leon Sterling IV Extensions of Logic Programming Abduction in Logic Programming .................................... 402 Mark Denecker, Antonis Kakas Learning in Clausal Logic: A Perspective on Inductive Logic Programming...................................................... 437 Peter Flach, Nada Lavraˇc Disjunctive Logic Programming:A Survey and Assessment.............. 472 Jack Minker, Dietmar Seipel Constraint Logic Programming ...................................... 512 Mark Wallace V Applications in Logic Planning Attacks to Security Protocols: Case Studies in Logic Programming...................................................... 533 Luigia Carlucci Aiello, Fabio Massacci Multiagent Compromises, Joint Fixpoints, and Stable Models............ 561 Francesco Buccafurri, Georg Gottlob Error-TolerantAgents .............................................. 586 Thomas Eiter, Viviana Mascardi, V.S. Subrahmanian Logic-BasedHybrid Agents ......................................... 626 Christoph G. Jung, Klaus Fischer Heterogeneous Scheduling and Rotation............................... 655 Thomas Sj¨oland, Per Kreuger, Martin Aronsson Author Index ................................................. 677 Table of Contents, Part II VI Logic in Databases and Information Integration MuTACLP: A Language for Temporal Reasoning with Multiple Theories.. 1 Paolo Baldan, Paolo Mancarella, Alessandra Raffaet`a, Franco Turini Description Logics for Information Integration ......................... 41 Diego Calvanese, Giuseppe De Giacomo, Maurizio Lenzerini Search and Optimization Problems in Datalog ......................... 61 Sergio Greco, Domenico Sacc`a The Declarative Side of Magic ....................................... 83 Paolo Mascellani, Dino Pedreschi Key Constraints and Monotonic Aggregates in Deductive Databases...... 109 Carlo Zaniolo VII Automated Reasoning A Decidable CLDS for Some Propositional Resource Logics ............. 135 Krysia Broda A Critique of Proof Planning ........................................ 160 Alan Bundy A Model Generation Based Theorem Prover MGTP for First-Order Logic. 178 Ryuzo Hasegawa, Hiroshi Fujita, Miyuki Koshimura, Yasuyuki Shirai A ‘Theory’ Mechanism for a Proof-Verifier Based on First-Order Set Theory ........................................................... 214 Eugenio G. Omodeo, Jacob T. Schwartz An Open Research Problem: Strong Completeness of R. Kowalski’s Connection Graph Proof Procedure .................................. 231 J¨org Siekmann, Graham Wrightson VIII Non-deductive Reasoning Meta-reasoning:A Survey........................................... 253 Stefania Costantini Argumentation-Based Proof Procedures for Credulous and Sceptical Non-monotonic Reasoning........................................... 289 Phan Minh Dung, Paolo Mancarella, Francesca Toni