The roots of computability theory. September 5, 2016

Similar documents
The universal computer

Church s undecidability result

CS 301. Lecture 17 Church Turing thesis. Stephen Checkoway. March 19, 2018

The Legacy of Hilbert, Gödel, Gentzen and Turing

Automata Theory. Definition. Computational Complexity Theory. Computability Theory

Understanding Computation

Finite Automata Theory and Formal Languages TMV027/DIT321 LP4 2018

CS187 - Science Gateway Seminar for CS and Math

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Introduction to Turing Machines

Propositions as Types

Gottfried Wilhelm Leibniz (1666)

Computer Science and Logic A Match Made in Heaven

Large Numbers, Busy Beavers, Noncomputability and Incompleteness

Decidability: Church-Turing Thesis

The Search for the Perfect Language

CS 275 Automata and Formal Language Theory

CST Part IB. Computation Theory. Andrew Pitts

ON COMPUTAMBLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHENIDUGSPROBLEM. Turing 1936

On some Metatheorems about FOL

Computation. Some history...

Handouts. CS701 Theory of Computation

CS 275 Automata and Formal Language Theory

Gödel s Incompleteness Theorem. Overview. Computability and Logic

Turing Machines. Lecture 8

MATH10040: Chapter 0 Mathematics, Logic and Reasoning

An Intuitively Complete Analysis of Gödel s Incompleteness

Lecture 14 Rosser s Theorem, the length of proofs, Robinson s Arithmetic, and Church s theorem. Michael Beeson

Models. Models of Computation, Turing Machines, and the Limits of Turing Computation. Effective Calculability. Motivation for Models of Computation

Hilbert s problems, Gödel, and the limits of computation

Dr Prya Mathew SJCE Mysore

Foundations of Computation. Ana Bove

Obsevations, Truth and Logic

Theory of Computation CS3102 Spring 2014 A tale of computers, math, problem solving, life, love and tragic death

CSCI3390-Lecture 6: An Undecidable Problem

Epistemological and Computational Constraints of Simulation Support for OR Questions

The Limit of Humanly Knowable Mathematical Truth

Hilbert s problems, Gödel, and the limits of computation

Great Theoretical Ideas

Classical Propositional Logic

CHAPTER 11. Introduction to Intuitionistic Logic

Examples: P: it is not the case that P. P Q: P or Q P Q: P implies Q (if P then Q) Typical formula:

Geometry I (CM122A, 5CCM122B, 4CCM122A)

Victoria Gitman and Thomas Johnstone. New York City College of Technology, CUNY

17.1 The Halting Problem

A Little History Incompleteness The First Theorem The Second Theorem Implications. Gödel s Theorem. Anders O.F. Hendrickson

The Converse of Deducibility: C.I. Lewis and the Origin of Modern AAL/ALC Modal 2011 Logic 1 / 26

What is logic, the topic of this course? There are at least two answers to that question.

Logic: Propositional Logic Truth Tables

Computability Theory. CS215, Lecture 6,

Přednáška 12. Důkazové kalkuly Kalkul Hilbertova typu. 11/29/2006 Hilbertův kalkul 1

MATH 115 Concepts in Mathematics

Introduction to Logic

CISC 876: Kolmogorov Complexity

WHY WORD PROBLEMS ARE HARD

Introduction to Logic and Axiomatic Set Theory

Recursion Theory. Joost J. Joosten

Institute for Applied Information Processing and Communications (IAIK) Secure & Correct Systems. Decidability

CS21 Decidability and Tractability

INTRODUCTION TO LOGIC

MAGIC Set theory. lecture 2

1 Reals are Uncountable

Unary negation: T F F T

To Infinity and Beyond

Creative Objectivism, a powerful alternative to Constructivism

Handbook of Logic and Proof Techniques for Computer Science

CSE 1400 Applied Discrete Mathematics Proofs

Decidable Languages - relationship with other classes.

Logic: The Big Picture

What are the recursion theoretic properties of a set of axioms? Understanding a paper by William Craig Armando B. Matos

Alan Turing s Contributions to the Sciences

Handout on Logic, Axiomatic Methods, and Proofs MATH Spring David C. Royster UNC Charlotte

Numbers, proof and all that jazz.

Lecture 11: Gödel s Second Incompleteness Theorem, and Tarski s Theorem

Direct Proof MAT231. Fall Transition to Higher Mathematics. MAT231 (Transition to Higher Math) Direct Proof Fall / 24

Review Sheet for the Final Exam of MATH Fall 2009

Logic. Propositional Logic: Syntax. Wffs

Mathematics 114L Spring 2018 D.A. Martin. Mathematical Logic

Math 144 Summer 2012 (UCR) Pro-Notes June 24, / 15

WORKSHEET MATH 215, FALL 15, WHYTE. We begin our course with the natural numbers:

6-1 Computational Complexity

CITS2211 Discrete Structures Proofs

Cogito ergo sum non machina!

