Sei sulla pagina 1di 33

Episode 7

Negation and choice


operations
• About the operations studied in computability logic
• Negation
• The double negation principle
• Choice conjunction and disjunction
• Choice quantifiers
• DeMorgan’s laws for choice operations
• The constructive character of choice operations
• Failure of the principle of the excluded middle for choice disjunction

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 AB, 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).

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

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

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

Chess  Chess=
7.2.b
Negation 
For a run , by  we mean the “negative image” of  (green and red interchanged).

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

Chess  Chess= Chess


7.2.b
Negation 
For a run , by  we mean the “negative image” of  (green and red interchanged).

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

Chess  Chess=
7.2.b
Negation 
For a run , by  we mean the “negative image” of  (green and red interchanged).

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

Chess  Chess=
7.2.b
Negation 
For a run , by  we mean the “negative image” of  (green and red interchanged).

Definition 7.1. The game A is defined by:


• LreA = { | LreA}
• WneA  = ⊤ iff WneA  = ⊥

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)

Choice existential quantifier ⊔ ⊔xA(x) =A(0) ⊔ A(1) ⊔ A(2) ⊔ ...


0 1 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 ...

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


One of the legal runs, won by the machine, is 1,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 ...

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


One of the legal runs, won by the machine, is 1,2
7.6
Representing the problem of computing a function

1A

0 1 2 3 ...

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


One of the legal runs, won by the machine, is 1,2
7.6
Representing the problem of computing a function

1A

0 1 2 3 ...

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


One of the legal runs, won by the machine, is 1,2
7.6
Representing the problem of computing a function

1,2A

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


One of the legal runs, won by the machine, is 1,2

Generally, the problem of computing a function f can be written as


⊓y⊔z (z=f(y))
7.7
Another example


0 1


...

0 1 2 ... 0 1 2 ...

0=0+x 1=0+x 2=0+x 0=1+x 1=1+x 2=1+x

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


7.8
Representing the problem of deciding a predicate

0 1 2 3 4 5 ...
0 1 0 1 0 1 0 1 0 1 0 1

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

Making move 1 in this position means answering “Yes.”


7.8
Representing the problem of deciding a predicate
Position:
 ⊓x(Even(x) ⊔ Even(x))

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

Making move 1 in this position means answering “Yes.”

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)

Making move 1 in this position means answering “Yes.”

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) .

(d) 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) .
7.10
DeMorgan’s laws hold

(A ⊓ B) = A ⊔ B A ⊓ B = (A ⊔ B)

(A ⊔ B) = A ⊓ B A ⊔ B = (A ⊓ B)

⊓xA = ⊔xA ⊓xA = ⊔xA

⊔xA = ⊓xA ⊔xA = ⊓xA

(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,
xy(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.

Generally, the principle of the excluded middle: “A OR NOT A”, validated by


classical logic and causing the indignation of the constructivistically-minded, is
not valid in computability logic with OR understood as choice disjunction.
The following is an example of a constant game of the form A⊔A with no
algorithmic solution (why?):

⊓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).

Potrebbero piacerti anche