alan turing s theory of computation

77
Introduction Computability Decidability Computable numbers Alan Turing’s theory of computation Joel David Hamkins Professor of Logic Sir Peter Strawson Fellow University of Oxford University College Oxford Cambridge Club, London 6 June 2019 Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Upload: others

Post on 15-Apr-2022

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Alan Turing’s theory of computation

Joel David HamkinsProfessor of Logic

Sir Peter Strawson Fellow

University of OxfordUniversity College

Oxford Cambridge Club, London6 June 2019

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 2: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Alan Turing (1912–1954)

Sculpture by Stephen Kettle

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 3: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Enigma

German ‘Enigma’ encryption device

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 4: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

The Bombe

Bombe device, Bletchley Park

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 5: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

On computable numbers, 1936

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 6: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing’s 1936 paper, “On computable numbers...”It is difficult to overstate the importance of Turing’s paper,written while he was a student at Cambridge.

The paper introduced profound, fundamental ideas oncomputability.

Defined Turing machinesProved existence of universal computersIdentified undecidability phenomenonSolved Godel’s entscheidungsproblemIntroduced the computable numbers

Turing’s ideas laid the foundation for the contemporarycomputer era.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 7: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computability

What does it mean to say that a function is computable?

Is there a hierarchy of computational power?

Can every mathematical question be solved in principle bycomputation?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 8: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing’s computability concept

Turing reflected philosophically on the nature of computation.

In that era, the word ‘computer’ referred not to a machine, butto a person, or more specifically, to an occupation.

Some firms had whole rooms full of computers, the ‘computerroom’, filled with people hired as computers and tasked withvarious computational duties, often in finance or engineering.

In old photos, you can see the computers—mostlywomen—sitting at big wooden desks, with pencils and asufficient supply of paper. They would perform theircomputations by writing on the paper, of course, according tovarious definite computational procedures.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 9: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing’s computability concept

Turing reflected philosophically on the nature of computation.

In that era, the word ‘computer’ referred not to a machine, butto a person, or more specifically, to an occupation.

Some firms had whole rooms full of computers, the ‘computerroom’, filled with people hired as computers and tasked withvarious computational duties, often in finance or engineering.

In old photos, you can see the computers—mostlywomen—sitting at big wooden desks, with pencils and asufficient supply of paper. They would perform theircomputations by writing on the paper, of course, according tovarious definite computational procedures.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 10: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing’s computability concept

Turing reflected philosophically on the nature of computation.

In that era, the word ‘computer’ referred not to a machine, butto a person, or more specifically, to an occupation.

Some firms had whole rooms full of computers, the ‘computerroom’, filled with people hired as computers and tasked withvarious computational duties, often in finance or engineering.

In old photos, you can see the computers—mostlywomen—sitting at big wooden desks, with pencils and asufficient supply of paper. They would perform theircomputations by writing on the paper, of course, according tovarious definite computational procedures.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 11: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

What ‘computers’ do

Turing aimed to model an idealized form of computationalprocesses.

He reflected that ‘computers’ (that is, people working ascomputers) work with pencil and paper, making various marksaccording to a computational procedure; perhaps make markson paper in front of them, or look back at earlier computationalmarks.

Eventually, the procedure may come to completion and theygive an output.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 12: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Nature of computation

Turing realized that some simplifying assumptions do notfundamental affect the nature of computation.

We may assume marks appear in a grid of cells.

May assume each cell has only 0 or 1.Two dimensions not important; assume a line of cells.May assume computer has limited memory.Rudimentary actions determined by current ‘state’ of mind.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 13: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Nature of computation

Turing realized that some simplifying assumptions do notfundamental affect the nature of computation.

We may assume marks appear in a grid of cells.May assume each cell has only 0 or 1.

Two dimensions not important; assume a line of cells.May assume computer has limited memory.Rudimentary actions determined by current ‘state’ of mind.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 14: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Nature of computation

Turing realized that some simplifying assumptions do notfundamental affect the nature of computation.

We may assume marks appear in a grid of cells.May assume each cell has only 0 or 1.Two dimensions not important; assume a line of cells.

May assume computer has limited memory.Rudimentary actions determined by current ‘state’ of mind.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 15: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Nature of computation

