Runtime Service Composition Via Logic-Based Program Synthesis

Total Page:16

File Type:pdf, Size:1020Kb

Runtime Service Composition Via Logic-Based Program Synthesis Runtime Service Composition via Logic-Based Program Synthesis Sven Lämmermann A dissertation submitted to the Royal Institute of Technology in partial fulfillment of the requirements for the degree of Doctor of Philosophy June 2002 TRITA-IT AVH 02:03 ISSN 1403-5286 ISRN KTH/IT/AVH 02/03–SE Department of Microelectronics and Information Technology Royal Institute of Technology Stockholm, Sweden Author’s e-mail address: [email protected] Department of Microelectronics and Information Technology Royal Institute of Technology Electrum 229, 16440 Kista (Stockholm), Sweden © Sven Lämmermann, 2002 Abstract Dynamic composition of services from components at runtime can help to provide flexible service infrastructures, but requires advanced composition techniques. To address this problem, we have developed a composition method that is tailored to services. The method integrates an efficient deductive program synthesis technique with a specification language. The work is realized in the context of an object- oriented software platform. The platform introduces a declarative extension to an object-oriented programming language in order to combine advantages of object- oriented programming with positive sides of declarative programming. We introduce the notion of declarative service programming. The declarative part uses the extended structural synthesis of programs, which we have developed. The extended structural synthesis of programs is an extension of the structural synthesis of programs (SSP). In contrast to the original SSP, our extensions allow program composition for dynamic environments. In pure SSP, the context in which components are used has to be specified in advance, i.e. statically. Service configurations are represented as classes and interfaces. We introduce metainterfaces as logical specifications of classes. They can be used in two ways: as specifications of computational usage of classes or as specifications of new classes composed from classes already supplied with metainterfaces. A metainterface is a specification that 1) introduces a collection of interface variables of a class, 2) introduces axioms showing the possibilities of computing provided by methods of the class, in particular, which interface variables are computable from other variables under which conditions, and 3) introduces metavariables that connect implicitly different metainterfaces and reflect on the conceptual level mutual needs of components. Our aim in designing the specification language has been to make it as convenient as possible for a software developer. This language allows a simple and exact translation into the language of logic used by the synthesis process, but we have tried to avoid excessive use of logical notations. We have implemented a prototype for automated compositional synthesis. It has been used in several experiments to show the feasibility of fully automated service composition. We describe some service composition examples. We present performance measurements of service compositions involving large number of component specifications. Our prototype implementation has shown good synthesis performance for services occurring in practice. Acknowledgements This thesis is the result of my research at KTH during the period January 1998 − December 2001. The support I have received from KTH and PCC project financially in the form of a PhD student scholarship is herewith thankfully acknowledged. I am grateful to my supervisor Prof. Enn Tyugu for the time he invested in advising me as well as for his encouragement. I also benefited much from discussions with Tarmo Uustalu. He was particularly helpful in explaining the structural synthesis of programs to me and was a wonderful source of the kind of information logicians don't write about because they assume everyone already knows it. I would like to thank Prof. Grigori Mints, who helped me to take my first steps in logic during a course given at the former Department of Teleinformatics in 1998. Thanks to Vladimir Vlassov, who has given advice and encouragement. Thanks to Prof. Seif Haridi who always has had an open ear for any problem. It is also a pleasure to record my appreciation of the help I have received from Hans Holmberg, Rita Johnsson, Rita Fjällendahl, Agneta Herling, Hans-Jörgen Rasmusson and the late Barbro Persson. I am, of course, also grateful to Bernd Fischer from NASA Ames Research for reviewing this dissertation and for his kind promise to serve as the opponent at the defence event. His comments significantly improved the technical content. To Ian Marsh from SICS, I owe thanks for proofreading this thesis and suggesting improvements to the language. Finally, I would like to thank my family, especially my dear wife Beatrice and my sons Patrice Noel and Pascal Christophe for their endurance and encouragement. Sven Lämmermann Stockholm June 2002 To Beatrice Contents List of Tables xv List of Figures xvi 1 Introduction 1 1.1 Background.................................................................................................. 2 1.2 Motivation ................................................................................................... 3 1.2.1 Service Composition...................................................................... 3 1.2.2 Composition Languages ................................................................ 4 1.2.3 Program Synthesis ......................................................................... 4 1.3 Problem Statement....................................................................................... 5 1.3.1 Service Composition from Components........................................ 5 1.3.2 Specification Language ................................................................. 6 1.3.3 Implementation.............................................................................. 7 1.4 Proposed Solution........................................................................................ 7 1.4.1 Automated Service Composition................................................... 8 1.4.2 Specification Language for Services and Components.................. 8 1.5 Contributions ............................................................................................... 9 ix x CONTENTS 1.6 Outline ....................................................................................................... 11 2 Services and Runtime Service Composition 13 2.1 Introduction................................................................................................ 13 2.2 Traditional Services ................................................................................... 14 2.3 Runtime Service Composition: Why?........................................................ 15 2.3.1 Interoperability ............................................................................ 16 2.3.2 Platform Independence ................................................................ 17 2.3.3 Active Networks .......................................................................... 17 2.4 Runtime Service Composition: How?........................................................ 18 2.4.1 Service Components .................................................................... 19 2.4.2 Service Component Specification................................................ 20 2.4.3 Service Composition.................................................................... 21 2.5 Sample Application.................................................................................... 21 2.6 Requirements for Runtime Service Composition ...................................... 23 3 A Calculus for Runtime Service Composition 27 3.1 Preliminaries.............................................................................................. 28 3.1.1 Intuitionistic Logic....................................................................... 28 3.1.2 Natural Deduction........................................................................ 29 3.1.3 Intuitionistic Natural Deduction .................................................. 30 3.1.3.1 Inference Rules.............................................................. 31 3.1.3.2 Localizing Hypotheses................................................... 36 3.1.3.3 Structural Properties of Hypothesis ............................... 37 3.1.3.4 Proof Terms ................................................................... 38 3.1.4 Derivation Example and Program Extraction from Proofs .......... 40 3.2 Structural Synthesis of Programs............................................................... 41 3.2.1 Logical Language LL................................................................... 42 3.2.2 Inference Rules ............................................................................ 44 3.2.3 Completeness of LL ..................................................................... 45 3.2.4 Program Extraction...................................................................... 46 CONTENTS xi 3.2.5 Structural Synthesis Rules ........................................................... 47 3.2.6 Program Extraction for Structural Synthesis Rules ..................... 49 3.2.7 Example of a Proof with Program Extraction.............................. 49 3.2.8 Dependent and Independent Subtasks ......................................... 50 3.2.9 Proof Search Algorithm............................................................... 51 3.2.10 Branch Control Structures in SSP................................................ 54 3.3 Extended Structural
Recommended publications
  • Propositional Logic - Basics
    Outline Propositional Logic - Basics K. Subramani1 1Lane Department of Computer Science and Electrical Engineering West Virginia University 14 January and 16 January, 2013 Subramani Propositonal Logic Outline Outline 1 Statements, Symbolic Representations and Semantics Boolean Connectives and Semantics Subramani Propositonal Logic (i) The Law! (ii) Mathematics. (iii) Computer Science. Definition Statement (or Atomic Proposition) - A sentence that is either true or false. Example (i) The board is black. (ii) Are you John? (iii) The moon is made of green cheese. (iv) This statement is false. (Paradox). Statements, Symbolic Representations and Semantics Boolean Connectives and Semantics Motivation Why Logic? Subramani Propositonal Logic (ii) Mathematics. (iii) Computer Science. Definition Statement (or Atomic Proposition) - A sentence that is either true or false. Example (i) The board is black. (ii) Are you John? (iii) The moon is made of green cheese. (iv) This statement is false. (Paradox). Statements, Symbolic Representations and Semantics Boolean Connectives and Semantics Motivation Why Logic? (i) The Law! Subramani Propositonal Logic (iii) Computer Science. Definition Statement (or Atomic Proposition) - A sentence that is either true or false. Example (i) The board is black. (ii) Are you John? (iii) The moon is made of green cheese. (iv) This statement is false. (Paradox). Statements, Symbolic Representations and Semantics Boolean Connectives and Semantics Motivation Why Logic? (i) The Law! (ii) Mathematics. Subramani Propositonal Logic (iii) Computer Science. Definition Statement (or Atomic Proposition) - A sentence that is either true or false. Example (i) The board is black. (ii) Are you John? (iii) The moon is made of green cheese. (iv) This statement is false.
    [Show full text]
  • 12 Propositional Logic
    CHAPTER 12 ✦ ✦ ✦ ✦ Propositional Logic In this chapter, we introduce propositional logic, an algebra whose original purpose, dating back to Aristotle, was to model reasoning. In more recent times, this algebra, like many algebras, has proved useful as a design tool. For example, Chapter 13 shows how propositional logic can be used in computer circuit design. A third use of logic is as a data model for programming languages and systems, such as the language Prolog. Many systems for reasoning by computer, including theorem provers, program verifiers, and applications in the field of artificial intelligence, have been implemented in logic-based programming languages. These languages generally use “predicate logic,” a more powerful form of logic that extends the capabilities of propositional logic. We shall meet predicate logic in Chapter 14. ✦ ✦ ✦ ✦ 12.1 What This Chapter Is About Section 12.2 gives an intuitive explanation of what propositional logic is, and why it is useful. The next section, 12,3, introduces an algebra for logical expressions with Boolean-valued operands and with logical operators such as AND, OR, and NOT that Boolean algebra operate on Boolean (true/false) values. This algebra is often called Boolean algebra after George Boole, the logician who first framed logic as an algebra. We then learn the following ideas. ✦ Truth tables are a useful way to represent the meaning of an expression in logic (Section 12.4). ✦ We can convert a truth table to a logical expression for the same logical function (Section 12.5). ✦ The Karnaugh map is a useful tabular technique for simplifying logical expres- sions (Section 12.6).
    [Show full text]
  • Adding the Everywhere Operator to Propositional Logic
    Adding the Everywhere Operator to Propositional Logic David Gries∗ and Fred B. Schneider† Computer Science Department, Cornell University Ithaca, New York 14853 USA September 25, 2002 Abstract Sound and complete modal propositional logic C is presented, in which 2P has the interpretation “ P is true in all states”. The interpretation is already known as the Carnapian extension of S5. A new axiomatization for C provides two insights. First, introducing an inference rule textual substitution allows seamless integration of the propositional and modal parts of the logic, giving a more practical system for writing formal proofs. Second, the two following approaches to axiomatizing a logic are shown to be not equivalent: (i) give axiom schemes that denote an infinite number of axioms and (ii) write a finite number of axioms in terms of propositional variables and introduce a substitution inference rule. 1Introduction Logic gives a syntactic way to derive or certify truths that can be expressed in the language of the logic. The expressiveness of the language impacts the logic’s utility —the more expressive the language, the more useful the logic (at least if the intended use is to prove theorems, as opposed to, say, studying logics). We wish to calculate with logic, much as one calculates in algebra to derive equations, and we find it useful for 2P to be a formula of the logic and have the meaning “ P is true in all states”. When a propositional logic extended with 2 is further extended to predicate logic and then to other theories, the logic can be used for proving theorems that could otherwise be ∗Supported by NSF grant CDA-9214957 and ARPA/ONR grant N00014-91-J-4123.
    [Show full text]
  • On the Logic of Left-Continuous T-Norms and Right-Continuous T-Conorms
    On the Logic of Left-Continuous t-Norms and Right-Continuous t-Conorms B Llu´ıs Godo1( ),Mart´ın S´ocola-Ramos2, and Francesc Esteva1 1 Artificial Intelligence Research Institute (IIIA-CSIC), Campus de la UAB, Bellaterra, 08193 Barcelona, Spain {godo,esteva}@iiia.csic.es 2 Juniv¨agen 13, 27172 K¨opingebro, Sweden [email protected] Abstract. Double residuated lattices are expansions of residuated lat- tices with an extra monoidal operator, playing the role of a strong dis- junction operation, together with its dual residuum. They were intro- duced by Orlowska and Radzikowska. In this paper we consider the subclass of double residuated structures that are expansions of MTL- algebras, that is, prelinear, bounded, commutative and integral residu- ated lattices. MTL-algebras constitute the algebraic semantics for the MTL logic, the system of mathematical fuzzy logic that is complete w.r.t. the class of residuated lattices on the real unit interval [0, 1] induced by left-continuous t-norms. Our aim is to axiomatise the logic whose intended semantics are commutative and integral double residu- ated structures on [0, 1], that are induced by an arbitrary left-continuous t-norm, an arbitrary right-continuous t-conorm, and their corresponding residual operations. Keywords: Mathematical fuzzy logic · Double residuated lattices · MTL · DMCTL · Semilinear logics · Standard completeness 1 Introduction Residuated lattices [7] are a usual choice for general algebras of truth-values in systems of mathematical fuzzy logic [1–3,9], as well as for valuation structures in lattice-valued fuzzy sets (L-fuzzy sets) [8] and in multiple-valued generalisations of information relations [11,13,14].
    [Show full text]
  • Lecture 4 1 Overview 2 Propositional Logic
    COMPSCI 230: Discrete Mathematics for Computer Science January 23, 2019 Lecture 4 Lecturer: Debmalya Panigrahi Scribe: Kevin Sun 1 Overview In this lecture, we give an introduction to propositional logic, which is the mathematical formaliza- tion of logical relationships. We also discuss the disjunctive and conjunctive normal forms, how to convert formulas to each form, and conclude with a fundamental problem in computer science known as the satisfiability problem. 2 Propositional Logic Until now, we have seen examples of different proofs by primarily drawing from simple statements in number theory. Now we will establish the fundamentals of writing formal proofs by reasoning about logical statements. Throughout this section, we will maintain a running analogy of propositional logic with the system of arithmetic with which we are already familiar. In general, capital letters (e.g., A, B, C) represent propositional variables, while lowercase letters (e.g., x, y, z) represent arithmetic variables. But what is a propositional variable? A propositional variable is the basic unit of propositional logic. Recall that in arithmetic, the variable x is a placeholder for any real number, such as 7, 0.5, or −3. In propositional logic, the variable A is a placeholder for any truth value. While x has (infinitely) many possible values, there are only two possible values of A: True (denoted T) and False (denoted F). Since propositional variables can only take one of two possible values, they are also known as Boolean variables, named after their inventor George Boole. By letting x denote any real number, we can make claims like “x2 − 1 = (x + 1)(x − 1)” regardless of the numerical value of x.
    [Show full text]
  • 2 First-Order Logic
    prev next 2 First-Order Logic First-order logic (also called predicate logic) is an extension of propositional logic that is much more useful than propositional logic. It was created as a way of formalizing common mathematical reasoning. In first-order logic, you start with a nonempty set of values called the domain of discourse U. Logical statements talk about properties of values in U and relationships among those values. 2.1 Predicates In place of propositional variables, first-order logic uses predicates. Definition 2.1. A predicate P takes zero or more parameters x1, x2, ::: , xn and yields either true or false. First-order formula P (x1, ::: , xn) is the value of predicate P with parameters x1, ::: , xn. A predicate with no parameters is a propositional variable. Suppose that the domain of discourse U is the set of all integers. Here are some examples of predicates. There is no standard collection of predicates that are always used. Rather, each of these is like a function definition in a computer program; different programs contain different functions. • We might define even(n) to be true if n is even. For example even(4) is true and even(5) is false. • We might define greater(x; y) to be true if x > y. For example, greater(7; 3) is true and greater(3; 7) is false. • We might define increasing(x; y; z) to be true if x < y < z. For example, increasing(2; 4; 6) is true and increasing(2; 4; 2) is false. 1 2.2 Terms A term is an expression that stands for a particular value in U.
    [Show full text]
  • Major Results: (Wrt Propositional Logic) • How to Reason Correctly. • How To
    Major results: (wrt propositional logic) ² How to reason correctly. ² How to reason efficiently. ² How to determine if a statement is true or false. Fuzzy logic deal with statements that are somewhat vague, such as: this paint is grey. Probability deals with statements that are possibly true, such as whether I will win the lottery next week. Propositional logic deals with concrete statements that are either true true or false. Predicate Logic (first order logic) allows statements to contain variables, such as if X is married to Y then Y is married to X. 1 We need formal definitions for: ² legal sentences or propositions (syntax) ² inference rules, for generated new sentence. (entailment) ² truth or validity. (semantics) Example Syntax: (x > y)&(y > z) ! (x > z) Interpretation: x = John’s age y= Mary’s age z= Tom’s age If John is older than Mary and Mary is older than Tom, then we can conclude John is older than Tom. (semantics) Conclusion is not approximately true or probably true, but absolutely true. 2 1 Propositional Logic Syntax: logical constants True and False are sentences. propositional symbols P,Q, R, etc are sentences These will either be true (t) or false (f) Balanced Parenthesis if S is a sentence, so is (S). logical operators or connectives : _; ^; »;;;; ); ::: Actually NAND (Shaeffer stroke) is the only connective that is needed. Sentences legal combinations of connectives and variables, i.e. propositional let- ters are sentences and if s1 and s2 are sentences so are » s1; (s1); s1 ) s2; Note: Instead of ) one can use _ and ^ since p ) q ,» p _ q Semantics: ² Each propositional variable can be either True or False.
    [Show full text]
  • Fixpointed Idempotent Uninorm (Based) Logics
    mathematics Article Fixpointed Idempotent Uninorm (Based) Logics Eunsuk Yang Department of Philosophy & Institute of Critical Thinking and Writing, Colleges of Humanities & Social Science Blvd., Chonbuk National University, Rm 417, Jeonju 54896, Korea; [email protected] Received: 8 December 2018; Accepted: 18 January 2019; Published: 20 January 2019 Abstract: Idempotent uninorms are simply defined by fixpointed negations. These uninorms, called here fixpointed idempotent uninorms, have been extensively studied because of their simplicity, whereas logics characterizing such uninorms have not. Recently, fixpointed uninorm mingle logic (fUML) was introduced, and its standard completeness, i.e., completeness on real unit interval [0, 1], was proved by Baldi and Ciabattoni. However, their proof is not algebraic and does not shed any light on the algebraic feature by which an idempotent uninorm is characterized, using operations defined by a fixpointed negation. To shed a light on this feature, this paper algebraically investigates logics based on fixpointed idempotent uninorms. First, several such logics are introduced as axiomatic extensions of uninorm mingle logic (UML). The algebraic structures corresponding to the systems are then defined, and the results of the associated algebraic completeness are provided. Next, standard completeness is established for the systems using an Esteva–Godo-style approach for proving standard completeness. Keywords: substructural fuzzy logic; algebraic completeness; standard completeness; fixpoint; idempotent uninorm 1. Introduction Uninorms are a special kind of associative and commutative aggregation operators allowing an identity in unit interval [0, 1]. They were introduced by Yager and Rybalov in Reference [1], characterizing their structure along with Fodor [2]. Since then, these kinds of operators have been extensively investigated due to their special interest from a theoretical and applicative point of view.
    [Show full text]
  • Propositional Logic
    Propositional Logic Andreas Klappenecker Propositions A proposition is a declarative sentence that is either true or false (but not both). Examples: • College Station is the capital of the USA. • There are fewer politicians in College Station than in Washington, D.C. • 1+1=2 • 2+2=5 Propositional Variables A variable that represents propositions is called a propositional variable. For example: p, q, r, ... [Propositional variables in logic play the same role as numerical variables in arithmetic.] Propositional Logic The area of logic that deals with propositions is called propositional logic. In addition to propositional variables, we have logical connectives such as not, and, or, conditional, and biconditional. Syntax of Propositional Logic Approach We are going to present the propositional logic as a formal language: - we first present the syntax of the language - then the semantics of the language. [Incidentally, this is the same approach that is used when defining a new programming language. Formal languages are used in other contexts as well.] Formal Languages Let S be an alphabet. We denote by S* the set of all strings over S, including the empty string. A formal language L over the alphabet S is a subset of S*. Syntax of Propositional Logic Our goal is to study the language Prop of propositional logic. This is a language over the alphabet ∑=S ∪ X ∪ B , where - S = { a, a0, a1,..., b, b0, b1,... } is the set of symbols, - X = {¬,∧,∨,⊕,→,↔} is the set of logical connectives, - B = { ( , ) } is the set of parentheses. We describe the language Prop using a grammar. Grammar of Prop ⟨formula ⟩::= ¬ ⟨formula ⟩ | (⟨formula ⟩ ∧ ⟨formula ⟩) | (⟨formula ⟩ ∨ ⟨formula ⟩) | (⟨formula ⟩ ⊕ ⟨formula ⟩) | (⟨formula ⟩ → ⟨formula ⟩) | (⟨formula ⟩ ↔ ⟨formula ⟩) | ⟨symbol ⟩ Example Using this grammar, you can infer that ((a ⊕ b) ∨ c) ((a → b) ↔ (¬a ∨ b)) both belong to the language Prop, but ((a → b) ∨ c does not, as the closing parenthesis is missing.
    [Show full text]
  • A Note on Algebraic Semantics for S5 with Propositional Quantifiers
    A Note on Algebraic Semantics for S5 with Propositional Quantifiers Wesley H. Holliday University of California, Berkeley Preprint of April 2017. Forthcoming in Notre Dame Journal of Formal Logic. Abstract In two of the earliest papers on extending modal logic with propositional quanti- fiers, R. A. Bull and K. Fine studied a modal logic S5Π extending S5 with axioms and rules for propositional quantification. Surprisingly, there seems to have been no proof in the literature of the completeness of S5Π with respect to its most natural algebraic semantics, with propositional quantifiers interpreted by meets and joins over all ele- ments in a complete Boolean algebra. In this note, we give such a proof. This result raises the question: for which normal modal logics L can one axiomatize the quantified propositional modal logic determined by the complete modal algebras for L? Keywords: modal logic, propositional quantifiers, algebraic semantics, monadic algebras, MacNeille completion MSC: 03B45, 03C80, 03G05 1 Introduction The idea of extending the language of propositional modal logic with propositional quan- tifiers 8p and 9p was first investigated in Kripke 1959, Bull 1969, Fine 1970, and Kaplan 1970.1 The language LΠ of quantified propositional modal logic is given by the grammar ' ::= p j :' j (' ^ ') j ' j 8p'; where p comes from a countably infinite set Prop of propositional variables. The other connectives _, !, and $ are defined as usual, and we let ♦' := ::' and 9p' := :8p:'. A focus of the papers cited above was on extending the modal logic S5 with propositional quantification. As usual, one can think about natural extensions syntactically or seman- tically.
    [Show full text]
  • Section 6.2 Propositional Calculus Propositional Calculus Is the Language of Propositions (Statements That Are True Or False)
    Section 6.2 Propositional Calculus Propositional calculus is the language of propositions (statements that are true or false). We represent propositions by formulas called well-formed formulas (wffs) that are constructed from an alphabet consisting of Truth symbols: T (or True) and F (or False) Propositional variables: uppercase letters. Connectives (operators): ¬ (not, negation) ∧ (and, conjunction) ∨ (or, disjunction) → (conditional, implication) Parentheses symbols: ( and ). A wff is either a truth symbol, a propositional variable, or if V and W are wffs, then so are ¬ V, V ∧ W, V ∨ W, V → W, and (W). Example. The expression A ¬ B is not a wff. But each of the following three expressions is a wff: A ∧ B → C, (A ∧ B) → C, and A ∧ (B → C). Truth Tables. The connectives are defined by the following truth tables. P Q ¬P P "Q P #Q P $ Q T T F T T T T F F F T F F T T F T T F F T F F T 1 ! Semantics The meaning of T (or True) is true and the meaning of F (or False) is false. The meaning of any other wff is its truth table, where in the absence of parentheses, we define the hierarchy of evaluation to be ¬, ∧, ∨, →, and we assume ∧, ∨, → are left associative. Examples. ¬ A ∧ B means (¬ A) ∧ B A ∨ B ∧ C means A ∨ (B ∧ C) A ∧ B → C means (A ∧ B) → C A → B → C means (A → B) → C. Three Classes A Tautology is a wff for which all truth table values are T. A Contradiction is a wff for which all truth table values are F.
    [Show full text]
  • B1.1 Logic Lecture Notes.Pdf
    Oxford, MT2017 B1.1 Logic Jonathan Pila Slides by J. Koenigsmann with some small additions; further reference see: D. Goldrei, “Propositional and Predicate Calculus: A Model of Argument”, Springer. Introduction 1. What is mathematical logic about? • provide a uniform, unambiguous language for mathematics • make precise what a proof is • explain and guarantee exactness, rigor and certainty in mathematics • establish the foundations of mathematics B1 (Foundations) = B1.1 (Logic) + B1.2 (Set theory) N.B.: Course does not teach you to think logically, but it explores what it means to think logically Lecture 1 - 1/6 2. Historical motivation • 19th cent.: need for conceptual foundation in analysis: what is the correct notion of infinity, infinitesimal, limit, ... • attempts to formalize mathematics: - Frege’s Begriffsschrift - Cantor’s naive set theory: a set is any collection of objects • led to Russell’s paradox: consider the set R := {S set | S 6∈ S} R ∈ R ⇒ R 6∈ R contradiction R 6∈ R ⇒ R ∈ R contradiction ❀ fundamental crisis in the foundations of mathematics Lecture 1 - 2/6 3. Hilbert’s Program 1. find a uniform (formal) language for all mathematics 2. find a complete system of inference rules/ deduction rules 3. find a complete system of mathematical axioms 4. prove that the system 1.+2.+3. is consistent, i.e. does not lead to contradictions ⋆ complete: every mathematical sentence can be proved or disproved using 2. and 3. ⋆ 1., 2. and 3. should be finitary/effective/computable/algorithmic so, e.g., in 3. you can’t take as axioms the system of all true sentences in mathematics ⋆ idea: any piece of information is of finte length Lecture 1 - 3/6 4.
    [Show full text]