ebook img

Logic of Programming and Calculi of Discrete Design: International Summer School directed by F.L. Bauer, M. Broy, E.W. Dijkstra, C.A.R. Hoare PDF

412 Pages·1987·12.978 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 Logic of Programming and Calculi of Discrete Design: International Summer School directed by F.L. Bauer, M. Broy, E.W. Dijkstra, C.A.R. Hoare

Logic of Programming and Calculi of Discrete Design NATO ASI Series Advanced Science Institutes Series A series presenting the results of activities sponsored by the NA TO Science Committee, which aims at the dissemination of advanced scientific and technological knowledge, with a view to strengthening links between scientific communities. The Series is published by an fnternational board of publishers in conjunction with the NATO Scientific Affairs Division A Life Sciences Plenum Publishing Corporation B Physics London and New York C Mathematical and D. Reidel Publishing Company Physical Sciences Dordrecht, Boston, Lancaster and Tokyo o Behavioural and Martinus Nijhoff Publishers Social Sciences Boston, The Hague, Dordrecht and Lancaster E Applied Science~ F Computer and Springer .verlag· Systems Sciences Berlin Heidelberg New York G Ecological Sciences London Paris Tokyo H Cell Biology Series F: Computer and Systems Sciences Vol. 36 Logic of Programming and Calculi of Discrete Design International Summer School directed by F. L. Bauer, M. Broy, E. W. Dijkstra, C.A. R. Hoare Edited by Manfred Broy Fakultat iUr Mathematik und Informatik, Universitat Passau Postfach 2540, 8390 Passau, Federal Republic of Germany Springer -Verlag Berlin Heidelberg New York London Paris Tokyo Published in cooperation with NATO Scientific Affairs Divison Proceedings of the NATO Advanced Study Institute on Logic of Programming and Calculi of Discrete Design held in Marktoberdorf, Federal Republic of Germany, July 29-August 10, 1986 Library of Congress Cataloging in Publication Data. NATO Advanced Study Institute on Logic of Program ming and Calculi of Discrete Design (1986 : Marktoberdorf, Germany) Logic of programming and calculi of discrete design. (NATO ASI series. Series F, Computer and systems sciences; vol. 36) "Published in cooperation with NATO Scientific Affairs Division." "Proceedings of the NATO Advanced Study Institute on Logic of Programming and Calculi of Discrete Design held in Marktoberdorf, Federal Republic of Ger many, July 29-August 10, 1986"-Verso t.p. 1. Formal languages-Congresses. I. Broy, M., 1949-. II. North Atlantic Treaty Organization. Scientific Affairs Division. III. Title. IV. Series: NATO ASI series. Series F, Computer and system sciences; no. 36. QA267.3.N38 1986005.13'1 87-20638 ISBN-13: 978-3-642-87376-8 e-ISBN-13: 978-3-642-87374-4 DOl: 10.1007/978-3-642-87374-4 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 other ways, and storage in data banks. Duplication of this publication or parts thereof is only permitted under the provisions of the German Copyright Law of September 9, 1965, in its version of June 24,1985, and a copyright fee must always be paid. Violations fall under the prosecution act of the German Copyright Law. © Springer-Verlag Berlin Heidelberg 1987 Softcover reprint of the hardcover 1st edition 1987 2145/3140-54321 0 Preface In computing science design plays an eminently important role. By now, it is quite clear that the issue of proper design of programs within a formal calculus is one of the most interesting and most difficult parts of computing science. Many demanding problems have to be envisaged here such as notations, rules and calculi, and the study of semantic models. We are 'far away from comprehensive and widely accepted solutions in these areas. Discussions at the summer school have clearly shown that people have quite different perspectives and priorities with respect to these three main areas. There is a general agreement that notation is very important. Here, notation is not so much used in the sense of "syntactic sugar", but rather in the sense of abstract syntax, in the sense of language constructs. Proper notation can significantly improve our understanding of the nature of the objects that we are dealing with and simplify the formal manipulation of these objects. However, influenced by educational background, habits, and schools of thought there are quite different tastes with respect to notation. The papers in these proceedings show very clearly how different those notations can be even when talking about quite similar objects. There is also a general agreement that rules of inference, transformation rules, and rewriting rules, forming calculi for proving and designing, are of major interest. But here, again, people might find quite different opinions as to which forms of rules are best suited, which levels of reasoning are best suited, how formal the reasoning should be. However, it is necessary to underline once more that at least the machine needs a completely formal system when computing with information. Computation in an abstract view always means working in a deductive theory with a concrete control strategy. Besides deductive theories, notations can refer to or express mathematical models, as is done, for example, in denotational semantics. Basically, in this way, the meaning of the considered notation is given in terms of well-known and well-understood mathematical concepts. There was a lot of discussion within the summer school on the question "what is a mathematical or semantic model good for?" Some people argued that semantic models should not be used at all since they do not help us in formal reasoning. Other people argued that mathematical models are necessary for our understanding of deductive theories and that as an ultimate goal understanding is more important than formal manipulation. It is quite clear that the discussions within the summer school did not come to a particular conclusion in that point. I invite the reader of this volume to go through the articles and to make up his mind by himself. By doing so he may come to the conclusion that model-oriented and deduction-oriented treatments of formalisms are not competing but complementary approaches. The individual lecture notes in this volume exhibit a wide spectrum of aspects of logic of programming and calculi of discrete design. They range from general questions of logic and design calculi to foundations of logic programming and questions of specification and verification of programs, from algebraic specifications to special design calculi for particular structures such as distributed systems, programs working with lists, or the logic of switching circuits. Like each previous summer school in Marktoberdorf, this one also proved to be an undertaking that benefited almost more from the ideas and understanding of the participants than it did from those of the lecturers. The participants were motivated in following the lectures in a way which was hard to believe, in attending discussions, in criticizing approaches and working hard on understanding and maybe even improving the presented material. But also the lecturers gave outstanding presentations such that the summer school again became a defmite highlight in our academic life. This was complemented through the excellent organization and the perfect environment that we again found in Marktoberdorf. Therefore I would like to thank here, once more, all the people who worked hard to make this summer school a success and to prepare these fine proceedings which give an excellent overview of the state of the art. Passau, April 1987 Manfred Broy Table of Contents Part I: Programming Calculi 3 An Introduction to the Theory of Lists R.S. Bird 5 A Heuristic Explanation of Batcher's Baffler E.W. Dijkstra 43 Predicative Methodology E.CR. Hehner, L.E. Gupta, andAJ. Malton 51 Termination Conventions and Comparative Semantics E.CR. Hehner and AJ. Malton 79 Predicative Communications E.CR. Hehner 99 Notes on Logic Programming J A. Robinson 109 Part II: Specification and Verification Calculi 147 Program Specification and Verification in VDM C.B. Jones: 149 Equational Specification of Partial Higher Order Algebras M. Broy 185 Extreme Solutions of Equations E. W. Dijkstra 243 Logic Based on Programming E.CR. Hehner 261 Algebraic Specifications and Proofs for Communicating Sequential Processes C.A.R. Hoare 277 Part ill: Design and Construction Calculi 303 Deduction and Computation G.Huet 305 Expressing Program Developments in a Design Calculus M. SintzofJ 343 Models and Logic of MOS Circuits G. Winskel 367 List of Lecturers 415 F.L. Bauer E.W. Dijkstra 2 E.C.R. Hehner R.S. Bird J.A. Robinson Part I Programming Calculi Computation is just a special form of schematic deduction which may be called reduction. Programming, which means the formal specification of computation patterns, can therefore be viewed as the description of a schematic reduction process. In a computation certain rules are applied that help to reduce a given term to a special"normal" form. The applied rules are part of the theory underlying the basic computation structures that are also used as the basic programming structures. The set of these rules forms a programming calculus which can be used for the derivation of programs.

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.