Turing realized that some simplifying assumptions do notfundamental affect the nature of computation.

We may assume marks appear in a grid of cells.May assume each cell has only 0 or 1.Two dimensions not important; assume a line of cells.May assume computer has limited memory.

Rudimentary actions determined by current ‘state’ of mind.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 16: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Nature of computation

Turing realized that some simplifying assumptions do notfundamental affect the nature of computation.

We may assume marks appear in a grid of cells.May assume each cell has only 0 or 1.Two dimensions not important; assume a line of cells.May assume computer has limited memory.Rudimentary actions determined by current ‘state’ of mind.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 17: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing machinesThus, Turing derived his machine concept of computation.

0 1 0

q

1 1 0 0 0 · · ·

A Turing machine has an infinite paper tape, divided into cells,which accommodate 0 and 1.

The head, at any moment in one of finitely many states, readsand writes on the tape, moving according to the rigidinstructions of a program.

(q,a) 7→ (r ,b,d).

When in state q reading symbol a, then change to stater , write symbol b, and move one cell in direction d.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 18: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Turing machinesThus, Turing derived his machine concept of computation.

0 1 0

q

1 1 0 0 0 · · ·

A Turing machine has an infinite paper tape, divided into cells,which accommodate 0 and 1.

The head, at any moment in one of finitely many states, readsand writes on the tape, moving according to the rigidinstructions of a program.

(q,a) 7→ (r ,b,d).

When in state q reading symbol a, then change to stater , write symbol b, and move one cell in direction d.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 19: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computability

Every program computes a corresponding function: on input n,the program runs, and if it eventually reaches the halt state, theoutput is f (n).

A function is computable if there is a program that computes it.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 20: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computability

Every program computes a corresponding function: on input n,the program runs, and if it eventually reaches the halt state, theoutput is f (n).

A function is computable if there is a program that computes it.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 21: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Decidability

A set is computably decidable, if there is a computationalmethod to determine whether given inputs x are in the set ornot.

A set A is computably enumerable, in contrast, if there is acomputable algorithm that enumerates all and only theelements of A.

Question

Are these the same?

It turns out, by Turing’s arguments, that they are different.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 22: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Decidability

A set is computably decidable, if there is a computationalmethod to determine whether given inputs x are in the set ornot.

A set A is computably enumerable, in contrast, if there is acomputable algorithm that enumerates all and only theelements of A.

Question

Are these the same?

It turns out, by Turing’s arguments, that they are different.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 23: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Decidability

A set is computably decidable, if there is a computationalmethod to determine whether given inputs x are in the set ornot.

A set A is computably enumerable, in contrast, if there is acomputable algorithm that enumerates all and only theelements of A.

Question

Are these the same?

It turns out, by Turing’s arguments, that they are different.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 24: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Decidability

A set is computably decidable, if there is a computationalmethod to determine whether given inputs x are in the set ornot.

A set A is computably enumerable, in contrast, if there is acomputable algorithm that enumerates all and only theelements of A.

Question

Are these the same?

It turns out, by Turing’s arguments, that they are different.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 25: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Puzzling example

Consider the decision problem: on input n, decide whetherthere are n consecutive 8s in the decimal expansion of π.

3.14159265358979323846264338327950288419 · · ·

Question

Is this decision problem computably decidable?

Naive attempt: on input n, begin to search the decimalexpansion of π. If you find n consecutive 8s, then say Yes.

...but when shall we say No?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 26: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Puzzling example

Consider the decision problem: on input n, decide whetherthere are n consecutive 8s in the decimal expansion of π.

3.14159265358979323846264338327950288419 · · ·

Question

Is this decision problem computably decidable?

Naive attempt: on input n, begin to search the decimalexpansion of π. If you find n consecutive 8s, then say Yes.

...but when shall we say No?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 27: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Puzzling example

Consider the decision problem: on input n, decide whetherthere are n consecutive 8s in the decimal expansion of π.

3.14159265358979323846264338327950288419 · · ·

Question

Is this decision problem computably decidable?

Naive attempt: on input n, begin to search the decimalexpansion of π. If you find n consecutive 8s, then say Yes.

...but when shall we say No?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 28: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Puzzling example

