A Computational Logic This Is a Volume in the ACM MONOGRAPH SERIES

Total Page:16

File Type:pdf, Size:1020Kb

A Computational Logic This Is a Volume in the ACM MONOGRAPH SERIES A Computational Logic This is a volume in the ACM MONOGRAPH SERIES Editor: THOMAS A. STANDISH, University of California at Irvine A complete list of titles in this series appears at the end of this volume. A Computational Logic Robert S. Boyer and J Strother Moore SRI International Menlo Park, California ACADEMIC PRESS A subsidiary of Harcourt Brace Jovanovich, Publishers New York London Toronto Sydney San Francisco Copyright (C) 1979 by Academic Press no part of this publication may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocoppy, recording, or any information storage and retrieval system, without permission in writing from the publisher. ACADEMIC PRESS, INC. 111 Fifth Avenue, New York, New York 10003 United Kindom Edition published by ACADEMIC PRESS, INC. (LONDON) LTD. 24/28 Oval Road, London NW1 7DX Library of Congress Cataloging in Publication Data Boyer, Robert S. A Computational Logic (ACM monographs series) Includes bibliographic references and index. 1. Automatic theorem proving. I. Moore, J Strother, Date joint author. II. Title. III. Series: Association of Computing Machinery. ACM monograph series. QA76.9.A96B68 519.4 79-51693 ISBN 0-12-122950-5 printed in the united states of america 79 81 81 82 9 8 7 6 5 4 3 2 1 To our wives, Anne and Liz Contents Preface vii 1 Introduction 1 1.1 Motivation . 2 1.2 Our Formal Theory . 3 1.3 Proof Techniques . 3 1.4 Examples . 3 1.5 Our Mechanical Theorem Prover . 5 1.6 Artificial Intelligence or Logic? . 6 1.7 Organization . 7 2 A Sketch of the Theory and Two Simple Examples 9 2.1 An Informal Sketch of the Theory . 9 2.2 A Simple Inductive Proof . 18 2.3 A More Difficult Problem . 20 2.4 A More Difficult Proof . 23 2.5 Summary . 26 2.6 Notes . 27 3 A Precise Definition of the Theory 29 3.1 Syntax . 29 v vi CONTENTS 3.2 The Theory of If and Equal . 31 3.3 Well-founded Relations . 32 3.4 Induction . 34 3.5 Shells . 37 3.6 Natural Numbers . 41 3.7 Literal Atoms . 42 3.8 Ordered Pairs . 44 3.9 Definitions . 45 3.10 Lexicographic Relations . 53 3.11 Lessp and Count . 54 3.12 Conclusion . 57 4 The Correctness of a Tautology Checker 59 4.1 Informal Development . 60 4.2 Formal Specification of the Problem . 63 4.3 The Formal Definition of Tautology.checker 66 4.4 The Mechanical Proofs . 71 4.5 Summary . 88 4.6 Notes . 90 5 An Overview of How We Prove Theo- rems 91 5.1 The Role of the User . 91 5.2 Clausal Representation of Conjectures 92 5.3 The Organization of our Heuristics . 93 5.4 The Organization of our Presentation . 95 6 Using Type Information to Simplify For- mulas 97 6.1 Type Sets . 97 6.2 Assuming Expressions True or False . 100 CONTENTS vii 6.3 Computing Type Sets . 101 6.4 Type Prescriptions . 103 6.5 Summary . 107 6.6 Notes . 107 7 Using Axioms and Lemmas as Rewrite Rules 109 7.1 Directed Equalities . 109 7.2 Infinite Looping . 110 7.3 More General Rewrite Rules . 111 7.4 An Example of Using Rewrite Rules . 113 7.5 Infinite Backwards Chaining . 115 7.6 Free Variables In Hypotheses . 117 8 Using Definitions 119 8.1 Nonrecursive Functions . 120 8.2 Computing Values . 120 8.3 Diving In to See . 122 9 Rewriting Terms and Simplifying Clauses127 9.1 Rewriting Terms . 127 9.2 Simplifying Clauses . 131 9.3 The Reverse Example . 134 9.4 Simplification In the Reverse Example 134 10 Eliminating Destructors 139 10.1 Trading Bad Terms for Good Terms . 139 10.2 The Form of Elimination Lemmas . 142 10.3 The Precise Use of Elimination Lemmas 143 10.4 A Nontrivial Example . 144 viii CONTENTS 10.5 Multiple Destructors and Infinite Loop- ing . 148 10.6 When Elimination Is Risky . 149 10.7 Destructor Elimination In the Reverse Example . 151 11 Using Equalities 155 11.1 Using and Throwing Away Equalities . 155 11.2 Cross-fertilization . 156 11.3 A Simple Example of Cross-fertilization 157 11.4 The Precise Use of Equalities . 159 11.5 Cross-fertilization In the Reverse Ex- ample . 160 12 Generalization 163 12.1 A Simple Generalization Heuristic . 163 12.2 Restricting Generalizations . 165 12.3 Examples of Generalizations . 167 12.4 The Precise Statement of the General- ization Heuristic . 168 12.5 Generalization In the Reverse Example 170 13 Eliminating Irrelevance 173 13.1 Two Simple Checks for Irrelevance . 173 13.2 The Reason for Eliminating Isolated Hypotheses . 174 13.3 Elimination of Irrelevance In the Re- verse Example . 176 14 Induction and the Analysis of Recursive Definitions 177 CONTENTS ix 14.1 Satisfying the Principle of Definition . 179 14.2 Induction Schemes Suggested By Re- cursive Functions . 186 14.3 The Details of the Definition-time Anal- ysis . 196 14.4 Recursion In the Reverse Example . 200 15 Formulating an Induction Scheme for a Conjecture 201 15.1 Collecting the Induction Candidates . 201 15.2 The Heuristic Manipulation of Induc- tion Schemes . 206 15.3 Examples of Induction . 214 15.4 The Entire Reverse Example . 219 16 Illustrations of our Techniques Via Ele- mentary Number Theory 225 16.1 Plus.right.id . 226 16.2 Commutativity2.of.plus . 227 16.3 Commutativity.of.plus . 231 16.4 Associativity.of.plus . 235 16.5 Times . 235 16.6 Times.zero . 235 16.7 Times.add1 . 236 16.8 Associativity.of.times . 239 16.9 Difference . 243 16.10Recursion.by.difference . 244 16.11Remainder . 251 16.12Quotient . 251 16.13Remainder.quotient.elim . 252 x CONTENTS 17 The Correctness of a Simple Optimizing Expression Compiler 259 17.1 Informal Development . 261 17.2 Formal Specification of the Problem . 265 17.3 Formal Definition of the Compiler . 271 17.4 The Mechanical Proof of Correctness . 274 17.5 Notes . 287 18 The Correctness of a Fast String Search- ing Algorithm 291 18.1 Informal Development . 292 18.2 Formal Specification of the Problem . 301 18.3 Developing the Verification Conditions for the Algorithm . 302 18.4 The Mechanical Proofs of the Verifica- tion Conditions . 312 18.5 Notes . 317 19 The Unique Prime Factorization Theo- rem 321 19.1 The Context . 321 19.2 Formal Development of the Unique Prime Factorization Theorem . 323 19.3 The Mechanical Proofs . 327 A Definitions Accepted and Theorems Proved By our System 341 B The Implementation of the Shell Princi- ple 391 CONTENTS xi C Clauses for our Theory 395 C.1 Logical Definitions . 395 C.2 Axioms for Natural Numbers . 396 C.3 Axioms for Literal Atoms . 396 C.4 Axioms for Ordered Pairs . 397 C.5 A Sample Theorem In Clausal Form . 397 Index 399 Bibliography 415 xii CONTENTS Preface Mechanical theorem-proving is crucial to the automation of rea- soning about computer programs. Today, few computer pro- grams can be mechanically certified to be free of “bugs.” The principal reason is the lack of mechanical theorem-proving power. In current research on automating program analysis, a com- mon approach to overcoming the lack of mechanical theorem- proving power has been to require that the user direct a proof- checking program. That is, the user is required to construct a formal proof employing only the simplest rules of inference, such as modus ponens, instantiation of variables, or substitution of equals for equals. The proof-checking program guarantees the correctness of the formal proof. We have found proof-checking programs too frustrating to use because they require too much direction. Another approach to overcoming the lack of mechanical theorem- proving power is to use a weak theorem-proving program and to introduce axioms freely. Often these axioms are called “lem- mas,” but they are usually not proved. While using a proof checker is only frustrating, introducing axioms freely is deplorable. This approach has been abused so far as to be ludicrous: we have seen researchers “verify” a program by first obtaining for- mulas that imply the program’s correctness, then running the formulas through a simplifier, and finally assuming the resulting slightly simplified formulas as axioms. Some researchers admit that these “lemmas” ought to be proved, but never get around to proving them because they lack the mechanical theorem-proving power. Others, however, believe that it is reasonable to assume lots of “lemmas” and never try to prove them. We are strongly opposed to this latter attitude because it so completely under- xiii xiv PREFACE mines the spirit of proof, and we therefore reply to the arguments we have heard in its defense. 1. It is argued that the axioms assumed are obvious facts about the concepts involved. We say that a great number of mistakes in computer programs arise from false “obvi- ous” observations, and we have already seen researchers present proofs based on false lemmas. Furthermore, the concepts involved in the complicated computer systems one hopes eventually to certify are so insufficiently canonized that one man’s “obvious” is another man’s “difficult” and a third man’s “false.” 2. It is argued that one must assume some axioms. We agree, but observe that mathematicians do not contrive their ax- ioms to solve the problem at hand. Yet often the “lemmas” assumed in program verification are remarkably close to the main idea or trick in the program being checked. 3. It is argued that mathematicians use lemmas. We agree. In fact, our theorem-proving system relies heavily on lem- mas. But no proof is complete until the lemmas have been proved, too.
Recommended publications
  • AMATH 731: Applied Functional Analysis Lecture Notes
    AMATH 731: Applied Functional Analysis Lecture Notes Sumeet Khatri November 24, 2014 Table of Contents List of Tables ................................................... v List of Theorems ................................................ ix List of Definitions ................................................ xii Preface ....................................................... xiii 1 Review of Real Analysis .......................................... 1 1.1 Convergence and Cauchy Sequences...............................1 1.2 Convergence of Sequences and Cauchy Sequences.......................1 2 Measure Theory ............................................... 2 2.1 The Concept of Measurability...................................3 2.1.1 Simple Functions...................................... 10 2.2 Elementary Properties of Measures................................ 11 2.2.1 Arithmetic in [0, ] .................................... 12 1 2.3 Integration of Positive Functions.................................. 13 2.4 Integration of Complex Functions................................. 14 2.5 Sets of Measure Zero......................................... 14 2.6 Positive Borel Measures....................................... 14 2.6.1 Vector Spaces and Topological Preliminaries...................... 14 2.6.2 The Riesz Representation Theorem........................... 14 2.6.3 Regularity Properties of Borel Measures........................ 14 2.6.4 Lesbesgue Measure..................................... 14 2.6.5 Continuity Properties of Measurable Functions...................
    [Show full text]
  • List of Theorems from Geometry 2321, 2322
    List of Theorems from Geometry 2321, 2322 Stephanie Hyland [email protected] April 24, 2010 There’s already a list of geometry theorems out there, but the course has changed since, so here’s a new one. They’re in order of ‘appearance in my notes’, which corresponds reasonably well to chronolog- ical order. 24 onwards is Hilary term stuff. The following theorems have actually been asked (in either summer or schol papers): 5, 7, 8, 17, 18, 20, 21, 22, 26, 27, 30 a), 31 (associative only), 35, 36 a), 37, 38, 39, 43, 45, 47, 48. Definitions are also asked, which aren’t included here. 1. On a finite-dimensional real vector space, the statement ‘V is open in M’ is independent of the choice of norm on M. ′ f f i 2. Let Rn ⊃ V −→ Rm be differentiable with f = (f 1, ..., f m). Then Rn −→ Rm, and f ′ = ∂f ∂xj f 3. Let M ⊃ V −→ N,a ∈ V . Then f is differentiable at a ⇒ f is continuous at a. 4. f = (f 1, ...f n) continuous ⇔ f i continuous, and same for differentiable. 5. The chain rule for functions on finite-dimensional real vector spaces. 6. The chain rule for functions of several real variables. f 7. Let Rn ⊃ V −→ R, V open. Then f is C1 ⇔ ∂f exists and is continuous, for i =1, ..., n. ∂xi 2 2 Rn f R 2 ∂ f ∂ f 8. Let ⊃ V −→ , V open. f is C . Then ∂xi∂xj = ∂xj ∂xi 9. (φ ◦ ψ)∗ = φ∗ ◦ ψ∗, where φ, ψ are maps of manifolds, and φ∗ is the push-forward of φ.
    [Show full text]
  • Calculus I – Math
    Math 380: Low-Dimensional Topology Instructor: Aaron Heap Office: South 330C E-mail: [email protected] Web Page: http://www.geneseo.edu/math/heap Textbook: Topology Now!, by Robert Messer & Philip Straffin. Course Info: We will cover topological equivalence, deformations, knots and links, surfaces, three- dimensional manifolds, and the fundamental group. Topics are subject to change depending on the progress of the class, and various topics may be skipped due to time constraints. An accurate reading schedule will be posted on the website, and you should check it often. By the time you take this course, most of you should be fairly comfortable with mathematical proofs. Although this course only has multivariable calculus, elementary linear algebra, and mathematical proofs as prerequisites, students are strongly encouraged to take abstract algebra (Math 330) prior to this course or concurrently. It requires a certain level of mathematical sophistication. There will be a lot of new terminology you must learn, and we will be doing a significant number of proofs. Please note that we will work on developing your independent reading skills in Mathematics and your ability to learn and use definitions and theorems. I certainly won't be able to cover in class all the material you will be required to learn. As a result, you will be expected to do a lot of reading. The reading assignments will be on topics to be discussed in the following lecture to enable you to ask focused questions in the class and to better understand the material. It is imperative that you keep up with the reading assignments.
    [Show full text]
  • Infinite Computation, Co-Induction and Computational Logic
    Infinite Computation, Co-induction and Computational Logic Gopal Gupta Neda Saeedloei, Brian DeVries, Richard Min, Kyle Marple, Feliks Klu´zniak Department of Computer Science, University of Texas at Dallas, Richardson, TX 75080. Abstract. We give an overview of the coinductive logic programming paradigm. We discuss its applications to modeling ω-automata, model checking, verification, non-monotonic reasoning, developing SAT solvers, etc. We also discuss future research directions. 1 Introduction Coinduction is a technique for reasoning about unfounded sets [12], behavioral properties of programs [2], and proving liveness properties in model checking [16]. Coinduction also provides the foundation for lazy evaluation [9] and type inference [21] in functional programming as well as for interactive computing [33]. Coinduction is the dual of induction. Induction corresponds to well-founded structures that start from a basis which serves as the foundation: e.g., natural numbers are inductively defined via the base element zero and the successor function. Inductive definitions have 3 components: initiality, iteration and mini- mality. For example, the inductive definition of lists of numbers is as follows: (i) [] (empty list) is a list (initiality); (ii) [H|T] is a a list if T is a list and H is some number (iteration); and, (iii) the set of lists is the smallest set satisfying (i) and (ii) (minimality). Minimality implies that infinite-length lists of numbers are not members of the inductively defined set of lists of numbers. Inductive definitions correspond to least fixed point (LFP) interpretations of recursive definitions. Coinduction eliminates the initiality condition and replaces the minimality condition with maximality. Thus, the coinductive definition of a list of numbers is: (i) [H|T] is as a list if T is a list and H is some number (iteration); and, (ii) the set of lists is the largest set of lists satisfying (i) (maximality).
    [Show full text]
  • Fundamental Theorems in Mathematics
    SOME FUNDAMENTAL THEOREMS IN MATHEMATICS OLIVER KNILL Abstract. An expository hitchhikers guide to some theorems in mathematics. Criteria for the current list of 243 theorems are whether the result can be formulated elegantly, whether it is beautiful or useful and whether it could serve as a guide [6] without leading to panic. The order is not a ranking but ordered along a time-line when things were writ- ten down. Since [556] stated “a mathematical theorem only becomes beautiful if presented as a crown jewel within a context" we try sometimes to give some context. Of course, any such list of theorems is a matter of personal preferences, taste and limitations. The num- ber of theorems is arbitrary, the initial obvious goal was 42 but that number got eventually surpassed as it is hard to stop, once started. As a compensation, there are 42 “tweetable" theorems with included proofs. More comments on the choice of the theorems is included in an epilogue. For literature on general mathematics, see [193, 189, 29, 235, 254, 619, 412, 138], for history [217, 625, 376, 73, 46, 208, 379, 365, 690, 113, 618, 79, 259, 341], for popular, beautiful or elegant things [12, 529, 201, 182, 17, 672, 673, 44, 204, 190, 245, 446, 616, 303, 201, 2, 127, 146, 128, 502, 261, 172]. For comprehensive overviews in large parts of math- ematics, [74, 165, 166, 51, 593] or predictions on developments [47]. For reflections about mathematics in general [145, 455, 45, 306, 439, 99, 561]. Encyclopedic source examples are [188, 705, 670, 102, 192, 152, 221, 191, 111, 635].
    [Show full text]
  • Math 025-1,2 List of Theorems and Definitions Fall 2010
    Math 025-1,2 List of Theorems and Definitions Fall 2010 Here are the 19 theorems of Math 25: Domination Law (aka Monotonicity Law) If f and g are integrable functions on [a; b] such that R b R b f(x) ≤ g(x) for all x 2 [a; b], then a f(x) dx ≤ a g(x) dx. R b Positivity Law If f is a nonnegative, integrable function on [a; b], then a f(x) dx ≥ 0. Also, if f(x) is R b a nonnegative, continuous function on [a; b] and a f(x) dx = 0, then f(x) = 0 for all x 2 [a; b]. Max-Min Inequality If f(x) is an integrable function on [a; b], then Z b (min value of f(x) on [a; b]) · (b − a) ≤ f(x) dx ≤ (max value of f(x) on [a; b]) · (b − a): a Triangle Inequality (for Integrals) Let f :[a; b] ! R be integrable. Then Z b Z b f(x) dx ≤ jf(x)j dx: a a Mean Value Theorem for Integrals Let f : R ! R be continuous on [a; b]. Then there exists a number c 2 (a; b) such that 1 Z b f(c) = f(x) dx: b − a a Fundamental Theorem of Calculus (one part) Let f :[a; b] ! R be continuous and define F : R x [a; b] ! R by F (x) = a f(t) dt. Then F is differentiable (hence continuous) on [a; b] and F 0(x) = f(x). Fundamental Theorem of Calculus (other part) Let f :[a; b] ! R be continuous and let F be any antiderivative of f on [a; b].
    [Show full text]
  • Resources for Further Study
    Resources for Further Study A number of valuable resources are available for further study of philosophical logic. In addition to the books and articles cited in the references at the end of each chapter included in this volume, there are four general categories of resources that can be consulted for information about the history and current research developments in philosophical logic. Additional materials can be found by soliciting advice from logicians, philosophers, and mathematicians at local colleges and universities. Logic Handbooks Many university and independent presses publish books on or related to mathematical and philo- sophical logic. There are also several special series of original monographs in logic that are worth investigating. The literature is too vast to justify a selection of the individual books that have con- tributed to the development of logic. We can nevertheless identify special categories of texts of special interest, beginning with handbooks and book series dedicated to logic and philosophical logic. Here are some recent relevant publications: Boyer, Robert S. (1988) A Computational Logic Handbook. Boston, MA: Academic Press. Sherwood, John C. (1960) Discourse of Reason: A Brief Handbook of Semantics and Logic. New York: Harper & Row. Handbook of Fuzzy Computation, ed. Enrique H. Ruspini, Piero P. Bonissone and Witold Pedrycz. Philadelphia, PA: Institute of Physics Publications, 1998. Handbook of Logic and Language, ed. Johan van Benthem and Alice ter Meulen. Cambridge, MA: MIT Press, 1997. Handbook of Logic in Artificial Intelligence and Logic Programming, ed. Dov Gabbay, C. J. Hogger, and J. A. Robinson. Oxford: Clarendon Press, 1993–8. Emmet, E. R. (1984) Handbook of Logic.
    [Show full text]
  • Calculus I ​ Teacher(S): Mr
    Remote Learning Packet NB: Please keep all work produced this week. Details regarding how to turn in this work will be forthcoming. April 20 - 24, 2020 Course: 11 Calculus I ​ Teacher(s): Mr. Simmons ​ Weekly Plan: ​ Monday, April 20 ⬜ Revise your proof of Fermat’s Theorem. Tuesday, April 21 ⬜ Extreme Value Theorem proof and diagram. Wednesday, April 22 ⬜ Diagrams for Fermat’s Theorem, Rolle’s Theorem, and the MVT Thursday, April 23 ⬜ Prove Rolle’s Theorem. Friday, April 24 ⬜ Prove the MVT. Statement of Academic Honesty I affirm that the work completed from the packet I affirm that, to the best of my knowledge, my is mine and that I completed it independently. child completed this work independently _______________________________________ _______________________________________ Student Signature Parent Signature Monday, April 20 I would like to apologize, because in the list of theorems that I sent you, there was a typo. In the hypotheses for two of the theorems, there were written nonstrict inequalities, but they should have been strict inequalities. I have corrected this in the new version. If you have felt particularly challenged by these proofs, that’s okay! I hope that this is an opportunity for you not to memorize a method and execute it perfectly, but rather to be challenged and to struggle with real mathematical problems. I highly encourage you to come to office hours (virtually) to ask questions about these problems. And feel free to email me as well! This week’s handout is a rewriting of those same theorems, along with one more, the Extreme Value Theorem. I apologize for all the changes, but I - along with the rest of you - am still adjusting to this new setup.
    [Show full text]
  • Formal Proof—Getting Started Freek Wiedijk
    Formal Proof—Getting Started Freek Wiedijk A List of 100 Theorems On the webpage [1] only eight entries are listed for Today highly nontrivial mathematics is routinely the first theorem, but in [2p] seventeen formaliza- being encoded in the computer, ensuring a reliabil- tions of the irrationality of 2 have been collected, ity that is orders of a magnitude larger than if one each with a short description of the proof assistant. had just used human minds. Such an encoding is When we analyze this list of theorems to see called a formalization, and a program that checks what systems occur most, it turns out that there are such a formalization for correctness is called a five proof assistants that have been significantly proof assistant. used for formalization of mathematics. These are: Suppose you have proved a theorem and you want to make certain that there are no mistakes proof assistant number of theorems formalized in the proof. Maybe already a couple of times a mistake has been found and you want to make HOL Light 69 sure that that will not happen again. Maybe you Mizar 45 fear that your intuition is misleading you and want ProofPower 42 to make sure that this is not the case. Or maybe Isabelle 40 you just want to bring your proof into the most Coq 39 pure and complete form possible. We will explain all together 80 in this article how to go about this. Although formalization has become a routine Currently in all systems together 80 theorems from activity, it still is labor intensive.
    [Show full text]
  • A Gentle Tutorial for Programming on the ML-Level of Isabelle (Draft)
    The Isabelle Cookbook A Gentle Tutorial for Programming on the ML-Level of Isabelle (draft) by Christian Urban with contributions from: Stefan Berghofer Jasmin Blanchette Sascha Bohme¨ Lukas Bulwahn Jeremy Dawson Rafal Kolanski Alexander Krauss Tobias Nipkow Andreas Schropp Christian Sternagel July 31, 2013 2 Contents Contentsi 1 Introduction1 1.1 Intended Audience and Prior Knowledge.................1 1.2 Existing Documentation..........................2 1.3 Typographic Conventions.........................2 1.4 How To Understand Isabelle Code.....................3 1.5 Aaaaargh! My Code Does not Work Anymore..............4 1.6 Serious Isabelle ML-Programming.....................4 1.7 Some Naming Conventions in the Isabelle Sources...........5 1.8 Acknowledgements.............................6 2 First Steps9 2.1 Including ML-Code.............................9 2.2 Printing and Debugging.......................... 10 2.3 Combinators................................ 14 2.4 ML-Antiquotations............................. 21 2.5 Storing Data in Isabelle.......................... 24 2.6 Summary.................................. 32 3 Isabelle Essentials 33 3.1 Terms and Types.............................. 33 3.2 Constructing Terms and Types Manually................. 38 3.3 Unification and Matching......................... 46 3.4 Sorts (TBD)................................. 55 3.5 Type-Checking............................... 55 3.6 Certified Terms and Certified Types.................... 57 3.7 Theorems.................................. 58 3.8 Theorem
    [Show full text]
  • This Is a Paper in Whiuch Several Famous Theorems Are Poven by Using Ths Same Method
    This is a paper in whiuch several famous theorems are poven by using ths same method. There formula due to Marston Morse which I think is exceptional. Vector Fields and Famous Theorems Daniel H. Gottlieb 1. Introduction. What do I mean ? Look at the example of Newton’s Law of Gravitation. Here is a mathematical statement of great simplicity which implies logically vast number of phe- nomena of incredible variety. For example, Galileo’s observation that objects of different weights fall to the Earth with the same acceleration, or Kepler’s laws governing the motion of the planets, or the daily movements of the tides are all due to the underlying notion of gravity. And this is established by deriving the the mathematical statements of these three classes of phenomena from Newton’s Law of Gravity. The mathematical relationship of falling objects, planets, and tides is defined by the beautiful fact that they follow from Newton’s Law by the same kind of argument. The derivation for falling objects is much simpler than the derivation of the tides, but the general method of proof is the same. This process of simple laws implying vast numbers of physical theorems repeats itself over and over in Physics, with Maxwell’s Equations and Conservation of Energy and Momentum. To a mathematician, this web of relationships stemming from a few sources is beautiful. But is it unreasonable ? This is the question I ask. Are there mathematical Laws ? That is are there theorems which imply large numbers of known, important, and beautiful results by using the same kind of proofs ? At thirteen I already knew what Mathematics was.
    [Show full text]
  • Types in Logic, Mathematics, and Programming from the Handbook of Proof Theory
    CHAPTER X Types in Logic, Mathematics and Programming Robert L. Constable Computer Science Department, Cornell University Ithaca, New York 1~853, USA Contents 1. Introduction ..................................... 684 2. Typed logic ..................................... 692 3. Type theory ..................................... 726 4. Typed programming languages ........................... 754 5. Conclusion ...................................... 766 6. Appendix ...................................... 768 References ........................................ 773 HANDBOOK OF PROOF THEORY Edited by S. R. Buss 1998 Elsevier Science B.V. All rights reserved 684 R. Constable 1. Introduction Proof theory and computer science are jointly engaged in a remarkable enter- prise. Together they provide the practical means to formalize vast amounts of mathematical knowledge. They have created the subject of automated reasoning and a digital computer based proof technology; these enable a diverse community of mathematicians, computer scientists, and educators to build a new artifact a globally distributed digital library of formalized mathematics. I think that this artifact signals the emergence of a new branch of mathematics, perhaps to be called Formal Mathematics. The theorems of this mathematics are completely formal and are processed digitally. They can be displayed as beautifully and legibly as journal quality mathematical text. At the heart of this library are completely formal proofs created with computer assistance. Their correctness is based on the axioms and rules of various foundational theories; this formal accounting of correctness supports the highest known standards of rigor and truth. The need to formally relate results in different foundational theories opens a new topic in proof theory and foundations of mathematics. Formal proofs of interesting theorems in current foundational theories are very large rigid objects. Creating them requires the speed and memory capacities of modern computer hardware and the expressiveness of modern software.
    [Show full text]