57
Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Embed Size (px)

Citation preview

Page 1: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Giorgi JaparidzeVillanova University

Computability, Logic, and

Computability Logic

Outstanding Faculty Research Award lecture

April 21, 2015

1

Page 2: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 OutlineComputability Logic (CoL) is a mathematical platform and a long-term program forrebuilding logic into a formal theory of computability, in the same sense as traditional(classical) logic is a formal theory of truth.

First outlined in: G.Japaridze, “Introduction to Computability Logic”, Annals of Pure and Applied Logic 123 (2003), pp. 1-99.

computability logic

Page 3: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 OutlineComputability Logic (CoL) is a mathematical platform and a long-term program forrebuilding logic into a formal theory of computability, in the same sense as traditional(classical) logic is a formal theory of truth.

First outlined in: G.Japaridze, “Introduction to Computability Logic”, Annals of Pure and Applied Logic 123 (2003), pp. 1-99.

computability logic

Page 4: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 OutlineComputability Logic (CoL) is a mathematical platform and a long-term program forrebuilding logic into a formal theory of computability, in the same sense as traditional(classical) logic is a formal theory of truth.

First outlined in: G.Japaridze, “Introduction to Computability Logic”, Annals of Pure and Applied Logic 123 (2003), pp. 1-99.

computability logic

Page 5: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 OutlineComputability Logic (CoL) is a mathematical platform and a long-term program forrebuilding logic into a formal theory of computability, in the same sense as traditional(classical) logic is a formal theory of truth.

First outlined in: G.Japaridze, “Introduction to Computability Logic”, Annals of Pure and Applied Logic 123 (2003), pp. 1-99.

computability logic

Page 6: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

3

Page 7: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

3

Page 8: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Traditionally, a computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

3

Page 9: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Traditionally, a computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

3

Page 10: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Traditionally, a computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

A function (mapping) f is an assignment of a unique value f(a) to each object a of the universe of discourse, such as, for instance,

0 0

1 1

2 4

3 9

4 16

5 25

i.e. f(a)=a2

a: f(a):

3

Page 11: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

What is computability?

Traditionally, a computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

Effective means mechanical, i.e. algorithmic, i.e. doable by a machine (computer).

Computability of a function f means existence of a machine which computes f, i.e. which, for any input a, returns the output f(a).

3

Page 12: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Polynomial equation: Has integral roots?

2x – 31 + 1 = 0

2x – 9 = 0

xx – 25 = 0

xxx – xx = 0

xx – yy – zz = 0

xx – 2 = 0

YES (x=15)

NO

YES (x=5)

YES (x=1)

YES (x=5, y=4, z=3)

NO

E.g., the problem of existence of integral roots in polynomial equations:

Not all functions are computable!4

Page 13: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Traditionally, the pursuit of logic is to provide a systematic answer to the question

“What is (always) true?”

ALL humans are mortal

IF ALL humans are mortal AND Socrates is a human THEN Socrates is mortal

What is logic?

true

logically true (“always true”, “valid”)

5

Page 14: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Traditionally, the pursuit of logic is to provide a systematic answer to the question

“What is (always) true?”

What is logic?5

ALL grumbers are clipsy

IF ALL grumbers are clipsy AND molic is a grumber THEN molic is clipsy

true?

logically true (“always true”, “valid”)

Page 15: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Traditionally, the pursuit of logic is to provide a systematic answer to the question

“What is (always) true?”

What is logic?

Logical constants (operators): ALL, IF…THEN, AND

Logical variables: human, mortal, Socrates

5

ALL humans are mortal

IF ALL humans are mortal AND Socrates is a human THEN Socrates is mortal

true

logically true (“always true”, “valid”)

Page 16: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Classical logic

(NOT, Negation).

(AND, Conjunction).

(OR, Disjunction).

(IF…THEN, Implication). AB can be defined as AB (FOR ALL, Universal quantifier).

(EXISTS, Existential quantifier).

Language (operators):

6

There are strict (formal, machine-verifiable) methods for proving that a given sentence is logically true, or whether it logically follows from (is a logical consequence of) a given set of other sentences.

“Manageability”

Page 17: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

There are only two propositions: (true,⊤,1) and (false,⊥,0).

Classical logic sees no difference between two true or two false propositions, so “2+2=4” = “snow is white” = ; “2+2=5” = “snow is black” = ,

just like set theory sees no difference between {x | x is a number with x>x} and {x | x is an elephant that can fly}.

Propositions The pursuit of classical logic is to provide a systematic answer to the question “What is (always) true?”.