Consider the decision problem: on input n, decide whetherthere are n consecutive 8s in the decimal expansion of π.

3.14159265358979323846264338327950288419 · · ·

Question

Is this decision problem computably decidable?

Naive attempt: on input n, begin to search the decimalexpansion of π. If you find n consecutive 8s, then say Yes.

...but when shall we say No?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 29: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

More sophisticated answer

Decision problem: are there n consecutive 8s in π?

Argue by cases.

Case 1. If arbitrarily long blocks of 8s appear in π, then theanswer is always Yes. And this is computable: just say Yes.

Case 2. Otherwise, there is some longest string of 8s, of somelength N. But now the answer is Yes if n ≤ N and otherwise No.For the particular (unknown but fixed) N, this also iscomputable.

So in any case the problem is computable. We just don’t knowwhich algorithm works.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 30: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

More sophisticated answer

Decision problem: are there n consecutive 8s in π?

Argue by cases.

Case 1. If arbitrarily long blocks of 8s appear in π, then theanswer is always Yes. And this is computable: just say Yes.

Case 2. Otherwise, there is some longest string of 8s, of somelength N. But now the answer is Yes if n ≤ N and otherwise No.For the particular (unknown but fixed) N, this also iscomputable.

So in any case the problem is computable. We just don’t knowwhich algorithm works.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 31: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

More sophisticated answer

Decision problem: are there n consecutive 8s in π?

Argue by cases.

Case 1. If arbitrarily long blocks of 8s appear in π, then theanswer is always Yes. And this is computable: just say Yes.

Case 2. Otherwise, there is some longest string of 8s, of somelength N. But now the answer is Yes if n ≤ N and otherwise No.For the particular (unknown but fixed) N, this also iscomputable.

So in any case the problem is computable. We just don’t knowwhich algorithm works.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 32: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

More sophisticated answer

Decision problem: are there n consecutive 8s in π?

Argue by cases.

Case 1. If arbitrarily long blocks of 8s appear in π, then theanswer is always Yes. And this is computable: just say Yes.

Case 2. Otherwise, there is some longest string of 8s, of somelength N. But now the answer is Yes if n ≤ N and otherwise No.For the particular (unknown but fixed) N, this also iscomputable.

So in any case the problem is computable. We just don’t knowwhich algorithm works.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 33: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

More sophisticated answer

Decision problem: are there n consecutive 8s in π?

Argue by cases.

Case 1. If arbitrarily long blocks of 8s appear in π, then theanswer is always Yes. And this is computable: just say Yes.

Case 2. Otherwise, there is some longest string of 8s, of somelength N. But now the answer is Yes if n ≤ N and otherwise No.For the particular (unknown but fixed) N, this also iscomputable.

So in any case the problem is computable. We just don’t knowwhich algorithm works.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 34: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 35: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 36: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 37: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 38: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 39: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Universal computerThe earliest computational devices each performed a single,specific computational task.

To change the functionality, you had to build or rebuild adifferent machine.

Turing realized that one might design a universal computer.

A universal computer could run any program, if you simply givethat program as input.

This was an enormous conceptual advance.

But also a case where a profound idea through familiaritybecomes banal. We all carry them around in our pockets now.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 40: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Mental capacity

The existence of universal Turing machines shows in principlethat one does not need increasingly large mental capacity inorder to undertake arbitrary computational tasks.

The universal computer has a fixed number of states, not verylarge.

The capacity for written memory suffices for arbitrarily complexcomputation.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 41: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Mental capacity

The existence of universal Turing machines shows in principlethat one does not need increasingly large mental capacity inorder to undertake arbitrary computational tasks.

The universal computer has a fixed number of states, not verylarge.

The capacity for written memory suffices for arbitrarily complexcomputation.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 42: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Mental capacity

The existence of universal Turing machines shows in principlethat one does not need increasingly large mental capacity inorder to undertake arbitrary computational tasks.

The universal computer has a fixed number of states, not verylarge.

The capacity for written memory suffices for arbitrarily complexcomputation.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 43: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Undecidability

Can there be undecidable decision problems?

Is every mathematical question in principle answerable by acomputational procedure?

Turing sought to answer these questions.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 44: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Undecidability

Can there be undecidable decision problems?

Is every mathematical question in principle answerable by acomputational procedure?

Turing sought to answer these questions.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 45: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Undecidability

Can there be undecidable decision problems?

Is every mathematical question in principle answerable by acomputational procedure?

Turing sought to answer these questions.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 46: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Halting problem

Turing considered the halting problem: given a program p,determine whether it will halt.

Is this computably decidable?

Given program p, we could run the program, and wait for it tohalt.

This would half-solve the problem: it gives us the Yes answers.

But can we also compute the No answers?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 47: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Halting problem

Turing considered the halting problem: given a program p,determine whether it will halt.

Is this computably decidable?

Given program p, we could run the program, and wait for it tohalt.

This would half-solve the problem: it gives us the Yes answers.

But can we also compute the No answers?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 48: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Halting problem

Turing considered the halting problem: given a program p,determine whether it will halt.

Is this computably decidable?

Given program p, we could run the program, and wait for it tohalt.

This would half-solve the problem: it gives us the Yes answers.

But can we also compute the No answers?

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 49: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Halting problem is undecidable

Turing proved that the halting problem is undecidable. There isno computational procedure that correctly determines whethera given program will halt.

A beautiful argument

Suppose toward contradiction that we could solve the haltingproblem. Consider this strange algorithm q: On input p, a program,we ask whether program p would halt if given p itself as input; if yes,then we jump into an infinite loop; if no, then we halt immediately.

Let us run q on input q. It will halt if and only if it doesn’t halt.Contradiction.

So the halting problem is undecidable.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 50: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Halting problem is undecidable

Turing proved that the halting problem is undecidable. There isno computational procedure that correctly determines whethera given program will halt.

A beautiful argument

Suppose toward contradiction that we could solve the haltingproblem. Consider this strange algorithm q: On input p, a program,we ask whether program p would halt if given p itself as input; if yes,then we jump into an infinite loop; if no, then we halt immediately.

Let us run q on input q. It will halt if and only if it doesn’t halt.Contradiction.

So the halting problem is undecidable.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 51: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Undecidability

The undecidability phenomenon is now known to be pervasivein mathematics.

We have thousands of concrete decision problems, whichcannot in principle be solved by any computational procedure.

Often, one can prove that a problem is undecidable byembedding the halting problem inside it.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 52: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

The tiling problem

Tiling problem: given finitely many polygonal tile types,determine whether they can tile the plane.

Question. Is the tiling problem decidable?

Answer. No. There is no computational procedure that correctlysolves this problem.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 53: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

The tiling problem

Tiling problem: given finitely many polygonal tile types,determine whether they can tile the plane.

Question. Is the tiling problem decidable?

Answer. No. There is no computational procedure that correctlysolves this problem.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 54: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

The tiling problem

Tiling problem: given finitely many polygonal tile types,determine whether they can tile the plane.

Question. Is the tiling problem decidable?

Answer. No. There is no computational procedure that correctlysolves this problem.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 55: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computable numbers

Turing introduces the concept of computable numbers.

He defines that a real number is computable, when there is acomputational procedure to enumerate the decimal digits of thenumber.

3.14159265358979323846264338327950288419 · · ·

He proceeds to develop the theory of computable real numbers.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 56: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computable numbers

Turing introduces the concept of computable numbers.

He defines that a real number is computable, when there is acomputational procedure to enumerate the decimal digits of thenumber.

3.14159265358979323846264338327950288419 · · ·

He proceeds to develop the theory of computable real numbers.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 57: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Computable numbers

Turing introduces the concept of computable numbers.

He defines that a real number is computable, when there is acomputational procedure to enumerate the decimal digits of thenumber.

3.14159265358979323846264338327950288419 · · ·

He proceeds to develop the theory of computable real numbers.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 58: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic

Consider the ordinary arithmetic operations a + b = c.

0.111111111111 . . .

+ 0.222222222222 . . .

0.333333333333 . . .

We would like to compute the sum of two given numbers.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 59: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic

Consider the ordinary arithmetic operations a + b = c.

0.111111111111 . . .

+ 0.222222222222 . . .

0.333333333333 . . .

We would like to compute the sum of two given numbers.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 60: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic is more difficult than you expect!But hang on. Consider the following case of a + b.

0.333333333333 . . .

