Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
0
7.1
About the operations studied in computability logic
Logical operators in computability logic 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, to the
definitions of which the present section is devoted: the propositional --- more precisely,
constant-game --- connectives
, , , ⊓, ⊔, , , ,
(together with the defined impication-style connectives , , ) and the quantifiers
, , , , ⊓, ⊔.
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 computability logic (the fragment that deals only with predicates = elementary games).
And each of the classically-shaped operations, when restricted to elementary games,
turns out to be can be virtually the same as the corresponding operator of classical logic.
For instance, 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.
7.2.a
Negation
For a run , by we mean the “negative image” of (green and red interchanged).
A A
0 1 0 1
0 1 0 1 0 1 0 1
7.2.b
Negation
For a run , by we mean the “negative image” of (green and red interchanged).
Chess Chess=
7.2.b
Negation
For a run , by we mean the “negative image” of (green and red interchanged).
Chess Chess=
7.2.b
Negation
For a run , by we mean the “negative image” of (green and red interchanged).
Chess Chess=
7.2.b
Negation
For a run , by we mean the “negative image” of (green and red interchanged).
Chess Chess=
7.3
The double negation principle holds
A = A
A
7.3
The double negation principle holds
A = A
7.3
The double negation principle holds
A = A
7.3
The double negation principle holds
A = A
7.3
The double negation principle holds
A = A
7.4
Choice conjunction ⊓ and disjunction ⊔
Choice conjunction ⊓
0 1
A0 ⊓ A1
A0 A1
Choice disjunction ⊔
0 1
A0 ⊔ A1
A0 A1
7.5
Choice universal quantifier ⊓ and existential quantifier ⊔
Choice universal quantifier ⊓ ⊓xA(x)= A(0) ⊓ A(1) ⊓ A(2) ⊓ ...
0 1 2
...
A(0) A(1) A(2)
...
A(0) A(1) A(2)
7.6
Representing the problem of computing a function
A
0 1 2
...
0 1 2 3 ... 0 1 2 3 ... 0 1 2 3 ...
0 1 2
...
0 1 2 3 ... 0 1 2 3 ... 0 1 2 3 ...
1A
0 1 2 3 ...
1A
0 1 2 3 ...
1,2A
⊤
0 1
⊥
...
⊥
0 1 2 ... 0 1 2 ...
0 1 2 3 4 5 ...
0 1 0 1 0 1 0 1 0 1 0 1
⊓x(p(x) ⊔ p(x))
7.8
Representing the problem of deciding a predicate
Position:
⊓x(Even(x) ⊔ Even(x))
0 1 2 3 4 5 ...
0 1 0 1 0 1 0 1 0 1 0 1
7.8
Representing the problem of deciding a predicate
Position:
⊓x(Even(x) ⊔ Even(x))
0 1 2 3 4 5 ...
0 1 0 1 0 1 0 1 0 1 0 1
Making move 4 means asking the machine the question “Is 4 even?”
7.8
Representing the problem of deciding a predicate
Position:
⊓x(Even(x) ⊔ Even(x))
4 Even(4)⊔Even(4)
0 1
Making move 4 means asking the machine the question “Is 4 even?”
This move brings the game down to Even(4) ⊔ Even(4), in the sense that
4 ⊓x(Even(x)⊔Even(x)) = Even(4)⊔Even(4)
7.8
Representing the problem of deciding a predicate
Position:
⊓x(Even(x) ⊔ Even(x))
4 Even(4)⊔Even(4)
0 1
Making move 4 means asking the machine the question “Is 4 even?”
This move brings the game down to Even(4) ⊔ Even(4), in the sense that
4 ⊓x(Even(x)⊔Even(x)) = Even(4)⊔Even(4)
4 Even(4)⊔Even(4)
4,1
Even(4)
Making move 4 means asking the machine the question “Is 4 even?”
This move brings the game down to Even(4) ⊔ Even(4), in the sense that
4 ⊓x(Even(x)⊔Even(x)) = Even(4)⊔Even(4)
This move brings the game down to Even(4), in the sense that
1 Even(4)⊔Even(4) = Even(4) ( =⊤)
The play hits ⊤, so the machine is the winner.
7.8
Representing the problem of deciding a predicate
Position:
⊓x(Even(x) ⊔ Even(x))
4 Even(4)⊔Even(4)
Even(4)
4,0
Making move 4 means asking the machine the question “Is 4 even?”
This move brings the game down to Even(4) ⊔ Even(4), in the sense that
4 ⊓x(Even(x)⊔Even(x)) = Even(4)⊔Even(4)
This move brings the game down to Even(4), in the sense that
1 Even(4)⊔Even(4) = Even(4) ( =⊤)
The machine would have lost if it had made move 0 (answered “No”) instead.
7.9
Formal definitions
Definition 7.2.
(a) The game A0⊓A1 is defined by:
• LreA0⊓A1 = {} {i, | i{0,1}, LreAi}.
• WneA0⊓A1 =⊤; WneA0⊓A1 i, =WneAi.
(b) The game A0⊔A1 is defined by:
• LreA0⊔A1 = {} {i, | i{0,1}, LreAi}.
• WneA0⊔A1 =⊥; WneA0⊔A1 i, =WneAi.
(c) The game ⊓xA(x) is defined by:
• Lre⊓xA(x) = {} {c, | c{0,1,2,...}, LreA(c)}.
• Wne⊓xA(x) =⊤; Wne⊓xA(x) c, =WneA(c) .
(A ⊓ B) = = A ⊔ B
B⊓A
7.11
The constructive character of choice operations
As noted in Episode 1, computability logic revises traditional logic through replacing
truth by computability. And computability of a problem means existence of a machine
(= algorithmic strategy) that wins the corresponding game.
Correspondingly, while classical logic defines validity as being “always true”,
computability logic understands it as being “always computable”.
The operators of classical logic are not constructive. Consider, for example,
xy(y=f(x)).
It is true in the classical sense as long as f is a (total) function. Yet its truth has little (if
any) practical import, as “y” merely signifies existence of y, without implying that
such a y can actually be found. And, indeed, if f is an incomputable function such as
Kolmogorov complexity, there is no method for finding y.
On the other hand, the choice operations of computability logic are constructive.
Computability (“truth”) of
⊓x⊔y(y=f(x))
means more than just existence of y; it means the possibility to actually find (compute,
construct) a corresponding y for every x.
7.12
Failure of the principle of the excluded middle
Similarly, let H(x) be the predicate “Turing machine x halts on input 0”. Consider
x(H(x)H(x)).
It is true in classical logic, yet not in a constructive sense. Its truth means that, for
every x, either H(x) or H(x) is true, but it does not imply existence of an actual way
to tell which of these two is true after all.
And such a way does not really exist, as the halting problem is undecidable. This
means that
⊓x(H(x)⊔H(x))
is not computable.
⊓x(H(x)⊔H(x)) ⊔ ⊓x(H(x)⊔H(x))
7.13
Chess ⊔ Chess: a really hard game
To win this game means to choose between playing white or black, and then win the
chosen game.
No human and no modern computer can handle this task with a full guarantee of
success. Most probably, no future machines can succeed either, even though Chess is a
finite game and, theoretically, there should be an algorithmic winning strategy here
(excluding the possibility of draw outcomes, of course; they can be considered wins for
the black player, for example).