Handbook of Logic in Computer Science Volume 1 Background: Mathematical Structures Edited by S. ABRAMSKY Professor of Computing Science DOV M. GABBAY Professor of Computing Science and T. S. E. MAIBAUM Professor of Foundations of Software Engineering Imperial College of Science, Technology and Medicine London Volume Coordinator DOV M. GABBAY Technische Hochschule Darmstadt FACHBEREICH INFORMATIK B I B L I O T H E K Inventar-Nr.: Sachgebieta: Standort: CLARENDON PRESS 1992 OXFORD Contents Valuation systems and consequence relations 1 2 3 4 5 Introduction 1.1 Logics and computer science 1.2 Summary , Valuation systems 2.1 Satisfaction 2.2 Valuation systems 2.3 Modal logic and possible worlds 2.4 Predicate languages 2.5 Summary Consequence relations and entailment relations 3.1 Consequence relations 3.2 Entailment relations 3.3 The systems C and 54 3.4 Levels of implication 3.5 Consequence operator 3.6 Summary Proof theory and presentations 4.1 Hilbert presentations 4.2 Natural deduction presentations 4.3 Natural deduction in sequent style 4.4 Intuitionistic logic 4.5 Gentzen sequent calculus for / 4.6 Gentzen sequent calculus for C and 54 4.7 Properties of presentations Some further topics 5.1 Valuation systems for I 5.2 Maps between logics 5.3 Correspondence theory 5.4 Consistency l 2 2 8 9 9 13 21 25 30 30 31 34 35 38 39 40 40 41 45 51 56 57 62 64 66 67 69 71 74 Recursion theory 79 0 80 80 81 84 Introduction 0.1 Opening remarks 0.2 A taster 0.3 Contents of the chapter viii 1 2 3 4 Contents Languages and notions of computability 1.1 Data types and coding 1.2 The imperative paradigm 1.3 The functional paradigm 1.4 Recursive functions 1.5 Universality Computability and non-computability 2.1 Non-computability 2.2 Computability 2.3 Recursive and recursively enumerable sets 2.4 The S-m-n theorem and partial evaluation 2.5 More undecidable problems 2.6 Problem reduction and r.e. completeness Inductive definitions 3.1 Operators and fixed points 3.2 The denotational semantics of the functional language FL 3.3 Ordinals 3.4 The general case Recursion theory 4.1 Fixed point theorems 4.2 Acceptable programming systems 4.3 Recursive operators 4.4 Inductive definitions and logics Universal algebra 1 2 3 Introduction 1.1 What is universal algebra? 1.2 Universal algebra in mathematics and computer science 1.3 Overview of the chapter 1.4 Historical notes 1.5 Acknowledgements 1.6 Prerequisites Examples of algebras 2.1 Some basic algebras 2.2 Some simple constructions 2.3 Syntax and semantics of programs 2.4 Synchronous concurrent algorithms 2.5 Algebras and the modularisation of software Algebras and morphisms 3.1 Signatures and algebras 3.2 Subalgebras 84 85 87 99 109 113 124 124 127 129 133 135 136 139 140 149 156 169 172 173 176 181 183 189 190 190 191 192 192 195 196 196 197 207 210 215 220 220 220 234 Contents 4 5 6 3.3 Congruences and quotient algebras 3.4 Homomorphisms and isomorphisms 3.5 Direct products 3.6 Abstract data types Constructions 4.1 Subdirect products, residual and local properties 4.2 Direct and inverse limits 4.3 Reduced products and ultraproducts 4.4 Local and residual properties and approximation 4.5 Remarks on references Classes of algebras ' 5.1 Free, initial and final algebras 5.2 Equational logic 5.3 Equational Horn logic 5.4 Specification of abstract data types 5.5 Remarks on references Further reading 6.1 Universal algebra 6.2 Model theory ix 244 260 275 287 287 288 298 321 332 336 337 338 351 369 392 396 397 398 398 Basic category t h e o r y 413 1 416 416 418 424 427 433 2 3 Categories, functors and natural transformations 1.1 Types, composition and identities 1.2 Categories ' 1.3 Relating functional calculus and category theory 1.4 Compositionality is functorial 1.5 Natural transformations On universal definitions: products, disjoint sums and higher types 2.1 Product types 2.2 Coproducts 2.3 Higher types 2.4 Reasoning by universal arguments 2.5 Another 'universal definition': primitive recursion 2.6 The categorical abstract machine Universal problems and universal solutions 3.1 On observation and abstraction 3.2 A more categorical point of view 3.3 Universal morphisms 3.4 Adjunction 3.5 On generation 3.6 More examples for separation and generation 437 437 443 446 451 456 457 460 461 465 470 473 475 481 x Contents 4 Elements and beyond 4.1 Variable elements, variable subsets and representable functors 4.2 Yoneda's heritage 4.3 Towards an enriched category theory 5 Data structures 5.1 Subtypes 5.2 Limits 5.3 Colimits 6 Universal constructions 6.1 The adjoint functor theorem 6.2 Generation as partial evaluation 6.3 Left Kan extensions, tensors and coends 6.4 Separation by testing 6.5 On bimodules and density 7 Axiomatizing programming languages 7.1 Relating theories of A-calculus 7.2 Type equations and recursion 7.3 Solving recursive equations 8 Algebra categorically 8.1 Functorial semantics 8.2 Enriched functorial semantics 8.3 Monads 9 On the categorical interpretation of calculi 9.1 Category theory as proof theory 9.2 Substitution as predicate transformation 9.3 Theories of equality 9.4 Type theories 10 A sort of conclusion • 11 Literature 11.1 Textbooks 11.2 References 492 492 498 500 511 511 516 526 535 536 541 545 551 553 559 559 566 574 578 578 588 593 603 603 605 612 619 - 632 633 633 634 Topology 641 1 2 642 646 646 646 647 647 648 649 650 Observable properties Examples of topological spaces 2.1 Sierpinski space 2.2 Scott Topology 2.3 Spaces of maximal elements. Cantor space 2.4 Alexandroff topology 2.5 Stone spaces 2.6 Spectral spaces 2.7 The reals Contents 3 4 5 6 7 8 Alternative formulations of topology 3.1 Closed sets 3.2 Neighbourhoods 3.3 Examples 3.4 Closure operators 3.5 Convergence Separation, continuity and sobriety 4.1 Separation conditions 4.2 Continuous functions 4.3 Predicate transformers and sobriety 4.4 Many-valued functions Constructions: new spaces from old 5.1 Postscript: effectiveness and representation Metric Spaces 6.1 Basic definitions 6.2 Examples 6.3 Completeness 6.4 Topology and metric 6.5 Constructions 6.6 A note on uniformities Compactness 7.1 Compactness and finiteness 7.2 Spectral spaces 7.3 Positive and negative information: patch topology 7.4 Hyperspaces 7.5 Tychonoff's theorem 7.6 Locally compact spaces 7.7 Function spaces Appendix - Model theory and computer science: An appetizer 1 2 3 Introduction The set theoretic modelling of syntax and semantics 2.1 First order structures 2.2 The choice of the vocabulary 2.3 Logics Model theory and computer science 3.1 Computer science 3.2 The birth of model theory 3.3 Definability questions 3.4 Preservation theorems 3.5 Disappointing ultraproducts xi 653 653 654 655 656 660 663 663 665 668 675 681 690 698 699 702 706 713 719 724 727 727 730 733 736 738 739 744 751 763 764 766 767 768 769 770 770 771 772 773 774 xii 4 5 6 7 8 9 Contents 3.6 Complete theories and elimination of quantifiers 3.7 Spectrum problems 3.8 Beyond first order logic 3.9 The hidden method 3.10 0-1 Laws Preservation theorems 4.1 Horn formulas Fast growing functions 5.1 Non-provability results in second order arithmetic 5.2 Non-provability in complexity theory 5.3 Model theory of fast growing functions Elimination of quantifiers 6.1 Computer aided theorem proving in classical mathematics 6.2 Tarski's theorem 6.3 Elementary geometry 6.4 Other theories with elimination of quantifiers Computable logics over finite structures 7.1 Computable logics 7.2 Computable quantifiers 7.3 Computable predicate transformers 7.4 L-Reducibility 7.5 Logics capturing complexity classes Ehrenfeucht-Fraisse games , 8.1 The games 8.2 Completeness of the game 8.3 Second order logic and its sublogics 8.4 More non-definability results 8.5 The games and pumping lemmas - 774 775 777 778 779 780 780 782 782 782 783 784 Conclusions 805 785 787 789 790 790 790 793 794 796 797 798 798 801 802 802 805 Author index 815 Index 817
© Copyright 2026 Paperzz