WORKSHEET ON NUMBERS, MATH 215 FALL. We start our study of numbers with the integers: N = {1, 2, 3,...}

MAGIC Set theory. lecture 1

GÖDEL S COMPLETENESS AND INCOMPLETENESS THEOREMS. Contents 1. Introduction Gödel s Completeness Theorem

Most General computer?

The Two Faces of Infinity Dr. Bob Gardner Great Ideas in Science (BIOL 3018)

Trinity Christian School Curriculum Guide

by Yurii Khomskii There is a weaker notion called semi-representability:

Axiomatic set theory. Chapter Why axiomatic set theory?

Part I, Number Systems. CS131 Mathematics for Computer Scientists II Note 1 INTEGERS

Computational Thinking

Turing Centenary Lecture

COMPUTATION IN AND ABOUT PHYSICS AND MATHEMATICS

Computability Theory

Grade 8 Chapter 7: Rational and Irrational Numbers

Propositional Logic: Syntax

Section 3.1: Direct Proof and Counterexample 1

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 15 Propositional Calculus (PC)

Transcription:

The roots of computability theory September 5, 2016

Algorithms An algorithm for a task or problem is a procedure that, if followed step by step and without any ingenuity, leads to the desired result/solution. without ingenuity means that in carrying out the algorithm, everything that we do is fully specified as part of the procedure. Feynman s three steps algorithm for solving any problem: 1. Write down the problem 2. Think very hard 3. Write down the solution Not allowed: requires ingenuity

Algorithms For an algorithm we have an input that to which the algorithm is applied and an output that which the algorithm produces. Input Algorithm Output Since its beginnings, a core business of mathematics has been to provide reliable algorithms to solve problems of many different kinds. Here are some examples.

Arithmetic Compute the sum, product, quotient, and remainder of two natural numbers. input: n, m N output: n+m, n m, n:m, rem(n,m) Find the greatest common divisor of two natural numbers. input: n, m N output: largest k which divides both n and m

Arithmetic Decide whether a given natural number is prime. input: n N output: yes or no Decompose a natural number n in prime factors. input: n>1 output: prime numbers p1,, pn and exponents e1,, en such that n= p1 e1 pn en

Geometry Construct an equilateral triangle with sides of a given length. input: a segment in the plane output: an equilateral triangle with sides as long as the segment Compute π with any desired precision (Archimedes algorithm). input: a number n output: the first n digits of the decimal expansion of π

Algebra, logic Resolve a first degree equation ax+b=0 input: rational numbers a,b output: a rational number c such that ac+b=0 Decide whether a propositional formula φ is a tautology input: a propositional formula output: yes or no

From algorithms in mathematics to a mathematics of algorithms As these examples show, algorithms are central to mathematics. Yet, it is only around 1930 that mathematicians turned attention to the algorithms themselves as mathematical objects. Before, the objects of the theories were numbers (arithmetic), points and lines (geometry), equations (algebra), formulas (logic), etc. In the 30s, various theories are developed in which the algorithms themselves are the objects whose properties are studied.

From algorithms in mathematics to a mathematics of algorithms These formal theories of algorithms made it possible to ask: which mathematical problems can be solved by means of algorithms? This is the subject of computability theory. And also: which problems can be solved by an efficient algorithm? This is the subject of computational complexity theory. This development was stimulated by a number of important problems that were open at that time. Let s look at some of these.

Problem 1: computable numbers

Problem 1: computable numbers Natural numbers are finite objects. They can be viewed as finite sequences of digits: 12828 Real numbers are infinite objects. They can be viewed as infinite sequences of digits: π = 3.141592 Problem: what does it mean to operate with a real number, given that one cannot specify all the digits anyway?

Problem 1: computable numbers Idea: for many real numbers r R, there is an algorithm Ar that produces the digits of the decimal representation of r: this is always the case for rationals: 1/3 = 0.3333 but also for the most salient irrational numbers: 2, 3, π, e, An algorithm is a finite specification of a procedure. We could take Ar to be a finite description of the real number r. Call a real number computable if its decimals can be produced by following an algorithm.

Problem 1: computable numbers Problem: is every real number computable? If so, this means that real numbers are finitely representable. To give a positive answer, we would just have to describe how to get an algorithm for any given number r R. To give a negative answer, we need to show that for some number r, there exists no algorithm to compute the digits of r. This requires a mathematically precise notion of an algorithm.

Problem 2: deciding logical validity

Problem 2: deciding logical validity An old dream: codify arguments in a language which is so transparent, and with inference rules so precise, that correctness of reasoning is just a matter of mathematical correctness: Obviously, once this is performed, every paralogism is nothing but a calculation mistake [ ] If controversies were to arise, there would be no more need of disputation between two philosophers than between two accountants. For it would suffice for them to take their pencils in their hands and to sit down at the abacus, and say to each other (and if they so wish also to a friend called to help): Let us calculate [calculemus]. Leibniz, De arte characteristica ad perficiendas scientias ratione nitentes