In this sense, classical logic is a formal theory of truth.

Truth is a property of propositions (statements, sentences).

(Predicates are nothing but “propositions with variables”, and this informal talk does not terminologically differentiate between predicates and propositions).

7

Page 18: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Computability revisited

A computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

Effective means mechanical, i.e. algorithmic, i.e. doable by a machine (computer).

Computability of a function means existence of a machine which computes it.

8

Page 19: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Computability revisited

A computational problem is understood as a function (to be computed).

Computability is the ability to solve a problem (“computational problem”) in an effective manner.

Effective means mechanical, i.e. algorithmic, i.e. doable by a machine (computer).

Computability of a function means existence of a machine which computes it.

game won

game

winsSuch a machine is said to be a winning strategy, or solution.

8

Page 20: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

algorithmic arbitrary Behavior: (strategy)

MACHINE(Green, Computer, Proponent, Robot, Agent)

ENVIRONMENT (Red, User, Opponent, Nature, Devil)

good guy bad guy

The players9

Page 21: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Edges stand for moves, with their color indicating who moves.Nodes stand for legal positions, i.e., (legal) finite runs.

This game has the following 16 legal runs: , , , , ,, ,, ,, ,, ,, ,, ,,, ,,, ,,, ,,, ,,, ,,

Structure indicates what runs (sequences of colored moves) are possible, i.e., legal.Content indicates, for each legal run, the player who is considered the winner.

The color of each node indicates the winner in the corresponding position.

Which of the runs are won by the machine?

Game=(Structure, Content)10

Page 22: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Computational problems in the traditional sense, i.e. functions, can be seen as the following types of depth-2 games:

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

Input (Question)

Output(Answer)

• Why is the root green?

• Why are the 2nd-level nodes red?

• Why does each group of 3rd-level nodes have exactly one green node?

• What particular function is this game about?

It corresponds to the situation where there was no input. The machine has nothing to answer for, so it wins. They correspond to situations where there was an input but no output was generated by the machine. So the machine loses. Because a function has exactly one (“correct”) value for each argument.

The successor function: f(n)=n+1.

Traditional computational problems as games11

Page 23: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Why don’t we get rid of the “one green node per sibling group” restriction for the third-level nodes. Many natural problems, such as the problem of finding a prime integer between n and 2n, or finding an integral root of x2-2n=0, may have more than one as well as less than one solution. That is, there can be more than one as well as less than one “right” output on a given input n.

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

Departing from functionality12

Page 24: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

And why not further get rid of any remaining restrictions on the colors of whatever-level nodes and whatever-level arcs. One can easily think of natural situations where, say, some inputs do not obligate the machine to generate an output and thus the corresponding second-level nodes should be green. An example would be the case when the machine is computing a partially-defined function f and receives an input n on which f is undefined.

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

1

0 3

Departing from the input-output paradigm13

Page 25: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Permitting longer-than-2 or even infinitely long branches allows us to capture problems with arbitrarily high degrees of interactivity and arbitrarily complex interaction protocols. The task performed by a network server is an example of an infinite dialogue between the server and its environment --- the collection of clients, or let us just say the rest of the network.

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

1

0 3

...

0

8 3 0

0 1 25 0

0

Departing from the depth-2 restriction14

Page 26: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

It also makes sense to consider “dialogues” of lengths less than 2.

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

1

0 3

...

0

8 3 0

0 1 25 0

0

Games of depth 0 are said to be elementary. There are exactly two elementary games. We identify them with “true” and “false”.

Elementary games15

Page 27: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

It also makes sense to consider “dialogues” of lengths less than 2.

Games of depth 0 are said to be elementary. There are exactly two elementary games. We identify them with “true” and “false”:

= “Snow is white” = “2+2=4”“Snow is black” = “2+2=5” =

12

Elementary games

Proposition = Elementary game

Thus, propositions are special, simplest, cases of games --- games with no moves, automatically won by the machine if true and lost if false.

15

Correspondingly, truth is a special case of computability --- computability restricted to propositions.

Page 28: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Logic revisited

There are only two propositions: (true,⊤,1) and (false,⊥,0).

The pursuit of classical logic is to provide a systematic answer to the question “What is (always) true?”.

In this sense, classical logic is a formal theory of truth.

Truth is a property of propositions (statements, sentences).

computability

computable

and how

computability computability

Computability games (problems, tasks)

infinitely many games.

CoL is a (conservative) generalization/refinement of classical logic.

16

Page 29: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Logical operators in CoL stand for operations on games. There is an open-ended pool of operations of potential interest, and which of those to study may depend on particular needs and taste. Yet, there is a core collection of the most basic and natural game operations:

Among these we see all operators of classical logic, and our choice of the classical notation for them is no accident. Classical logic is nothing but the elementary fragment of CoL (the fragment dealing only with elementary games). And each of the classically-shaped game operations, when applied to elementary games, naturally turns out to be virtually the same as the corresponding operator of classical logic. E.g., if A and B are elementary games, then so is AB, and the latter is exactly the classical conjunction of A and B understood as an (elementary) game.

The operators of CoL17

Quantifiers:

Negation:

Conjunctions and disjunctions:

Recurrences and corecurrences:

Implications:

Page 30: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Chess Chess=

Negation

ba

c d e f

G

ba

c d e f

G

Negation is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa.

18

Page 31: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Chess Chess= Chess

Negation is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa.

Negation

ba

c d e f

G

18

ba

c d e f

G

Page 32: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Chess Chess=Chess

Negation

ba

c d e f

G

Negation is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa.

18

ba

c d e f

G

Page 33: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Chess Chess=

Chess

Negation

ba

c d e f

G

Negation is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa.

18

ba

c d e f

G

Page 34: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Chess Chess=

Chess

Negation

ba

c d e f

G

Negation is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa.

18

ba

c d e f

G

Page 35: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Choice conjunction ⊓

A0 A1

A0 ⊓ A1

0 1

Choice disjunction ⊔

A0 A1

A0 ⊔ A1

0 1

Choice conjunction and disjunction19

Page 36: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Choice universal quantifier ⊓

A(0)

0 1

A(1) A(2)

. . .2

⊓xA(x)

Choice existential quantifier ⊔

A(0)

0 1

A(1) A(2)

. . .2

= A(0) ⊓ A(1) ⊓ A(2) ⊓ ...

⊔xA(x)= A(0) ⊔ A(1) ⊔ A(2) ⊔ ...

Choice quantifiers20

Page 37: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

This game can be written as ⊓x⊔y (y=x+1)

The problem of computing a function21

Page 38: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

0 1 2 ...

1 20 3 ... 1 20 3 ...1 20 3 ...

This game can be written as ⊓x⊔y (y=x+1)

The problem of computing a function21

Page 39: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

1 20 3 ...

⊔y (y=2+1)

The problem of computing a function21

Page 40: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

1 20 3 ...

⊔y (y=2+1)

The problem of computing a function21

Page 41: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

3=2+1

The problem of computing a function21

Page 42: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

4=2+1

The problem of computing a function21

Page 43: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 ...

0 1 0 1

10

0 1 0 1 0 1 0 1

3 4 5

This game is about deciding what predicate? Even(x)

How can it be written?⊓x(Even(x) ⊔ Even(x))

Generally, the problem of deciding a predicate p(x) can be written as

⊓x(p(x) ⊔ p(x))

The problem of deciding a predicate22

Page 44: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

2 ...

0 1 0 1

10

0 1 0 1 0 1 0 1

3 4 5

The problem of deciding a predicate22

The language of CoL allows us to systematically (in a standardized and convenient way) express/capture an infinite variety of computational problems, only some of which may otherwise have established names (and ad hoc descriptions) in the literature.

Page 45: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Parallel operators23

AB, AB --- parallel plays of A and B.

To win a parallel need to win in componentsconjunction both of the disjunction one of the

Parallel conjunction and disjunction

AB =def AB

Page 46: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Law of excluded middle

Chess ⊔ Chess

Chess Chess

24

Page 47: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Law of excluded middle

Chess ⊔ Chess

Chess Chess

24

Page 48: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Law of excluded middle

Chess ⊔ Chess

Chess Chess

24

Page 49: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Law of excluded middle

Chess ⊔ Chess

Chess Chess

24

Page 50: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Law of excluded middle

Chess ⊔ Chess

Chess Chess

24

Page 51: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Blind quantifies: , 25

xA(x) is a game where, in order to win, the machine has to play in such a way that it wins the game A(x) for every possible (yet unknown) value of x.

xA(x) is similar, only, here it is sufficient to win A(x) for just one value of x.

x (Even(x) ⊔ Odd(x)) is unwinnable

⊓x (Even(x) ⊔ Odd(x)) is easily won

Page 52: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Reduction26

Q P is a game such that, in order to win, the machine needs to win in P as long as the environment wins --- perhaps repeatedly --- in Q, where the roles of the two players are interchanged. The intuitive meaning of such a play is reducing P to Q.

THESIS: A problem P is algorithmically reducible to a problem Q (according to our broadest intuition of reduction) iff the problem Q P has an algorithmic solution.

Reducing the “paternal grandfather” problem to the “father” problem:

⊓x⊔y (y is x’s father) ⊓x⊔y (y is x’s paternal grandfather)

Who is Tom’s paternal grandfather?Who is Tom’s father? Bob

Who is Bob’s father? JimJim

Page 53: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Logical Consequence in CoL27

We say that F is a logical consequence of E1,…,En iff E1… En F is always computable.

The “manageability” (axiomatization, mechanization) of logical consequence has been established for ever more expressive fragments of CoL, including the

(, , , , , , , , , ) fragment in which CLA is built (next slide).

Such “manageability” results make CoL a systematic problem-solving tool.

Namely, in order to find an algorithmic solution for a problem F, it is sufficient to establish its being a logical consequence of some problems E1,…,En whose solutions are already known.

THEOREM: If F is a logical consequence of E1,…,En and the latter have algorithmic solutions, then so does the former; moreover, a solution for F can be automatically extracted from the solutions of E1,…, En.

The intuitive meaning of “F is a logical consequence of E1,…,En” is that F is reducible to E1,…,En in a uniform, interpretation-independent (“logical”) way.

Page 54: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

Peano Axioms

1. x (0=x’) 2. xy (x’=y’ x=y)3. x (x+0=x)

4. xy (x+y’=(x+y)’)5. x (x0=0)

6. xy (xy’=(xy)+x)7. F(0) x (F(x) F(x’)) xF(x) for each formula F not containing , , , 8. x y (y=x’)

Extra-Peano Axiom

The only nonlogical rule of inference is Constructive Induction:

F(0) x (F(x)F(x’)) x F(x)

28

Additional functions and relations can be introduced through defining axioms

CLA: the number theory based on CoL

And the only logical rule of inference is CoL’s Logical Consequence.

Language , , , , , , , , , ; =; 0, ’ ,+, (a’ means a+1)

Page 55: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

29 The utility of CLA

CLA is not only sound, but also “practically complete”: If a problem is not provablein CLA, then one is unlikely to ever find an algorithmic solution for it: such an algorithm either does not exist, or its correctness cannot be verified based on our (Peano’s) standard knowledge of natural numbers and their properties.

THEOREM: If a problem (formula) F is provable in CLA, then F is computable. A computing algorithm (solution) for F can be automatically extracted from F’s proof.

The following formulas are provable in CLA. What does this imply?

xyz (z=x+y)

x (y (x=y+y) y (x=y+y))

x y z (z=x+y)

x (y (x=y+y) y (x=y+y))

Addition is a total (always defined) function

Addition is a computable function

Every number is either even or not even

“Evenness” is a decidable predicate

Generally, if you are looking for an algorithm computing a function f(x), it would be

sufficient to just find a proof of x y(y=f(x)). Similarly, a deciding algorithm for

a predicate p(x) can be obtained from a proof of x(p(x) p(x)).

Page 56: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

30 CLA as a programming language

CLA and similar CoL-based axiomatic theories can be seen as “very high-level” or “very declarative” programming languages, where programming simply means proof-searching for the target problem.

Among the advantages of this paradigm are:•The notorious program verification problem is FULLY neutralized: a proof from which a program is extracted automatically serves as a (best possible) verification of the correctness of the program.•Each line/formula of such a program/proof is commented in an extreme sense: the formula is its own (best possible) comment. •Proof-search is easier and more intuitive than algorithm-search. Besides, algorithm-search still involves proof-search (of the correctness of the algorithm) anyway.

Using the ever more advanced methods of AI, proof-search itself can be automated. If and when reasonably efficient automatic proof-searchers are developed, CLA and similar systems become declarative programming languages in an extreme sense, where all human “programming” reduces to just specifying the target problem/task for which a program is sought.

Page 57: Giorgi Japaridze Villanova University Computability, Logic, and Computability Logic Outstanding Faculty Research Award lecture April 21, 2015 1

31 Summary

Computability Logic (CoL) is a formal theory of computability in the same sense as classical logic is a formal theory of truth.

The language of CoL presents a convenient and expressive vernacular for specifying an infinite variety of computational problems, old or new, interactive or non-interactive.

The deductive mechanism of CoL allows us to systematically find solutions for new problems from known solutions of old problems.

CoL-based systems can be seen as programming languages where “programming” simply means theorem-proving.

CoL Homepage: http://www.csc.villanova.edu/~japaridz/CL/