Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
a
Teori
a
Appunti del
orso
Prof. Andrea Asperti
Indi
e
1 Numerabilita
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.10
1.11
1.12
1.13
Denizione di numerabilita . . . . . . . . . .
Somma disgiunta . . . . . . . . . . . . . . .
Aggiungere un elemento . . . . . . . . . . .
Finito + numerabile . . . . . . . . . . . . .
Numerabile + numerabile . . . . . . . . . .
Dalla somma al prodotto
artesiano . . . . .
Te
ni
a diagonale . . . . . . . . . . . . . . .
Prodotto
artesiano generalizzato . . . . . .
Unione disgiunta generalizzata . . . . . . . .
Insieme delle parti nite . . . . . . . . . . .
Insiemi di funzioni . . . . . . . . . . . . . .
Funzioni da N a 2 : 2N . . . . . . . . . . .
1.12.1 Dimostrazione per diagonalizzazione
Funzioni da N a N : N N . . . . . . . . . .
2 Cal olabilita
2.1
2.2
2.3
Nozione di Algoritmo . . . . . .
Funzioni primitive ri
orsive . . .
2.2.1 Denizione formale . . .
Predi
ati . . . . . . . . . . . . .
2.3.1 Proprieta . . . . . . . .
2.3.2 Corollario . . . . . . . .
2.3.3 Appli
azioni . . . . . . .
2.4 Il
on
etto di minimo . . . . . .
2.4.1 Minimizzazione limitata
2.5 Pairing . . . . . . . . . . . . . .
2.5.1 Esempi e appli
azioni . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2
2
3
3
3
3
4
5
6
7
8
8
9
10
12
12
13
14
17
18
18
20
20
21
22
23
2.6
2.7
2.8
La storia di f . . . . . . . . . . . . . . . . . . . . . .
Ri
orsione vs Iterazione . . . . . . . . . . . . . . . .
2.7.1 Asserzione . . . . . . . . . . . . . . . . . . . .
S
hema Iterativo . . . . . . . . . . . . . . . . . . . .
2.8.1 Iterazione + Coppie () Ri
orsione Primitiva
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3 La funzione di A kermann
24
24
25
25
26
28
3.1 Denizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 -notazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4 Linguaggi funzionali
4.1
4.2
4.3
4.4
4.5
Denizione . . . . . . . . . . . . . . . . . .
Ri
orsione di ordine superiore . . . . . . .
Osservazioni . . . . . . . . . . . . . . . . .
In
ompletezza del Sistema T . . . . . . . .
Ipotesi di
al
olabilita . . . . . . . . . . .
4.5.1 La Tesi di Chur
h (indimostrabile)
6 Il Teorema di Ri e
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
32
32
35
36
36
37
38
39
39
40
41
41
41
41
42
42
43
43
44
44
45
46
47
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7.1
7.2
7.3
7.4
7.5
7.6
7.7
7.8
Denizioni . . . . . . . . . . . . . . .
Teorema . . . . . . . . . . . . . . . .
7.2.1 Dimostrazione . . . . . . . . .
Teorema . . . . . . . . . . . . . . . .
7.3.1 Dimostrazione . . . . . . . . .
Teorema . . . . . . . . . . . . . . . .
7.4.1 Dimostrazione . . . . . . . . .
7.4.2 Corollario . . . . . . . . . . .
Teorema di
aratterizzazione per r.e.
7.5.1 Dimostrazione . . . . . . . . .
Tutti i r.e. sono ri
orsivi? . . . . . .
Insiemi , Proprieta . . . . . . . . .
Teorema . . . . . . . . . . . . . . . .
7.8.1 Dimostrazione . . . . . . . . .
8 Operazioni insiemisti he
8.1
8.2
8.3
8.4
Intersezione . . . . . . . . .
Unione . . . . . . . . . . . .
Complemetare . . . . . . . .
Immagini e
ontroimmagini
8.4.1 Immagine . . . . . .
8.4.2 Controimmagine . .
.
.
.
.
.
.
9 Insiemi r.e.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
49
49
49
49
49
50
51
51
51
51
53
53
53
53
54
54
54
54
56
56
57
57
58
58
58
60
60
60
60
61
61
61
62
9.3
9.4
9.5
9.6
9.7
10.1 Introduzione . . . . . . .
10.2 Funzionali Cal
olabili . .
10.3 Teorema di Cal
olabilita
10.3.1 Appli
azioni . . .
10.3.2 Osservazione . . .
10.4 Dimostrazione . . . . . .
10.4.1 Monotonia . . . .
10.4.2 Continuita . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
63
63
63
64
65
65
66
67
67
67
69
70
71
71
71
72
72
73
75
76
79
79
79
80
83
83
83
84
84
85
85
86
87
87
87
89
13 Rappresentabilita di funzioni
95
14 Rappresentabilita di relazioni
99
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 99
. 99
. 99
. 100
. 100
. 100
. 100
. 100
. 100
. 101
. 101
. 101
. 101
15.1 Denizioni . . . . . . . . . . . . . . . . . .
15.1.1 In
ompletezza . . . . . . . . . . . .
15.1.2 Inde
idibilita . . . . . . . . . . . .
15.2 Teoremi . . . . . . . . . . . . . . . . . . .
15.2.1 Primo teorema di In
ompletezza . .
15.2.2 Se
ondo teorema di In
ompletezza
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. 102
. 102
. 102
. 102
. 102
. 102
.
.
.
.
.
.
.
.
.
.
.
.
.
95
95
96
96
96
96
96
96
97
97
102
Capitolo 1
Numerabilita
Si danno per gia note le nozioni di insieme,
ardinalita, algebra degli insiemi,
relazioni, appli
azioni (funzioni), e tutte le nozioni relative.
numerabili. Allora
fsurj : N ! A
i
gsurj : N ! B
hsurj
:N !AB
Infatti siano A e B
(
t:
:
h(2x) = f (x)
h(2x + 1) = g (x)
2 = f0; 1g
e
he
N N 2N
1.7 Te
ni
a diagonale
Per rispondere al quesito introdu
iamo un importantissimo strumento di dimostrazione
he prende il nome di te
ni
a diagonale. N N lo si puo rappresentare
ol seguente diagramma:
0
1
2
3
4 i
0 0
1
3
6
10
.
.
.
.
1 2
4
7
11
.
.
.
2 5
8
12
.
.
3 9
13
.
4 14
...
j
In questo modo ries
o a numerare ogni
oppia del prodotto
artesiano.
Inoltre si vengono a formare delle diagonali
on la proprieta
he se i e j sono
rispettivamente l'indi
e di riga e di
olonna di un generi
o elemento della
numerazione, e n il numero della diagonale su
ui tale elemento gia
e, si ha
he
n 1=i+j
vale a dire
he lungo una diagonale la somma delle
oordinate degli elementi
he vi gia
iono e
ostante ed e uguale al numero della diagonale - 1, di
8
La funzione di
oppia
(i + j )2 + i + 3j
f : N N ! N tale
he f (i; j ) =
2
asso
ia ad ogni
oppia di valori in N un valore in N ed e iniettiva e surgettiva. Quindi N N e numerabile.
k volte
Esempio
1
[
N k = f< 1; n > jn 2 Ng
k=1
f< 2; n1; n2 > jni 2 Ng
...
f< k; n1; n2 ; : : : ; nk > jni 2 Ng
i
ui elementi saranno tutti della forma sk = (k; x1 ; x2; : : : ; xk ) per opportuni
k (notiamo
ome la prima
omponente dell'elemento sk denis
e la lunghezza
della sequenza, e la
omponente i + 1-esima,
ioe xi , rappresenta l'i-esimo
arattere della sequenza).
Allora possiamo interpretare il generi
o elemento sk nel seguente modo
sk = (k; x1 ; x2 ; : : : ; xk )
= < k; x1 ; x2; : : : ; xk >k+1
= < k; < x1; x2 ; : : : ; xk >k >2
= < k; < x1; < x2 ; : : : ; < xk 1; xk >| 2>2{z: : : >}2
k
10
Esempio
11
BA
ff j
f : A ! Bg
1.12 Funzioni da N a 2 : 2N
funzione surgettiva N ! P (N )
Dimostrazione
)g
62
)
2 g ()
(assurdo)
13
1.13 Funzioni da
N a N : NN
Osservazione
Esistono numeri reali
he non posso denire (non e
he non sono rius
ito
an
ora a trovare una denizione, non esiste per ragioni di
ardinalita !).
Paradosso
14
Dato un qualunque sottoinsieme di N esiste un minimo in questo sottoinsieme, e lo
hiameremo m. Ma allora la denizione appena data e minore di
100
aratteri ma denis
e m,
ontraddi
endo se stessa...
15
Capitolo 2
Cal
olabilita
Per
al
olabilita si intende l'insieme delle funzioni
al
olabili in modo algoritmi
o (Ad esempio: tra le funzioni denibili, quante e quali sono quelle
al
olabili?)
5.
6.
7.
8.
9.
10.
Fattoriale
fatt(0) = 1
fatt(n + 1) = (n + 1) fatt(n)
17
Fibona i
8
>
<fibo(0) = 1
fibo(1) = 1
>
:fibo(n + 2) = fibo(n) + fibo(n + 1)
Quindi una funzione f e primitiva ri
orsiva se e solo se esiste una sequenza di funzioni f1; f2 ; : : : ; fn = f e dove ogni fi o e una funzione base
oppure e ottenuta da funzioni fj
on j < i mediante
omposizione o ri
orsione
primitiva.
Esempio
f1 (x) = x
f2 (x) = x + 1
f3 (x; y; z ) = y
f4 (x; y; z ) = f(2 (f3 (x; y; z ))
f (0; x) = f1 (x)
f5 = 5
f5 (y + 1; x) = f4 (y; f5 (y; x); x)
f f6 (x) = f5 (f1 (x); f1 (x))
( add(y; x))
Prede essore
=0
= add(x; mult(y; x))
pred(0)
pred(y + 1)
20
=0
=y
Test
Fattoriale
Sottrazione
Confronto
test(0)
test(x)
fatt(0)
fatt(y + 1)
=0
=1
=1
= mult(y + 1; fatt(y))
sub(0; m)
sub(n + 1; m)
=m
= pred(sub(n; m))
(
n=m
sub(n; m) + sub(m; n) = 06= 0 se
se n 6= m
(
zero(0) = 1
zero(y ) = 1 test(y ) )
zero(y + 1) = 0
(
1 se n = m
ompare(n; m) zero(f (n; m)) =
0 altrimenti
f (n; m)
Il onfronto e un tipi o esempio di predi ato, ioe una funzione aratteristi a a valori 0 o 1.
1
C
C
C
A)
CP
2.3.1 Proprieta
X
yz
f (y; x)
2 f. primitive ri orsive
f (y; x)
2 f. primitive ri orsive
Prodotto Limitato
f (z; x)
Y
yz
f (0; x) = f (0; x)
f (z + 1; x) = f (z; x) f (z + 1; x)
Quindi se f e primitiva ri
orsiva, an
he f e f lo sono, per
he
ostruite a partire da f mediante
ostruttori primitivi ri
orsivi (z + 1 lo si puo interpretare
ome su
(z)).
2.3.2 Corollario
I predi ati primitivi ri orsivi sono hiusi rispetto ai onnettivi logi i e rispetto alle quanti azioni logi he limitate.
22
Connettivi
8
P _Q
>
>
< P ^Q
Se P; Q sono predi
ati primitivi ri
orsivi, lo sono an
he: > P ! Q
>
P
>
: ::Q
8zy P (z; x)
9zy P (z; x)
23
Quanti atore 8 :
Quanti atore 9 :
Test di primalita
pr(x)
pr(x) = \x e primo"
2.4 Il on etto di
minimo
P (0) = 1
P (x + 1)=\Il piu pi
olo numero
Per vedere se questa e una funzione primitiva ri
orsiva dobbiamo veri
are
solo
he min lo sia. La ri
er
a del minimo e molto importante nella teoria
della
al
olabilita, per questo introdu
iamo l'operatore di minimizzazione:
y (pr(y ) ^ (y > P (x))
restituis
e il piu pi
olo y per
ui vale il predi
ato tra parentesi.
2.4.1 Minimizzazione limitata
25
Torniamo ora alla numerazione dei numeri primi. Devo rius
ire a trovare
un upper bound alla ri
er
a del minimo, e un limite superiore ragionevolmente stretto per P (x + 1) e dato dal fattoriale di (P (x) + 1), per
he non e
divisibile per i pre
edenti, e quindi o e lui o almeno e piu pi
olo.
Di
onseguenza si ha
he:
(
P (0) =
1
P (x + 1) = (y (P (x) + 1)!) (pr(x) ^ (y > P (x)))
Si puo dimostrare
he il limite dato e primitivo ri
orsivo, pero' dipende non
solo dall'ultimo valore ma da tutti i valori pre
edenti. Quindi verrebbe da
hiedersi se questo limite e formalmente
orretto nel nostro linguaggio, o
meglio se per
al
olarlo mi bastano gli strumenti di questo linguaggio o devo
us
ire da esso. E qui
i viene in aiuto la funzione di
oppia
he abbiamo
introdotto in pre
edenza.
2.5 Pairing
Il
oding del piano e primitivo ri
orsivo. Infatti ad ogni
oppia di interi
possiamo asso
iare un punto ed un
oding univo
o.
Il problema ora e l'esatto inverso: vogliamo estrarre dalla
odi
a della
oppia
le 2
oordinate
he la
ostituis
ono.
Cioe:
(
n + m)2 + n + 3m
fst(< n; m >) = n
< n; m > =
()
snd(< n; m >) = m
2
L'idea e piuttosto sempli
e: fa
io una ri
er
a esaustiva, limitata dalla proprieta alquanto banale ma vera
he le
oordinate di una
oppia sono del
valore del
oding della
oppia. Si ha quindi
he:
fst(p) = x p(9y p(< x; y >= p))
snd(p) = y p(9x p(< x; y >= p))
Essendo il
oding iniettivo, ho
he l'esistenza mi garantis
e l'uni
ita, inoltre
le funzioni siatte sono primitive ri
orsive per tutto
io
he abbiamo visto,
di
onseguenza an
he il pairing e primitivo ri
orsivo.
26
Osservazione
Avendo adesso a disposizione lo strumento per la
odi
a/de
odi
a di
oppie, posso
onsiderare i parametri delle funzioni non piu
ome liste di variabili, ma
ome tuple di interi, e quindi
odi
arle in modo da ri
ondurre
la denizione di funzioni non banalmente primitive ri
orsive a denizioni
formalmente
orrette nel nostro linguaggio.
2.5.1 Esempi e appli
azioni
Fibona
i
fibo non e banalmente primitivo ri
orsivo, poi
he es
e dallo s
hema avendo
nel
orpo della denizione ri
orsiva il valore attuale
he dipende dai pre
edenti due valori della funzione, mentre lo s
hema di ri
orsione a
ede solo
all'ultimo valore.
Allora posso denire una funzione ausiliaria
he in qula
he modo mi
\ri
ordi" gli ultimi due valori, e
hiamare quella inve
e della funzione di
partenza:
fibo'(x) =< fibo(x); fibo(x 1) >
da
ui posso
al
olare
fibo'(0) = < 1; 0 > (ma non
i a
edo mai)
fibo'(x + 1) = < fibo(x + 1); fibo(x) >
< fst(fibo'(x)) + snd(fibo'(x)); fst(fibo'(x)) >
L'idea e
he ad ogni passo la fibo'(x + 1) avra
ome prima
omponente la
somma delle
omponenti della
oppia risultante dalla
hiamata pre
edente
(
ie il valore della su
essione di Fibona
i in x, vale a dire la somma dei
due pre
edenti valori di fibo(x)), e per se
onda
omponente la prima
omponente della
oppia pre
edente. Cosi questa nuova versione di Fibona
i fa
riferimento solo al valore della
hiamata pre
edente, e di
onseguenza non
viola piu le leggi dello s
hema di ri
orsione, infatti:
fibo(n)::=fst(fibo'(n))
e
he quindi e tranquillamente primitiva ri
orsiva.
27
2.6 La storia di f
Ci domandiamo se l'arti
io usato per la su
essione di Fibona
i puo essere
generalizzato ad un numero arbitrario di parametri,
ioe se puo una funzione dipendere da tutti i valori pre
edenti e rimanere primitiva ri
orsiva. La
risposta e senz'altro aermativa, e a tal proposito introdu
iamo la seguente
funzione:
Data una f (y; x) la \storia" di f e
osi denita:
f^(y; x) = < f (0; x); f (1; x); : : : ; f (y; x) >y+1
<< f (0; x); f (1; x) >; : : : >; f (y; x) |>2>2{z: : : >}2
y
f(y)::=
var res = m
for i := 0 to y
res := h ( i , res )
return res
1
...
y
y+1
res
0
...
...
y 1
f (y )
y
h(y; f (y ))
2.7.1 Asserzione
29
() Ri orsione Primitiva
Re
0 h m ! m
Re
y + 1 h m ! h(y; Re
y h m)
on la dierenza
he nell'iterazione si
al
ola il risultato a partire dal pre
edente, mentre nella ri
orsione primitiva si ha un'appli
azione di h al risultato
pre
edente.
Per entrambi i
ostrutti: n; m 2 N e h : N ! N .
30
Osservazione
31
Capitolo 3
La funzione di A
kermann
3.1 Denizione
La seguente funzione
f (0; 0; y )
f (0; x + 1; y )
f (1; 0; y )
f (z + 2; 0; y )
f (z + 1; x + 1; y )
= y
= f (0; x; y) + 1
= 0
= 1
= f (z; f (z + 1; x; y); y)
e nota
ome funzione di A
kermann.
E ben denita, implementabile, terminante (infatti ad ogni passo di
omputazione
'e qual
osa
he de
res
e), ma nonostante la sua apparenza inno
ua
ha una
omplessita mostruosa. Infatti risulta
he
f (0; x; y ) = x + y
f (1; x; y ) = x y
f (2; x; y ) = y x o
y
f (3; x; y ) = y y x volte
In questo
aso vorremmo uno strumento per des
rivere una funzione non per
osa fa, ma per
ome e.
yy
32
3.2 -notazione
Se f : N N ! N e una funzione tale
he x; y 7! x + y, posso sempre
intendere x e y i dati di input e x + y l'output prodotto dalla funzione.
Allora si puo
omprimere sinteti
amente il tutto introdu
endo la notazione
:
xy:x + y
Allora nello studio della funzione di A
kermann:
f (0; x; y ) = xy:x + y
f (1; x; y ) = xy:x y
f (2; x; y ) = Ite x xy:y x 1
f (3; x; y ) = Ite x (Ite x xy:y x 1) 1
In generale, quindi:
f (z + 1; x; y ) = (Ite x x:f (z; x; y ) 1)
ioe itero x volte la funzione del livello pre
edente.
Ovviamente tutto
io non e s
rivibile nel formalismo primitivo ri
orsivo, poi
he la funzione di A
kermann
res
e piu velo
emente di qualsiasi funzione primitiva ri
orsiva. Si puo dimostrare
he una qualsiasi funzione primitiva ri
orsiva e upper-bounded da un'opportuna istanza della funzione di A
kermann,
avendone ssato il livello (z):
(~z fissato)
fpr (y; x) 2 O(fA
k (~z ; u; v ))
E dal momento
he la funzione di A
kermann e eettivamente
al
olabile, le
il formalismo delle funzioni primitive ri
orsive non esprime tutte le funzioni
al
olabili.
Osservazione
...adesso e
< Ite n h g >
8
n2N
>
>
<h : N N ! N
() >m 2 N
>
:Risultato 2 N
8
n2N
>
>
<h : N N ! N N (e un funzionale)
() >g : N N ! N
>
:Risultato : N N ! N
Osservazione
35
Capitolo 4
Linguaggi funzionali
4.1 Denizione
In molti linguaggi,
ompresi molti dei linguaggi di progrmmazione piu diusi
e studiati (C, Pas
al, e
.) non puo essere utilizzata una funzione
on appli
azione parziale dei parametri. Ad esempio, se f (x; y) e la mia funzione,
non posso
hiamarla passandole solo un parametro dal momento
he e stata
denita per avere 2 parametri in ingresso (
ioe non posso
hiamare f (2)).
Ma questo pre
lude una enorme opportunita: non posso
ostruire funzioni
piu
omplesse a partire da funzioni piu sempli
i in modo automati
o.
I linguaggi funzionali inve
e mi permettono tale operazione:
f (x; y ) = x + y
f (x) ,! g (y ) x + y
Da
ui:
f (2) ,! g (y ) 2 + y
Cioe mi aspetto
he la
hiamata parziale ritorni una funzione
he
ompleti
la funzione di partenza, e
he il tutto parta
ol
al
olo solo quando ho tutti
i parametri espli
itati, e l'utilita di un me
anismo del genere puo essere
immediatamente visibile:
f (x; y ) = x + y
Definis
o g (n) Ite n f (2) 0
= 2| + (2 + (2{z + + 0})) : : : )
n
= 2n
36
Abbiamo visto
ome la funzione di A
kermann non sia esprimibile nel Formalismo Primitivo Ri
orsivo, infatti, sebbene basata su strutture iterative, ad
un
erto punto dovevamo iterare un iteratore, e questo sfuggiva alla potenza
espressiva di quel formalismo. E abbiamo an
he notato
ome questo osta
olo potrebbe essere rimosso ammettendo di poter
hiamare una funzione i
ui parametri non siano stati tutti espli
itati in pre
edenza, per poi ottenere
un'altra funzione in output
he si aspetta
he detti parametri vengano forniti
prima di iniziare la sua eettiva
omputazione.
Il problema sostanziale quindi risiede nei tipi
he il mio linguaggio mette a
disposizione, tant'e vero
he il formalismo primitivo ri
orsivo (
he ammetteva
ome uni
o tipo gli interi) si \fermava" non appena in
ontrava un'operazione
di tipo N k ! N .
Ora inve
e voglio denire l'operatore \!"
ome
ostruttore a partire dai
tipi base N (interi) e B (booleani) nel seguente modo:
ostruttori
1. Coppia : se T1 e T2 sono tipi del linguaggio, allora T1 T2 e un
tipo del linguaggio
2. Fre
ia : la funzione T1 ! T2 appartiene al linguaggio
onvenzione: per l'operatore ! assumiamo asso
iativita a destra :
A ! B ! C A ! (B ! C )
ioe f : A ! B ! C e una funzione
he prende in input un valore
di tipo A e restituis
e una funzione di tipo B ! C . Da notare
he
assomiglia molto alla s
rittura (A B ) ! C (in
ui sono
ostretto a
passare due valori, uno di A e uno di B , per ottenere un valore di tipo
C ), solo
he qui posso passare an
he solo il tipo A, e
ome risultato
avro una funzione
he si aspetta B per proseguire nella
omputazione
(e in prati
a l'estensione funzionale vista po
o fa).
Tale s
rittura (notazione
urry-
ata) e
omunque da non
onfondersi
assolutamente
on (A ! B ) ! C . Non sono la stessa
osa.
I termini del mio linguaggio sono un'innita numerabile di variabili per ogni
tipo denito. Le notazioni
he introdu
iamo ora si leggono dall'alto verso il
basso
on senso di impli
azione logi
a (se ... allora):
37
M : T1 N : T2
< M; N > : T1 T2
Somma
x:N
y:N
x+y :N
y : N :x + y : N ! N
x : N :y : N :x + y : N ! N
M : T1 ! T2
N : T1
(MN ) : T2
38
!N
Cioe e s
rittura per \la funzione M appli
ata all'argomento N". Allora si puo
mostrare l'irrilevanza dell'ordine dei parametri passati ad una funzione:
g = x : N :y : N :x + y : N ! N ! N
posso eseguire la seguente operazione:
(gxy) : N
x : N :(gxy )
y : N :x : N :(gxy )
-riduzione:
Se a ade di avere
(x : A:MN )
mi aspetto
he N abbia tipo
orretto:
(x : A:MN ) ! M [N=x
ioe posso sotituire
on N tutte le o
orrenze di x.
4.3 Osservazioni
e il
ostruttore di ri
orsione primitiva ma generalizzato a tipi di ordine
superiore. In questo modo possiamo
al
olare enormemente di piu rispetto
a quanto potevamo fare nel formalismo Fpr , tant'e vero
he possiamo denire tranquillamente la funzione di A
kermann (infatti avendo Re
ho di
onseguenza an
he Ite). Non solo:
\Le funzioni esprimibili nel Sistema T sono tutte e sole le funzioni dimostrabilmente totali nell'aritmeti
a del primo ordine (di Peano)"
Quindi posso esprimere nel Sistema T tutte le funzioni
he ries
o a dimostrare per induzione su predi
ati del primo ordine (e infatti per dimostrare
questo fatto
he Godel introdusse il suo sistema). Ma adesso siamo interessati a sapere se la nostra ri
er
a del sistema perfetto puo fermarsi oppure
se esistono an
ora funzioni non
atturate da un sistema di tale potenza. La
risposta e an
ora una volta no, infatti si puo dimostrare
he il Sistema T non
ries
e ad esprimere tutte le funzioni
al
olabili.
Re
input m)
40
In
ambio del pieno potere espressivo abbiamo un pegno da pagare: dobbiamo in
ludere an
he le funzioni parziali (non ovunque denite), e ammettere
quindi
omputazioni innite! :-(
Capitolo 5
Teoria Assiomati
a della
Cal
olabilita
5.1 Funzioni
al
olabili
La Tesi di Chur
h assi
ura
he non esistono formalismi piu espressivi di
quelli Turing-equivalenti. Quindi se una funzione nen e
al
olabile
on qual
he formalismo Turing-equivalente, allora non e'
al
olabile in nessun altro
formalismo.
Vediamo qual
he sempli
e esempio:
P (x) = x esima
ifra dell'espansione de
imale di .
Intuitivamente e risolvibile algoritmi
amente,
ioe e possibile denire un algoritmo o s
rivere un programma
he risolva la funzione. Di
onseguenza la funzione e
al
olabile
La funzione
8
>
<1 se nell'espansione de
imale di esiste una sequenza
P (x) =
di x o
orrenze del numero 5
>
:0 altrimenti
non e
al
olabile. Infatti non posso sapere se tale sequenza non
esiste, dal momento
he l'espansione de
imale di e innita. Quindi
non saprei mai \dire" 0.
43
Inve
e la funzione
8
>
<1 se nell'espansione de
imale di esiste una sequenza
P (x) =
di x o
orrenze del numero 5
>
:" altrimenti
e
al
olabile.
dove
ym = y1 ; : : : ; ym e zn = z1 ; : : : ; zn
Vediamo il
aso
on m = n = 1:
's(x;y) (z ) $ 'x (y; z )
Questo mi di
e
he dati due parametri posso ssarne uno e lavorare sul
se
ondo, dato
he il teorema SMN mi assi
ura
he esiste la funzione s. In
parti
olare esiste un programma
he la
al
ola, infatti posso denire
s(x; y ) = [z:Px (y; z )
45
5.3 Conseguenze
Se un sistema di funzioni soddisfa il teorema SMN, allora tale sistema e
Turing
ompleto.
A tal proposito si ha un risultato interessante: 9g totale ri
orsiva (
al
olabile) tale
he
'g(x;y) = 'x 'y
L'indi
e della funzione
omposta lo posso
al
olare in modo algoritmi
o a
partire dagli indi
i x e y
'g(x;y) (z ) = 'x('y (z ))
h(x; y; z ) = 'x ('y (z ))
on h
al
olabile per
he denita mediante
omposizione di funzioni
al
olabili ! h e ri
orsiva. Allora esistera un
erto indi
e m tale
he 'm h.
Appli
ando il teorema SMN:
g (x; y ) = s21 (m; x; y )
! 's (m;x;y) (z)
he e
al
olabile totale.
2
1
1 se 'x(y) #
0 se 'x(y) "
Dimostriamo
he e impossibile
al
olare questa funzione (per assurdo).
Supposta g
al
olabile, denis
o
(
1 se g(x; x) = 0
f (x) =
" se g(x; x) = 1
he sara ugualmente
al
olabile dal momento
he dipende da g.
Sia ora
f 'm
g (x; y )
46
1 se g(m; m) = 0
" se g(m; m) = 1
ma appli
ando la denizione di g notiamo
he
(
1 se 'm(m) "
'm (m) =
" se 'm(m) #
il
he e ovviamente assurdo.
'm (m)
5.4.1 Osservazione
Nel problema della terminazione di fatto si e dimostrato
he non puo esiun algoritmo
he
al
oli g, o equivalentemente
he de
ida se un determinato programma termina oppure no. Questo risultato puo essere visto
ome un limite al passaggio della
onos
enza, non potendo des
rivere in modo
algoritmi
o tutto
io
he in realta e possibile fare.
stere
la x-esima funzione totale, e la stessa g e una funzione totale (per
he sono
innite).
Ora mi denis
o un'altra funzione fatta nel seguente modo (e il nostro
argomento diagonale):
h(x) = 'g(x) (x) + 1
he essendo totale avra un
erto indi
e m tale
he h = 'm, e ovviamente un
erto indi
e y0 tale
he g(y0) = m.
Considerimao il valore di h(y0):
=h 'g(y )(y0) + 1 ! 'm (y0) + 1
h(y0 ) =
=g 'g(y ) (y0)
! 'm (y0)
ioe h(y0) = h(y0) + 1 il
he e assurdo (e possibile solo nel
aso h(y0) =",
ma
i siamo
ostruiti h totale a partire da una funzione g supposta totale, di
onseguenza
ade l'ipotesi della totalita di g).
0
5.5.1 Osservazione
Notiamo
he la g e eettivamente
al
olabile: risponde 0 se la x-esima ma
hina di Turing
onverge su input x e diverge se an
he lei diverge, quindi io
la posso lan
iare e aspetto, non de
ido proprio nulla.
49
50
Capitolo 6
Il Teorema di Ri
e
6.1 Proprieta estensionali e intensionali
Consideriamo un indi
e i, il generi
o programma Pi e la funzione
al
olabile
di indi
e i-esimo 'i. Sia A N .
Diremo
he A e estensionale se
8i; j 2 N (i 2 A) ^ ('i = 'j ) ) j 2 A
In prati
a parlando di proprieta estensionali
i riferiamo a
he
osa una funzione
al
ola, e non
i interessiamo a
ome questa funzione e fatta (intensione
della funzione ).
6.1.1 Esempi
6.2 Teorema di Ri
e
Sia A N . Possiamo interpretare l'insieme A
ome un predi
ato sui naturali sempli
emente
onsiderando la sua funzione
aratteristi
a CA. Siamo
interessati a sapere quando CA e
al
olabile:
\Se P e una proprieta estensionale, la sua funzione
aratteristi
a e
al
olabile se e solo se P e banale (o sempre vera o sempre falsa)"
'h(x) (y ) = f (x; y )
'h(x)
#
"
g (a) = 1 se 'x(x)
g (m) = 0 se 'x(x)
#
"
6.3.1 Teorema
ioe
'z (x)
= p(y:(t(z; x; y; ) = 1))
vale a dire
he ogni programma lo posso esprimere
on un uni
o
i
lo while
esterno al
ui interno ho una funzione
al
olabile t, e p mi serve solo per
estrarre il risultato (t e p mi bastano an
he primitive ri
orsive). E' in prati
a
una ri
er
a innita di output su un insieme de
idibile A.
6.4.2 Dimostrazione
Suggerimento : 'x (y ) # non e de
idibile, ma se
onsidero
f< x; y; z > j 'x(y) # in meno di z passi g
o
he e lo stesso
t(z; x; y )
=
1
0
1
0
Prendo
g (x)
x se 'x(x) #
" altrimenti
he e
al
olabile.
Suppongo g(x) = y(f (x; y) = 1)
on f una qual
he funzione
al
olabile
totale. Allora mi si presentano due
asi:
55
56
Capitolo 7
Insiemi Ri
orsivi e
Ri
orsivamente Enumerabili
7.1 Denizioni
Un insieme si di
e ri
orsivo se la sua funzione
aratteristi
a e
al
o-
labile
Un insieme si di
e ri
orsivamente enumerabile (r.e.) se o e vuoto
oppure e il
odominio di una funzione totale
al
olabile (detta funzione
di enumerazione).
7.2 Teorema
Ogni insieme ri
orsivo e an
he r.e.
7.2.1 Dimostrazione
=
57
nx x k
nk x > k
7.3 Teorema
A e ri
orsivo se
7.3.1 Dimostrazione
) ovvia (e dimostrato nel teorema pre
edente)
Dimostro (.
7.4 Teorema
1. A e ri
orsivo se e solo se A = oppure A e r.e. in modo non de
res
ente
2. A e ri
orsivo se e solo se A e nito oppure A e r.e. in modo strettamente
res
ente
7.4.1 Dimostrazione
) dal Teorema pre
edente
58
res ente
algoritmo essenzialmente basato sulla g di prima ma il
ui upperbound sia estendibile a runtime n
he non trova un valore del dominio piu grande del pre
edente (e senz'altro prima o poi termina
per le
onsiderazioni appena fatte). Inoltre la funzione e
omunque non de
res
ente, di
onseguanze se la mia ri
er
a restituis
e un
valore diverso dal su
essore del valore pre
edente
on
ludero
he
tale su
essore non appartiene al dominio della funzione. Quindi
la funzione
aratteristi
a e eettivamente
al
olabile.
7.4.2 Corollario
Ogni insieme ri
orsivamente enumerabile A innito
ontiene almeno un sottoinsieme ri
orsivo innito.
Dimostrazione
7.5.1 Dimostrazione
1)2
Sia A = Cod(fT ), allora 9g : A = Dom(g)
on g parziale
al
olabile:
Se A = allora A = Dom(g)
on g(x) =" 8x (ovunque divergente)
Se A = Cod(f ) allora A = Dom(g)
on g(x) = z(f (z) = x):
{ se x 2 Cod(f ) allora g (x) #
{ se x 62 Cod(f ) allora g (x) "
2)3
Sia A = Dom(gP ), allora 9h : A = Cod(h)
on h parziale
al
olabile:
h(x) = x + 0 g (x)
he diverge se g(x) diverge, e
onverge a x se g(x)
onverge
3)1
Sia A = Cod(hP ), allora A = _ 9f : A = Cod(f )
on f totale
al
olabile:
8
>
se h(x) # in meno di
<z
f (< x; t >) =
t passi e h(x) = z
>
:a~ 2 A altrimenti
Qui si e fatto uso della te
ni
a del dove-tailing (
oda di rondine), in
ui si
lan
ia la
omputazione per un tempo t e se termina ok, altrimenti si aumenta
il tempo di
omputazione.
fx j 'x(x) #g
non e ri
orsivo per
he non esiste al
una funzione
al
olabile
he ne sia funzione
aratteristi
a, ma e r.e., infatti se g(x) = 'x(x) allora K e
odominio di
una funzione
al
olabile parziale. K puo essere enumerato
on dove-tailing.
61
Il suo
omplementare
K
fx j 'x(x) "g
Proprieta
fxjP (x)g
Ri
orsivo
De
idibile
Ri
orsivamente Enumerabile Semide
idibile
7.8 Teorema
Un insieme A e r.e. se e solo se esiste un insieme ri
orsivo B tale
he
A = f x j 9z : < x; z >2 B g
Cioe ogni insieme r.e. lo posso ottenere
ome proiezione esistenziale di
un insieme ri
orsivo.
7.8.1 Dimostrazione
(: B e ri
orsivo, quindi esiste CB
al
olabile totale. Allora denis
o
g (x) = y (CB < x; y >= 1)
A sara
):
63
Capitolo 8
Operazioni insiemisti
he
Siano A e B insiemi ri
orsivamente enumerabili.
8.1 Intersezione
A\B
e r.e.:
A = Dom(f )
h(x) = f (x) g (x) =)
B = Dom(g )
A \ B = Dom(h)
8.2 Unione
A[B
e r.e.:
A = Cod(f )
h(2x) = f (x)
=)
B = Cod(g )
h(2x + 1) = g (x)
8.3 Complemetare
Sia A r.e. e A il suo
omplementare.
Se A e ri
orsivo allora A e r.e.
Se A non e ri
orsivo allora A non e r.e.
64
A [ B = Cod(h)
A = Cod(g ) p: :
f (A) = Cod(g f )
8.4.2 Controimmagine
f 1 (A) e r.e.:
A = Dom(g ) p: :
Infatti
f 1 (A) = Dom(g f )
x 2 Dom(g f ) , g (f (x)) #
65
$ 9z : f (x) = z ^ g(z) #
9z : f (x) = z ^ z 2 A
x 2 f 1 (A)
Capitolo 9
Insiemi r.e.
9.1 Notazione standard
D'ora in poi useremo la s
rittura Wi per indi
are un insieme r.e. di indi
e i
Wi Dom('i )
on 'i parziale
al
olabile.
Si ha quindi un parallelismo
on quanto avveniva per le funzioni
al
olabili:
' : i 7! 'i
=) N ! F unzioni P arziali Cal
olabili
W : i 7! Wi
=) N ! Insiemi Ri
orsivamente Enumerabili
E la nozione di estensionalita diventa:
A e estensionale (interpretando A
ome insieme di indi
i per i Wi ) se e
solo se
(i 2 A ^ Wi = Wj ) ) j 2 A
Per
ui il teorema di Ri
e si appli
a in modo analogo:
\A estensionale e ri
orsivo se e solo se A = oppure A = N "
la
ui dimostrazione e identi
a a quella gia fornita in pre
edenza.
Come gia visto questo teorema si rivela un utile strumento per
apire la
de
idibilita di un
erto problema:
fijWi = f3gg
non e de
idibile, in quanto estensionale ma non banale, e similmente
fijWi e nitog
fijWi e innitog
66
Abbiamo dimostrato la
hiusura dei Wi rispetto alle usuali operazioni insiemisti
he, adesso forniamo un modo eettivo per de
idere l'appartenenza.
\Se f e
al
olabile totale e A e ri
orsivo, allora f 1(A) e ri
orsivo"
Il pro
edimento e eettivo (fa
io f (x) e valuto | e de
idibile)
se f (x) 2 A ! x 2 f 1 (A)
9.2.2 Immagine mediante f
[
i2B
Wi
on B ri orsivo
Si ha il seguente s
hema
2 'i 0
1
2 n
'0 '0 (0) '0(1) '0 (2) '0(n)
'1 '1 (0) '1 (1) '1 (2) '1 (n)
'2 '2 (0) '2(1) '2 (2) '2(n)
...
'n 'n(0) 'n(1) 'n(2) 'n(n)
...
Essendo B ri
orsivo, posso eettivamente dire se un
erto i 2 B (gli asteris
hi
nello s
hema), e devo numerare solo quelli i
ui indi
i stanno in B , solo
67
he non posso spararmi su una sola linea (potrei non terminare mai), allora
si appli
a il dove-tailing sulle 'i rispetto al tempo di ese
uzione (timeout
intensionale). In questo modo enumero tutte le funzioni indi
izzate da B e
di
onseguenza i rispettivi Wi .
9.2.4 Unione ri
orsiva di insiemi ri
orsivi niti
i2B
Di
on B ri orsivo
dove Di sta per insieme ri
orsivo nito. Usiamo questa notazione per
he
possiamo esprimere la funzione di enumerazione esplodendo l'indi
e i se
ondo
la de
odi
a multipla di
oppie introdotta pre
edentemente:
i = < n; x1 ; : : : ; xn >
per
ui
Di = fx1 ; : : : ; xn g
A questo punto
i
hiediamo se la nostra unione sia ri
orsiva. La risposta e
no, e lo dimostriamo mostrando
he K puo essere espresso in quella forma
(sappiamo
he K non e ri
orsivo):
[
K=
Di
on B ri
orsivo
i2B
68
i2Wn~
Wi e r.e.
Wi e r.e.?
per
he
i puo essere sempre uno 0 da qual
he parte (ri
ordo
he i valori
he
puo assumere la generi
a funzione
aratteristi
a C'i (x) possono essere solo 1
o 0).
In generale quindi non so dire proprio nulla
ir
a la semide
idibilita
dell'intersezione di un numero ri
orsivo di insiemi semide
idibili.
69
t2N
Cioe se la proprieta r.e. in questione A e vera per un
erto Wi, allora deve
essere vera per tutti i sovrainsiemi di Wi
9.4.2 2. Continuita o Elementi Finiti
8
>
<Wj e nito
8 i : se Wi 2 A; 9j tale
he >Wj 2 A
:j 2 A
Dimostrazione 1
Dimostrazione 2
1. 'i 'j
2. 'i e nito
Si ha
he
1. e l'in
lusione insiemisti
a dei gra
2. se il grafo asso
iato e nito
Se infatti deniamo grafo Gi asso
iato alla funzione
al
olabile 'i il seguente
insieme
Gi = f< a; b > j b = 'i (a)g
si ha immediatamente
1. sse 8a: 'i (a) #= b ) 'j (a) #= b
ioe la se
onda puo estendere la prima in qual
he punto ove la prima
divergeva
2. sse
overge in un numero nito di punti
Detto questo, i teoremi esposti valgono identi
amente.
ne essarie
ma
non su ienti
per
9.7.1 Teorema
Capitolo 10
Teorema di Cal
olabilita
10.1 Introduzione
Fino ad ora abbiamo ragionato su due livelli spe
i
i: intensionale ed estensionale. Per
hiarir
i meglio le idee:
INTENSIONALE
ESTENSIONALE
'i
programma i-esimo
(
ome
al
olare 'i )
Wi
2.
fg (x + 1)
1
0
se g (x) "
se g (x) #
= " ovunque
I possibili
omportamenti di fg sono due:
0 """" "
oppure
1 """" "
ma se fosse
al
olabile avrei fg estensione totale di g, e so
he non e pro
edimento eettivo. L'idea infatti e
he nel
aso g(x) " dovrei rius
ire
a produrre informazione (1) da una totale assenza di informazione ("),
vale a dire
he in qual
he modo la divergenza di g non mi interessava.
Ma allora non mi interessa nean
he la
onvergenza.
77
3.
0 se g(2x) # ^ g(2x + 1) #
" altrimenti
In questo
aso posso eettivamente
al
olare fg , lan
iando ad esempio
in parallelo due ma
hine, una
he mi
al
ola g(2x) e l'altra
he
al
ola
g (2x + 1). Se entrambe
onvergono (si fermano) di
o 0, altrimenti
divergo,
he e esattamente la denizione di fg . Stesso risultato si ottiene
se si fa dove-tailing simulando la
omputazione step by step alternata
di g(2x) e g(2x + 1). Se una si ferma
ontinuo sull'altra, se si ferma
an
he questa di
o 0 altrimenti
ontinuo.
fg (x)
4.
6.
0 se g(2x) # _ g(2x + 1) #
" altrimenti
Simile al pre
edente, ma mi posso fermare non appena una delle due si
ferma (dell'informazione sull'altra non me ne fa
io piu nulla). Indierente l'utilizzo di dove-tailing o di elaborazione parallela.
fg (x)
5.
8
maxfg (2x); g (2x + 1)g
>
>
<g(2x)
fg (x) =
>
g (2x + 1)
>
:"
se g (2x) # ^ g (2x + 1) #
se g (2x) # ^ g (2x + 1) "
se g (2x) " ^ g (2x + 1) #
se g (2x) " ^ g (2x + 1) "
"
fg (0)
fg (x + 1)
= g(x)
78
se 9x : g (x) "
altrimenti
??
y
PR
f
totale
al
olabile
'
??
y'
PR
on
8
!:
insieme di indi
i (=N )
>
>
<PR : funzioni parziali
al
olabili
>
f:
funzione totale
al
olabile
>
:
: funzionale
F e
al
olabile se rende
ommutativo il diagramma:
F ('i) = 'f (i)
ioe se a livello intensionale lo posso des
rivere in modo algoritmi
o.
Essendo inoltre f estensionale:
'i = 'j =) 'f (i) = F ('i ) = F ('j ) = 'f (j )
PR ha una
hiara struttura topologi
a: l'in
lusione insiemisti
a lo rende
un reti
olo, per
ui avremo funzioni
he sono \sottofunzioni" di altre funzioni.
Da
io si hanno due proprieta:
1. Monotonia
x x0 =) F (x) F (x0 )
2. Continuita
F ([D) = [F (D)
Questo e un risultato molto importante, per
he
i di
e
he
\un pro
edimento algoritmi
o e per sua natura monotono e
ontinuo "
e
he
\se un pro
edimento non e monotono e
ontinuo allora non e algoritmi
o "
F
79
80
8
maxfg (2x); g (2x + 1)g
>
>
<g(2x)
fg (x) =
>
g (2x + 1)
>
:"
Sia
se g (2x) # ^ g (2x + 1) #
se g (2x) # ^ g (2x + 1) "
se g (2x) " ^ g (2x + 1) #
se g (2x) " ^ g (2x + 1) "
g = f< 0; 1 >g
ho he
= f< 0; 1 >g
per
he siamo nel
aso g(2x) # ^ g(2x + 1) "
he restituis
e g(2x) (per
tutti gli altri valori ri
ado in "). Sia ora
g 0 = f< 0; 1 >; < 1; 2 >g
si avra
fg = f< 0; 2 >g
per
he entrambi
onvergono e quindi restituis
o maxfg(2x); g(2x +1)g.
Controllando la monotonia si ha di nuovo
g g 0 ma fg 6 fg
e quindi fg non e
al
olabile.
fg
6.
fg (0)
(
= "
fg (x + 1)
se 9x : g (x) "
altrimenti
= g(x)
In questo
aso la monotonia e rispettata, ma ho dei problemi
on la
ontinuita. Per dimostrarlo pero abbiamo bisogno di al
une denizioni.
81
Denizioni
Ho quindi
he
proprio per
he
fg
fg
6=
[
gfinito g
3< 0; 1 >62
gfinito g
ffg g
0
ffg g
0
10.3.2 Osservazione
10.4 Dimostrazione
10.4.1 Monotonia
A B ma F (A) 6 F (B )
83
e
per
ui si ha
e in modo simmetri
o
F ('j ) = 'f (j )
< a; b >2 F ('i) =) f (i) 2 C
< a; b >62 F ('j ) =) f (j ) 62 C
10.4.2 Continuita
Insiemi diretti
Un insieme D si di
e diretto se
8 a; b 2 D 9
2 D
t: : a e b
Continuita
84
S=
Dfinito S
Dfinito S
A2D
per monotonia.
Adesso posso dimostrare la tesi iniziale,
e
ioe
[
F (S )
F (D)
Dfinito S
Dimostrazione
[
Dfinito S
F (D)
Dfinito S
A2D
86
Capitolo 11
Teorema del punto sso
11.1 Proprieta delle funzioni
ontinue
Nella denizione di
ontinuita vista pre
edentemente, una funzione F : PR !
PR
ontinua gode della seguente proprieta:
11.1.1 Teorema del punto sso
Parto da
Prendo F ()
Prendo F (F ())
Prendo F (F (F ()))
: : : e
osi via.
Per proprieta del vuoto ho
he F (), ed essendo
ontinua e monotona, quindi F () F (F ()). Si
rea una
atena di in
lusioni, in parti
olare
un diretto. Ne prendo il sup:
[ i
S=
F ()
i2W
87
Consideriamo
90
92
Capitolo 12
La
lasse delle funzioni
al
olabili
12.1 Teorema di Godel
La
lasse delle funzioni
al
olabili e la piu pi
ola
lasse di funzioni
he:
ontiene +, *, =, Iin
e
hiusa per
omposizione
e
hiusa per minimizzazione
ove la ri
orsione primitiva non
ompare per
he impli
ita, e in
ui per Iin si
intende l'identita
ome proiezione:
Iin (x1 ; x2 ; : : : ; xn ) = xi
12.1.1 Dimostrazione
Devo provare:
odi
a delle
ostanti numeri
he
funzioni primitive (su
essore, prede
essore, : : : )
ri
orsione primitiva
93
Costante numeri a 0
0
1
se x 6= y
se x = y
Su essore
Esistenza di
8a; 9a : (a; i) = ai
Cer
heremo di ottenere gli ai
ome resti della divisione di un numero
per
dati numeri d0; d1; : : : ; dn:
ai = rm(
; di) !
= qi di + ai ;
on ai < di
Supponiamo
he tutti i di siano primi tra loro, e
osideriamo il loro prodotto
p = d0 d1 d2 dn
Lemma
Dim lemma
= rm(
0; di)
Si ha
he, sottraendo membro a membro
= qi di + ai
0
= qi0 di + ai
0
= (qi qi0 )di + 0
ioe la dierenza e an
ora divisibile per di. Supponiamo
he questo valga per
tutti gli i (e questo l'assurdo). Cio signi
a
he la quantita (
0) e divisibile
per ogni di, ma essendo primi tra loro vale a dire
he tale quantita e divisibile
per il loro prodotto p. Ma
io e assurdo, per
he per ipotesi avevamo
he sia
< p
he
0 < p, e a maggior ragione (
0 ) < p, il
he vuol dire
he non
puo essere (
0) divisibile per p.
vd
Tornando ai resti
inesi, devo trovare dei di tutti primi tra loro, ed e
o
un metodo eettivo:
1 + d 1 + 2d 1 + 3d 1 + (n 1)d
valido per ogni d = s!,
on s n, ma dovendo essere ai < di, il vin
olo si
restringe a s ai .
Usando la
odi
a per
oppie, e avendo di = 1 + (i + 1)d, avro
(a; i) = rm(
; di )
= rm(
; 1 + (i + 1)d)
= rm(fst(a); 1 + (i + 1)snd(a))
Man
a una
osa: rm() e esprimibile nel sistema formale? Devo dimostrare:
hiusura rispetto alle operazioni logi
he
la funzione di pairing e nel sistema
96
Negazione
da ui
0
1
se x 6= 0
se x = 0
Disgiunzione
d(x; y ) = ( (x + y; 0); 0)
=def
(x + y)2 + 3x + y
2
Ho tutto, tranne la divisione. Dimostriamo
he e esprimibile:
f (z ) = z=2
= z div 2
= y:(2y = z _ 2y + 1 = z)
< x; y >=
97
Unpairing
e il gio o e fatto.
fst(z )
98
Capitolo 13
Rappresentabilita di funzioni
13.1 Introduzione
In questo
apitolo parleremo del problema della rappresentabilita di funzioni
al
olabili (totali e non) in sistemi formali dell'aritmeti
a. I presupposti
saranno
Logi
a del prim'ordine
on uguaglianza
un
erto insieme di assiomi
Gli assiomi
he tratteremo saranno molto sempli
i, piu sempli
i di quelli di Peano, e
i serviranno per
odi
are al
une proprieta fondamentali
dell'aritmeti
a. Cio
he ne s
aturira sara l'aritmeti
a di Robinson
13.3 Teoremi
13.3.1 Teorema 1
13.3.3 Teorema
tabile.
Dimostrazione
f (x1 ; : : : ; xn )
def
y:(g (x1; : : : ; xn ; y ) = 0)
=z
102
Capitolo 14
Rappresentabilita di relazioni
14.1 Introduzione
Abbiamo dimostrato nel
apitolo pre
edente
he in ogni sistema formale
onsistente
he estende R (
ioe
ostituito da una assiomatizzazione nita
e
he estende la logi
a del prim'ordine), ogni funzione
al
olabile totale e
fortemente rappresentabile. Ovvero
9'f 2 R ; ` 8y 'f (x1 ; : : : ; xn; y) , y = f (x1 ; : : : ; xn)
(per
onsistente si intende
he in tale sistema formale R sia rappresentabile).
Inoltre vale il vi
eversa. Supponiamo
he f sia una qual
he funzione
debolmente rappresentabile,
ioe
he esista un qual
he 'f tale
he
f (x1 ; : : : ; xn ) = y , ` 'f (x1 ; : : : ; xn ; y )
e supponiamo di essere in uno di questi sistemi formali.
Allora f e
al
olabile
14.2.2 Rappresentabilita
R e rappresentabile
e funzione
aratteristi
a di R se
(
1 se x1 ; : : : ; xn sono in relazione rispetto a R
CR =
0 altrimenti
14.3.2 Denizione 1
14.3.3 Denizione 2
104
rappresentabile.
): Se R e rappresentabile, la CR e rappresentabile, quindi
al
olabile,
quindi R e ri
orsivo.
(Caratterizzazione ulteriore degli insiemi ri
orsivi: sono quelli esprimibili
ome relazioni rappresentabili in F )
(Problemi
on dimostrazione e
-
onsistenza... da
hiedere)
105
Capitolo 15
In
ompletezza e inde
idibilita
15.1 Denizioni
15.1.1 In
ompletezza
15.1.2 Inde
idibilita
15.2 Teoremi
15.2.1 Primo teorema di In
ompletezza
15.2.2 Se
ondo teorema di In
ompletezza
106