Problem 2: deciding logical validity In part, Leibniz s dream became a reality with modern formal logic: sentences of a language and their meaning are defined mathematically; the relation of consequence is defined in mathematical terms; whether a statement follows from a set of premises is therefore a mathematical question; moreover, for standard first-order logic, a complete set of inference rules exists: consequences can be proved by using these simple rules.

Problem 2: deciding logical validity Axioms Proofs Theorems

Problem 2: deciding logical validity Now, consider an axiomatic theory formulated in first-order logic. If we wish to know whether something follows from the theory, can we really say calculemus? Precisely: is there an algorithm that allows us to decide whether a given first-order sentence is a consequence of a set of axioms? This problem was posed by David Hilbert in 1928 and is known as the decision problem (aka Entscheidungsproblem ). Again, to give a positive answer we just need to describe an algorithm, but for a negative answer we need to exclude that an algorithm exists, which requires a precise mathematical notion of algorithm.

Problem 2: deciding logical validity The decision problem has a crucial importance for mathematics: virtually all of mathematics (arithmetic, calculus, geometry, algebra, ) can be encoded in the axiomatic theory of sets (ZFC). If the answer to the decision problem is positive, then given any mathematical conjecture, we could formalize it and decide in a mechanical way whether it is a theorem or not. This means that we could check the validity of a conjecture in the same way as we check the correctness of an addition.

Problem 3: axiomatizing mathematics

Problem 3: axiomatizing mathematics In the beginning of the 20th century, there was much turmoil concerning the foundations of mathematics. Geometry and calculus had been reduced to the theory of sets. But what are sets? How can we know which sets exist? How about, e.g., alleged sets which have no finite description? Mathematicians disagreed about these questions and what principles were acceptable in a proof. Contradictions were discovered. But how could mathematics be certain if its basic notions are so unclear and controversial?

Problem 3: axiomatizing mathematics Hilbert s solution: mathematics is not concerned with what objects are, but only with what properties they have. One must be able to say at all times instead of points, straight lines, and planes tables, chairs, and beer mugs Mathematics proceeds by postulating the truth of some statements (axioms), and deriving the truth of other statements (theorems). Thus, we never manipulate infinite objects (sets, real numbers, etc.) but only statements about them, which are finite objects.

Problem 3: axiomatizing mathematics With Hilbert s perspective, certainty is recovered: the axioms of a theory should be presented unambiguously; we know what counts as a correct deduction from axioms; so, there is no room for disagreement over whether something really counts as a theorem or not.

Problem 3: axiomatizing mathematics General problem: can we make our axiomatization rich enough to capture all the properties of the structure that we aim to characterize? More concretely, consider a language in which we can express all elementary statements of arithmetic, concerning +,, :, and so on. Completeness problem: can we give an axiomatization of arithmetic from which all true statements on numbers can be proved? This axiomatization should be effective, that is, there should be a procedure to tell whether something counts as an axiom or not. [Otherwise, we could trivially take anything that is true as an axiom. But then uncertainty would strike back: how do we know what s true?] To answer our question, we need to know what counts as a procedure.

Computability theory

The pioneers of computability Alan Turing 1912-54 Turing machines Alonzo Church 1902-95 Lambda calculus Kurt Gödel 1906-78 Recursive functions Emil Post 1897-1954 Rewrite systems

Computability theory answers our questions 1. Computable numbers problem: are all real numbers computable? No. For some r R, there is no algorithm to compute their decimals. (Turing, 1936) 2. Decision problem: give a decision procedure to determine whether a sentence of first-order logic follows from a set of premises. No such procedure exists. (Church s theorem: Church, 1936, Turing, 1936) 3. Completeness problem: provide a complete and effective axiomatization of arithmetic (and mathematics more generally). No such axiomatization exists. Any effective axiomatization of arithmetic is incomplete, i.e., leaves some statements undecided. (Incompleteness theorem: Gödel, 1931)

Computability theory answers our questions The work on computability settled some deep theoretical questions, in the negative. However, this work also provided explicit mathematical models of computation. These models inspired the development of physical computers. (VonNeumann architecture, 1945, regarded as first modern computer) And laid the theoretical foundations of a new field: computer science.

Why is this relevant for philosophy? 1. Algorithms and computing are interesting fundamental notions. 2. To study the scope of computability is essentially to study the limits of what can be achieved with finite means in finite time. 3. The results of computability theory have crucial repercussions for various disciplines: logic, AI, and the foundations of mathematics. 4. Work on computability is an amazing feat of mathematical philosophy: sharpening an informal notion lead to a powerful mathematical theory.

Structure of the course (preliminary) Classes Topic Main question 1 Introduction What is computability theory? 2-5 Models of computation How can we formalize the notions of algorithm and computation? 6-12 Introduction to computability What can be computed? 13 Consequences for logic and mathematics Can theoremhood be decided? Can maths be fully axiomatized?