+ 0.666666666666 . . .

0.999999999999 . . .

We can start writing down the answer 0.99999 . . ., but thesedigits will be wrong if we ever find a carry term, since then theanswer should be 1.000000 . . .

But 1.0000000 . . . will be wrong if we ever find a digit place withsum less than 9.

It seems that we cannot start to give the digits of a + b, giventhe initial digits of a and b.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 61: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic is more difficult than you expect!But hang on. Consider the following case of a + b.

0.333333333333 . . .

+ 0.666666666666 . . .

0.999999999999 . . .

We can start writing down the answer 0.99999 . . ., but thesedigits will be wrong if we ever find a carry term, since then theanswer should be 1.000000 . . .

But 1.0000000 . . . will be wrong if we ever find a digit place withsum less than 9.

It seems that we cannot start to give the digits of a + b, giventhe initial digits of a and b.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 62: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic is more difficult than you expect!But hang on. Consider the following case of a + b.

0.333333333333 . . .

+ 0.666666666666 . . .

0.999999999999 . . .

We can start writing down the answer 0.99999 . . ., but thesedigits will be wrong if we ever find a carry term, since then theanswer should be 1.000000 . . .

But 1.0000000 . . . will be wrong if we ever find a digit place withsum less than 9.

It seems that we cannot start to give the digits of a + b, giventhe initial digits of a and b.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 63: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic on computable numbers

This is actually a fundamental problem.

There is no computable procedure to compute the digits ofa + b, given programs for computing the digits of a and bseparately.

In this sense, ordinary arithmetic is not a computable operationwith the digits-conception of computable number.

But if one modifies Turing’s concept slightly, however, theneverything works great!

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 64: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic on computable numbers

This is actually a fundamental problem.

There is no computable procedure to compute the digits ofa + b, given programs for computing the digits of a and bseparately.

In this sense, ordinary arithmetic is not a computable operationwith the digits-conception of computable number.

But if one modifies Turing’s concept slightly, however, theneverything works great!

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 65: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic on computable numbers

This is actually a fundamental problem.

There is no computable procedure to compute the digits ofa + b, given programs for computing the digits of a and bseparately.

In this sense, ordinary arithmetic is not a computable operationwith the digits-conception of computable number.

But if one modifies Turing’s concept slightly, however, theneverything works great!

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 66: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Arithmetic on computable numbers

This is actually a fundamental problem.

There is no computable procedure to compute the digits ofa + b, given programs for computing the digits of a and bseparately.

In this sense, ordinary arithmetic is not a computable operationwith the digits-conception of computable number.

But if one modifies Turing’s concept slightly, however, theneverything works great!

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 67: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

A solution

Namely, logicians today define that a computable real numberis a program that computes rational approximations to a realnumber, as accurately as desired.

As approximations, 0.999999999 and 1.00000000 are veryclose, even though their digits are totally different.

With this modified concept, all the usual operations arecomputable.

a + b ab sin(x) ex

Turing’s computable real number idea turns into the robustsubject known as computable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 68: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

A solution

Namely, logicians today define that a computable real numberis a program that computes rational approximations to a realnumber, as accurately as desired.

As approximations, 0.999999999 and 1.00000000 are veryclose, even though their digits are totally different.

With this modified concept, all the usual operations arecomputable.

a + b ab sin(x) ex

Turing’s computable real number idea turns into the robustsubject known as computable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 69: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.

One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 70: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.

Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 71: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.

Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 72: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.

Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 73: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.

Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 74: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.

Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 75: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.

But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 76: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Summary

Alan Turing’s 1936 paper, “On computable numbers. . . ”

Written while he was a student at Cambridge.One of the most important papers ever written.Introduced fundamental ideas on computability, layingfoundation for the contemporary computer era.Established the existence of universal computers.Revealed the undecidability phenomenon.Introduced concept of computable numbers.Yet, there is a flaw in that account.But a modified conception leads to the subject ofcomputable analysis.

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford

Page 77: Alan Turing s theory of computation

Introduction Computability Decidability Computable numbers

Thank you.

Slides and articles available on http://jdh.hamkins.org.

Joel David HamkinsOxford University

Oxford Cambridge Club London 2019 Joel David Hamkins, Oxford