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

Slides:



Advertisements
Similar presentations
Artificial Intelligence
Advertisements

ARTIFICIAL INTELLIGENCE [INTELLIGENT AGENTS PARADIGM] Professor Janis Grundspenkis Riga Technical University Faculty of Computer Science and Information.
L41 Lecture 2: Predicates and Quantifiers.. L42 Agenda Predicates and Quantifiers –Existential Quantifier  –Universal Quantifier 
1 Semantic Description of Programming languages. 2 Static versus Dynamic Semantics n Static Semantics represents legal forms of programs that cannot be.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
CSE115/ENGR160 Discrete Mathematics 02/07/12
Inference and Resolution for Problem Solving
From Chapter 4 Formal Specification using Z David Lightfoot
LEARNING FROM OBSERVATIONS Yılmaz KILIÇASLAN. Definition Learning takes place as the agent observes its interactions with the world and its own decision-making.
Logical Agents Chapter 7 Feb 26, Knowledge and Reasoning Knowledge of action outcome enables problem solving –a reflex agent can only find way from.
First Order Logic. This Lecture Last time we talked about propositional logic, a logic on simple statements. This time we will talk about first order.
Parallel operations Episode 8 0 Parallel conjunction and disjunction Free versus strict games The law of the excluded middle for parallel disjunction.
PSPACE-Completeness Section 8.3 Giorgi Japaridze Theory of Computability.
Mathematical Structures A collection of objects with operations defined on them and the accompanying properties form a mathematical structure or system.
Reduction Episode 9 0 The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization.
DECIDABILITY OF PRESBURGER ARITHMETIC USING FINITE AUTOMATA Presented by : Shubha Jain Reference : Paper by Alexandre Boudet and Hubert Comon.
Computability Logic 4-Hour lecture given at Manipal University January.
1 Inference Rules and Proofs (Z); Program Specification and Verification Inference Rules and Proofs (Z); Program Specification and Verification.
Complexity and G ö del Incomplete theorem 電機三 B 劉峰豪.
Logic CL4 Episode 16 0 The language of CL4 The rules of CL4 CL4 as a conservative extension of classical logic The soundness and completeness of CL4 The.
Pattern-directed inference systems
Advanced Topics in Propositional Logic Chapter 17 Language, Proof and Logic.
Slide 1 Propositional Definite Clause Logic: Syntax, Semantics and Bottom-up Proofs Jim Little UBC CS 322 – CSP October 20, 2014.
0 What logic is or should be Propositions Boolean operations The language of classical propositional logic Interpretation and truth Validity (tautologicity)
Course Overview and Road Map Computability and Logic.
Chapter 1, Part II: Predicate Logic With Question/Answer Animations.
Copyright © Curt Hill Quantifiers. Copyright © Curt Hill Introduction What we have seen is called propositional logic It includes.
Propositional Calculus CS 270: Mathematical Foundations of Computer Science Jeremy Johnson.
Hazırlayan DISCRETE COMPUTATIONAL STRUCTURES Propositional Logic PROF. DR. YUSUF OYSAL.
Great Theoretical Ideas in Computer Science.
Copyright © Cengage Learning. All rights reserved.
1 Introduction to Abstract Mathematics Chapter 2: The Logic of Quantified Statements. Predicate Calculus Instructor: Hayk Melikya 2.3.
Great Theoretical Ideas in Computer Science.
Naïve Set Theory. Basic Definitions Naïve set theory is the non-axiomatic treatment of set theory. In the axiomatic treatment, which we will only allude.
Chapter 2 Logic 2.1 Statements 2.2 The Negation of a Statement 2.3 The Disjunction and Conjunction of Statements 2.4 The Implication 2.5 More on Implications.
0 Propositional logic versus first-order (predicate) logic The universe of discourse Constants, variables, terms and valuations Predicates as generalized.
1 Introduction to Abstract Mathematics Predicate Logic Instructor: Hayk Melikya Purpose of Section: To introduce predicate logic (or.
A two-hour tour of computability logic January 8, 2008 Giorgi Japaridze.
First Order Logic Lecture 3: Sep 13 (chapter 2 of the book)
NP-completeness Section 7.4 Giorgi Japaridze Theory of Computability.
Predicate Logic One step stronger than propositional logic Copyright © Curt Hill.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
Presented by: Belgi Amir Seminar in Distributed Algorithms Designing correct concurrent algorithms Spring 2013.
Logical Agents Chapter 7. Outline Knowledge-based agents Propositional (Boolean) logic Equivalence, validity, satisfiability Inference rules and theorem.
The language and formal semantics of computability logic Episode 14 0 The formal language Interpretations Definitions of validity and uniform validity.
Interactive computability Episode 13 0 Hard-play machines (HPMs) Easy-play machines (EPMs) Definition of interactive computability The interactive version.
Overview of the theory of computation Episode 3 0 Turing machines The traditional concepts of computability, decidability and recursive enumerability.
PREDICATES AND QUANTIFIERS COSC-1321 Discrete Structures 1.
Lecture 041 Predicate Calculus Learning outcomes Students are able to: 1. Evaluate predicate 2. Translate predicate into human language and vice versa.
The Church-Turing Thesis Chapter Are We Done? FSM  PDA  Turing machine Is this the end of the line? There are still problems we cannot solve:
Chapter 1 Logic and proofs
Chapter 7. Propositional and Predicate Logic
Logic for Knowledge Representation
Computability and Complexity
Strong alternatives to weak arithmetics
Great Theoretical Ideas in Computer Science
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Games Episode 6 Games as models of interactive computational tasks
How Hard Can It Be?.
Negation and choice operations
Classical propositional logic (quick review)
Chapter 7. Propositional and Predicate Logic
Predicates and Quantifiers
This Lecture Substitution model
Blind quantifiers Episode 10 Unistructurality
Episode 3 Constant games
Episode 6 Parallel operations Parallel conjunction and disjunction
The language and formal semantics of computability logic
Episode 7 Reduction The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization.
Presentation transcript:

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

2 Outline Computability Logic (CoL) is a mathematical platform and a long-term program for rebuilding 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 computabilitylogic

2 Outline Computability Logic (CoL) is a mathematical platform and a long-term program for rebuilding 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 computability logic

2 Outline Computability Logic (CoL) is a mathematical platform and a long-term program for rebuilding 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 computability logic

2 Outline Computability Logic (CoL) is a mathematical platform and a long-term program for rebuilding 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 computability logic

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

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

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

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

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, i.e. f(a)=a 2 … a: f(a): 3

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

Polynomial equation: Has integral roots? 2x – = 0 2x – 9 = 0 x  x – 25 = 0 x  x  x – x  x = 0 x  x – y  y – z  z = 0 x  x – 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 …

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

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”)

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”)

