The language and formal semantics of computability logic

Slides:



Advertisements
Similar presentations
1 First order theories (Chapter 1, Sections 1.4 – 1.5)
Advertisements

SLD-resolution Introduction Most general unifiers SLD-resolution
Computability and Complexity 9-1 Computability and Complexity Andrei Bulatov Logic Reminder (Cnt’d)
Let remember from the previous lesson what is Knowledge representation
Computability and Complexity 10-1 Computability and Complexity Andrei Bulatov Gödel’s Incompleteness Theorem.
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.
Atomic Sentences Chapter 1 Language, Proof and Logic.
CMPF144 FUNDAMENTALS OF COMPUTING THEORY Module 5: Classical Logic.
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.
0 What logic is or should be Propositions Boolean operations The language of classical propositional logic Interpretation and truth Validity (tautologicity)
© Kenneth C. Louden, Chapter 11 - Functional Programming, Part III: Theory Programming Languages: Principles and Practice, 2nd Ed. Kenneth C. Louden.
1 Finite Model Theory Lecture 3 Ehrenfeucht-Fraisse Games.
0 Propositional logic versus first-order (predicate) logic The universe of discourse Constants, variables, terms and valuations Predicates as generalized.
1 First order theories (Chapter 1, Sections 1.4 – 1.5) From the slides for the book “Decision procedures” by D.Kroening and O.Strichman.
Propositional Logic Rather than jumping right into FOL, we begin with propositional logic A logic involves: §Language (with a syntax) §Semantics §Proof.
Static games Episode 12 0 Some intuitive characterizations of static games Dynamic games Pure computational problems = static games Delays Definition.
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.
Chapter 7. Propositional and Predicate Logic
Logic for Knowledge Representation
Francisco Antonio Doria
Computer Science cpsc322, Lecture 20
Knowledge Representation and Reasoning
Knowledge and reasoning – second part
Advanced Algorithms Analysis and Design
Strong alternatives to weak arithmetics
The Propositional Calculus
LIMITS OF ALGORITHMIC COMPUTATION
EPISTEMIC LOGIC.
Cirquent calculus Episode 15 About cirquent calculus in general
Logics for Data and Knowledge Representation
Copyright © Cengage Learning. All rights reserved.
Alternating tree Automata and Parity games
Negation and choice operations
Copyright © Cengage Learning. All rights reserved.
On Kripke’s Alleged Proof of Church-Turing Thesis
1st-order Predicate Logic (FOL)
Relational Proofs Computational Logic Lecture 8
Announcements Quiz 6 HW7 due Tuesday, October 30
Lecture 10: Query Complexity
Knowledge and reasoning – second part
Back to “Serious” Topics…
MA/CSSE 474 More Math Review Theory of Computation
Classical propositional logic (quick review)
Relational Logic Semantics
Logics for Data and Knowledge Representation
Logical Entailment Computational Logic Lecture 3
Chapter 7. Propositional and Predicate Logic
Copyright © Cengage Learning. All rights reserved.
Herbrand Logic Semantics
Computer Science cpsc322, Lecture 20
This Lecture Substitution model
Propositional Logic CMSC 471 Chapter , 7.7 and Chuck Dyer
Program correctness Axiomatic semantics
Relational Logic Semantics
Blind quantifiers Episode 10 Unistructurality
Copyright © Cengage Learning. All rights reserved.
Episode 6 Parallel operations Parallel conjunction and disjunction
Homework 3 (June 7) Material covered: Slides
Episode 14 Logic CL4 The language of CL4 The rules of CL4
  Homework 6 (June 20) Material covered: Slides
Episode 10 Static games Some intuitive characterizations of static games Dynamic games Pure computational problems = static games Delays Definition of.
Episode 7 Reduction The operation of reduction and the relation of reducibility Examples of reductions The variety of reduction concepts and their systematization.
Representations & Reasoning Systems (RRS) (2.2)
Theory of Computation Lecture 23: Turing Machines III
Interactive computability
Herbrand Logic Semantics
1st-order Predicate Logic (FOL)
Presentation transcript:

The language and formal semantics of computability logic Episode 12 The language and formal semantics of computability logic The formal language Interpretations Validity Logical or nonlogical validity? Computability versus “knowability” Closure under Modus Ponens Other closure theorems Uniform-constructive closure

    ⊓ ⊔     ⊓ ⊔ Base vocabulary 12.1 It is not quite accurate to say “the” language of CoL, because the latter has an open-ended formalism. Yet, in these lecture notes, by “the language of computability logic” we will mean the particular language defined in this section. It builds upon (fully contains and extends) the language of classical first order logic. The operators used are:     ⊓ ⊔     ⊓ ⊔ The variables and constants of the language are those fixed in Episode 4. We also have infinitely many nonlogical function letters, elementary game letters and general game letters, each letter with a fixed arity. There are also thee logical elementary letters: ⊤ (0-ary), ⊥ (0-ary) and = (2-ary). The definitions of free and bound occurrences of variables in expressions are standard, with the only difference that now we have six rather than two quantifiers. We agree that no formula contains both free and bound occurrences of the same variable. We will be exclusively using the lowercase p,q,r,s as metavariables for elementary game letters and the uppercase P,Q,R,S for general game letters.

Terms, atoms, formulas and sentences 12.2 Terms are defined inductively as follows: All variables are terms. All constants are terms. If t1,…,tn (n0) are terms and f is an n-ary function letter, then f(t1,…,tn) is a term. Atoms are defined inductively as follows: ⊤ and ⊥ are atoms. If t1 and t2 are terms, then t1 = t2 is an atom. If t1,…,tn (n0) are terms and L is a nonlogical n-ary game letter, then L(t1,…,tn) is an atom. Formulas are defined inductively as follows: All atoms are formulas. If E is a formula, then so are (E), (E), (E), (E), (E). If E and F are formulas, then so are (E)(F), (E)(F), (E)⊓(F), (E)⊔(F), (E)(F), (E) (F), (E) (F). If E is a formula and x is a variable, then x(E), x(E), ⊓x(E), ⊔x(E), x(E),  x(E) are formulas. Sentences are formulas with no free occurrences of variables. Unnecessary parentheses in terms and formulas will usually be omitted.

An interpretation is a mapping * such that: Interpretations 12.3 An interpretation is a mapping * such that: * sends every n-ary function letter f to an n-ary function f*(var1,…,varn) whose variables are the first n variables of Variables. * sends every nonlogical n-ary game letter L to an n-ary static game L*(var1,…,varn) whose variables are the first n variables of Variables; besides, if the letter L is elementary, then so is the game L*. Such a * is said to be admissible for a formula E iff, whenever E has an occurrence of an atom L(t1,…,tn) in the scope of x or x and one of the terms ti (1in) contains the variable x, L* is unistructural in vari. We extend * to a mapping which sends each term t to a function t* and each formula E for which it is admissible to a game E* as follows: Where c is a constant, c* is cF (cf. Definition 4.12), simply written as c. Where x is a variable, x* is xF (cf. Definition 4.12), simply written as x. Where f is an n-ary function letter and t1,…,tn are terms, (f(t1,…,tn))* is f*(t1*,…,tn*). ⊤* is ⊤, ⊥* is ⊥ and, where t1 and t2 are terms, (t1=t2)* is t1*=t2*. Where L is an n-ary game letter and t1,…,tn are terms, (L(t1,…,tn))* is L*(t1*,…,tn*). * commutes with all logical operators, seeing them as the corresponding game operations: (E)* is (E)*, (E⊓F)* is E*⊓F*, (xE)*= x(E*), etc.

Definition 12.4 We say that a sentence F is: Validity 12.4 Definition 12.4 We say that a sentence F is: a) Logically (or uniformly) valid iff there is an HPM M such that, for every interpretation * admissible for F, M solves F*. Such an M is said to be a logical (or uniform) solution of F. b) Nonlogically (or multiformly) valid iff, for every interpretation * admissible for F, there is an HPM M such that M solves F*. The above concepts extend from sentences to all formulas by identifying each formula F with its ⊓-closure ⊓F, i.e., with ⊓x1…⊓xnF, where x1,…,xn are all free variables of F listed lexicographically. An interpretation * gives meanings to formulas: a formula E is just a string, while E* is a computational problem. Intuitively, a logical solution M for a sentence F is an interpretation-independent winning strategy: the “intended” or “actual” interpretation * is not visible/known to the machine, so M has to play in some standard, uniform way that would be successful for any possible interpretation of F, i.e. any possible meaning of its atoms.

Logical or nonlogical validity? 12.5 Which of our two versions of validity is more important depends on the motivational standpoint. It is nonlogical rather than logical validity that tells us what can be computed in principle. So, a computability-theoretician would focus on nonlogical validity. On the other hand, it is logical rather than nonlogical validity that is of interest in more applied areas such as knowledgebase systems, systems for planning and action, constructive applied theories or declarative programming languages. In this sort of applications we want a logic on which a universal problem-solving machine can be based. Such a machine would or should be able to solve problems represented by logical formulas without any specific knowledge of the meanings of their atoms, i.e. without knowledge of the actual interpretation. The good news is that, for “most” fragments of the language of CoL, it is known or conjectured that the two sorts of validity coincide extensionally: A sentence is logically valid iff it is nonlogically valid. Notable exceptions are sentences containing elementary letters. For instance, where p is a 0-ary elementary letter, p⊔p is valid nonlogically (why?) but not logically (why?). With a focus on nonlogical validity, CoL a logic of computability. With a focus on logical validity, CoL a logic of “knowability”.

Computability versus “knowability” 12.6 A separate episode will be devoted to CoL seen as a logic of knowledge. For now, to get a preliminary feel for the difference between computability and knowability, remember two examples from Episode 7. Reducing the paternal grandmotherhood (奶奶) problem to the conjunction of the fatherhood (爸爸) and motherhood (妈妈) problems: (1) ⊓x⊔y(y=爸爸(x))  ⊓x⊔y(y=妈妈(x))  ⊓x⊔y(y=奶奶(x)) and reducing the acceptance problem to the halting problem: (2) ⊓x⊓y(Halts(x,y)⊔Halts(x,y))  ⊓x⊓y(Accepts(x,y)⊔Accepts(x,y)) The consequent of (1) is a computable problem: after all, there are only finitely many people, and a machine may simply have a table to look up anybody’s paternal grandmother. So, seemingly there was no real need to reduce the consequent of (1) to the antecedent, as the former could be solved directly. Yet, solving it would require some (finite but still) nontrivial nonlogical knowledge. On the other hand, reducing the consequent of (1) to its antecedent does not require any special knowledge other than the axiom xyz(y=爸爸(x)z=妈妈(y)z=奶奶(x)). In contrast, the consequent of (2) cannot be algorithmically solved at all, no matter how much knowledge an agent has. Thus, (2) provides insights into our approach as a logic of computability, while (1) is to give us a feel for it as a logic of “knowability”.

Closure under Modus Ponens 12.7 ⊧ F* means “F* is computable” Notation: ⊩F means “F is nonlogically valid” ⊪F means “F is logically valid” Theorem 12.7 Computability, logical validity and nonlogical validity are closed under all three versions of Modus Ponens. Namely, for any formulas E,F and any interpretation *, where {, , }, we have: (i) If ⊧ E* and ⊧ E*F*, then ⊧ F* (ii) If ⊩ E and ⊩ EF, then ⊩ F (iii) If ⊪ E and ⊪ EF, then ⊪ F

Other closure theorems 12.8 Theorem 12.8 For any formula F, variable x and interpretation *, we have: (i) (ii) (iii) ⊧ F* ⊩ F ⊪ F ⊧ F* ⊩ F ⊪ F ⊧ ⊓xF* ⊩⊓xF ⊪⊓xF ⊧ xF* ⊩xF ⊪xF If ⊧ F*, then If ⊩ F, then If ⊪ F, then On the other hand, unlike classical validity, we do not have closure under the rule “From E conclude xE”. For example, ⊧ Even(x)⊔Odd(x) but ⊭ x(Even(x)⊔Odd(x))

Uniform-constructive closure 12.9 M ⊧ F* means “M computes F*” Notation: M ⊪F means “M is a logical solution for F ” Clauses (i) and (iii) of Theorems 12.7 and 12.8, in fact, hold in a much stronger form stated below. We call closure in this strong sense uniform-constructive closure. Theorem 12.9.a For each {, , }, there is an effective function f: {HPMs} {HPMs}{HPMs} such that, for any formulas E,F, interpretation * and HPMs M, N, we have: (i) If M ⊧ E* and N ⊧ E*F*, then f(M,N) ⊧ F* (iii) If M ⊪ E and N ⊪ EF, then f(M,N) ⊪ F Theorem 12.9.b There are effective functions f1,f2,f3,f4: {HPMs}{HPMs} such that, for any formula F, interpretation * and HPM M, we have: f1(M) ⊧ F* f2(M) ⊧ F* f3(M) ⊧ ⊓xF* f4(M) ⊧ xF* f1(M) ⊪ F f2(M) ⊪ F f3(M) ⊪ ⊓xF f4(M) ⊪ xF (i) If M⊧F*, then (iii) If M⊪F, then