Download presentation
Presentation is loading. Please wait.
Published byAnnika Kähkönen Modified over 5 years ago
1
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
2
⊓ ⊔ ⊓ ⊔ 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.
3
Terms, atoms, formulas and sentences
12.2 Terms are defined inductively as follows: All variables are terms. All constants are terms. If t1,…,tn (n0) 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 (n0) 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.
4
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 (1in) 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.
5
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.
6
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”.
7
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 xyz(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”.
8
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 ⊩ EF, then ⊩ F (iii) If ⊪ E and ⊪ EF, then ⊪ F
9
Other closure theorems
12.8 Theorem 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))
10
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 ⊪ EF, 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
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.