Classical logic  (NOT, Negation).  (AND, Conjunction).  (OR, Disjunction).  (IF…THEN, Implication). A  B can be defined as  A  B  (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”

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

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

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 wins Such a machine is said to be a winning strategy, or solution. 8

algorithmic arbitrary Behavior: (strategy) MACHINE (Green, Computer, Proponent, Robot, Agent) ENVIRONMENT (Red, User, Opponent, Nature, Devil) good guy bad guy The players 9

          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

Computational problems in the traditional sense, i.e. functions, can be seen as the following types of depth-2 games: Input (Question) Output (Answer) Why is the root green? Why are the 2 nd -level nodes red? Why does each group of 3 rd -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 games 11

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 x 2 -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 Departing from functionality 12

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 Departing from the input-output paradigm 13

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 Departing from the depth-2 restriction 14

It also makes sense to consider “dialogues” of lengths less than Games of depth 0 are said to be elementary. There are exactly two elementary games. We identify them with “true” and “false”. Elementary games 15

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.

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 computableand how computability Computability games (problems, tasks) infinitely many games. CoL is a (conservative) generalization/refinement of classical logic. 16

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 A  B, and the latter is exactly the classical conjunction of A and B understood as an (elementary) game.   The operators of CoL 17 Quantifiers: Negation:  Conjunctions and disjunctions: Recurrences and corecurrences: Implications: 

Chess  Chess= Negation b a cdef G b a cdef GG Negation  is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa. 18

Chess  Chess=Chess Negation  is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa. Negation b a cdef G 18 b a cdef GG

Chess  Chess= Chess Negation b a cdef G Negation  is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa. 18 b a cdef GG

Chess  Chess= Chess Negation b a cdef G Negation  is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa. 18 b a cdef GG

Chess  Chess= Chess Negation b a cdef G Negation  is a role switch operation: Machine’s moves and wins become Environment’s moves and wins, and vice versa. 18 b a cdef GG

Choice conjunction ⊓ A0A0 A1A1 A 0 ⊓ A 1 01 Choice disjunction ⊔ A0A0 A1A1 A 0 ⊔ A 1 01 Choice conjunction and disjunction 19

Choice universal quantifier ⊓ A(0) 0 1 A(1)A(2)... 2 ⊓ xA(x) Choice existential quantifier ⊔ A(0) 01 A(1)A(2)... 2 = A(0) ⊓ A(1) ⊓ A(2) ⊓... ⊔ xA(x) = A(0) ⊔ A(1 ) ⊔ A(2) ⊔... Choice quantifiers 20

This game can be written as ⊓ x ⊔ y (y=x+1) The problem of computing a function 21

This game can be written as ⊓ x ⊔ y (y=x+1) The problem of computing a function 21

⊔ y (y=2+1) The problem of computing a function 21

⊔ y (y=2+1) The problem of computing a function 21

3=2+1 The problem of computing a function 21

4=2+1 The problem of computing a function 21

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 predicate 22

The problem of deciding a predicate 22 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.

Parallel operators 23 A  B, A  B --- parallel plays of A and B. To win a parallel need to win in components conjunction both of the disjunction one of the Parallel conjunction  and disjunction  A  B = def  A  B

  Law of excluded middle Chess ⊔  Chess Chess   Chess 24

  Law of excluded middle Chess ⊔  Chess Chess   Chess 24

  Law of excluded middle Chess ⊔  Chess Chess   Chess 24

  Law of excluded middle Chess ⊔  Chess Chess   Chess 24

  Law of excluded middle Chess ⊔  Chess Chess   Chess 24

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

Reduction 26 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? Jim

Logical Consequence in CoL 27 We say that F is a logical consequence of E 1,…,E n iff E 1  …  E n 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 E 1,…,E n whose solutions are already known. THEOREM: If F is a logical consequence of E 1,…,E n and the latter have algorithmic solutions, then so does the former; moreover, a solution for F can be automatically extracted from the solutions of E 1,…, E n. The intuitive meaning of “F is a logical consequence of E 1,…,E n ” is that F is reducible to E 1,…,E n in a uniform, interpretation-independent (“logical”) way.

Peano Axioms 1.  x  (0=x’) 2.  x  y (x’=y’  x=y) 3.  x (x+0=x) 4.  x  y ( x+y’=(x+y)’ ) 5.  x (x  0=0) 6.  x  y ( x  y’=(x  y)+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)

29 The utility of CLA CLA is not only sound, but also “practically complete”: If a problem is not provable in 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?  x  y  z (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) ).

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.

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: