Sei sulla pagina 1di 9

Teoremi di informatica avanzata

Teorema 1 (Cardinalit dell'insieme delle parti di un insieme nito).

Supponi-

amo che A sia un insieme nito, allora |P(A)| = 2|A| Dimostrazione.


Dimostriamo la propriet dell'enunciato per induzione: nel caso

|A| = 0 si ha chiaramente che P(A) = {} e conseguentemente |P(A)| = 1 = 20 = 2|A| .


Consideriamo la propriet dell'enunciato valida per insiemi di cardinalit

e mostriamola per insiemi di cardinalit

n + 1.

Sia

n + 1 la cardinalit di A,

e sia

B = A \ {a}
Cos costruito, l'insieme

soddisfa l'ipotesi induttiva, segue perci che

|P(B)| =

2|B|

(in quanto ha cardinalit

n).

L'insieme

P(A) a.

costituito dagli insiemi che

includono

e dagli insieme che non includono

Gli insiemi che non includono

sono esattamente

2|B| = 2n ;

gli insiemi che includono

sono quelli di

con

l'aggiunta di

a.

Segue dunque che

|P(A)| = 2|B| + 2|B| = 2n + 2n = 2 (2n ) = 2n+1

Teorema 2.

A un insieme numerabilmente innito esiste una sua enumer-

azione innita.
1

Dimostrazione. () A numerabilmente innito, quindi esiste f : N A che lo


enumera cos denita:

i = 1 f (0) = f (1 1) i = 2 f (1) = f (2 1)
.. .. ..

i = j + 1 f (j) = f ((j + 1) 1)
.. .. ..

Dimostrazione. ()
f :NA
dove

Esiste l'enumerazione innita il

di

A,

quindi si denisce

f (i)

(i + 1)esimo

elemento della lista

E.

Teorema 3.

L'unione nita di insiemi numerabili (cio con un numero innito

numerabile di elementi) numerabile Dimostrazione.


Consideriamo un'enumerazione del seguente tipo

S1 [1] S2 [1] . . . Sn [1] S1 [2] S2 [2] . . . Sn [2]


. . . . . .

S1 [i] S2 [i] . . . Sn [i]


. . . . . .

In generale

Sj [k]

tale che

1 j n j esimo

denota l'insieme di appartenza, insieme.

k =

0, 1, 2, . . .

denota l'elemento del

Teorema 4.

Unioni numerabili di insiemi numerabili sono numerabili


Sia

Dimostrazione.
provare che

{An }nN una famiglia numerabile di insiemi numerabili.

Vogliamo

n=1

An

numerabile, si considera perci il procedimento diagonale

di Cantor (Il primo numero indica l'insieme di appartenenza, il secondo indica la posizione)

dove in gura sono rappresentate le

n=1

An .

Teorema 5.

Se = (cio se consideriamo un alfabeto non vuoto) allora

un insieme numerabilmente innito. Dimostrazione.


Per mostrare ci si procede nel seguente modo:

1) Si considerano inizialmente le stringhe di lunghezza za 1, poi quelle di lunghezza 2 e cos via in

0, poi quelle di lunghez-

2) Le stringhe di lunghezza pari si enumerano utilizzando l'ordine lessicograco

Questa enumerazione innita perch non abbiamo limitazioni sulla lunghezza delle stringhe.

Teorema 6.

Se = allora l'insieme dei linguaggi costruibili a partire da ha

cardinalit innita non numerabile.


3

Dimostrazione.
P( ),
poich

Sia

= ,

l'insieme dei linguaggi costruibili a partire da

come abbiamo visto nel precedente teorema innitamente

numerabile conseguentemente

|P( )|

innita non numberabile.

Teorema 7.

Esiste una enumerazione innita dei seguenti insiemi

a) T M sintatticamente valide b) T M su un alfabeto di input c) T M su un alfabeto di input e un alfabeto del nastro Dimostrazione.
Si consideri come alfabeto di input ordinato come segue

{(, ), a, q, n, 0, 1, comma, , },
quintuple della

questo alfabeto suciente per descrivere le

t upla

della relazione di transizione,

1) enumeriamo lessicogracamente le stringhe

2) per ogni nuova stringa macchina di Turing.

controlliamo che tale stringa sia la codica di una

Per restringere l'enumerazione a simboli di

quan-

do si generano le stringhe si pu controllare che siano utilizzati alfabeti della dimensione opportuna.

Osservazione 1.

1) Esiste un'innit numerabile di macchine di Turing

2) Esiste un'innit non numerabile di macchine di Turing


Una macchina di Turing un modello di calcolo per valutare concretamente gli algoritmi Ora ci si chiede: E' possibile rendere veri tutti i teoremi aermati? E' possibile stabilire quando una proposizione risulta essere un teorema oppure no? La risposta alla prima domanda no e deriva dal

Teorema di incompletezza di Godel


Non esiste un'assiomatizzazione decidibile dell'aritmetica di Peano che sia allo stesso tempo consistente (cio non contraddittoria) e completa. Idea di Godel: partire da un insieme di assiomi o proposizioni che assume vere per derivare la teoria assiomatica dell'aritmetica di Peano Obiettivo: denizione assiomatica completa che permette di derivare proposizioni vere nell'aritmetica di Peano in maniera automatica Limiti dell'idea: anche se si aggiunge un insieme innito numerabile di assiomi (decidibili) non possibile far in modo che da questi conseguano proposizioni vere dell'aritmetica di Peano.

Problema della decisione di Hilbert


1) Esiste un algoritmo che permette di decidere, data una proposizione logica del primo ordine, se

nella

valida?

2) Dato un insieme di assiomi decidono se

A e una sentenza w

esistono degli algoritmi che

implicato da

A? A
e una sentenza

3) Dato un insieme di assiomi decidono se

esistono algoritmi che

pu essere provata a partire da

A?

Per rispondere a tali domande c' bisogno di formalizzare la nozione di algoritmo:

MT

calcolo

Tesi di Church Turing


Tutti i formalismi di calcolo abbastanza potenti da descrivere ci che noi pensiamo come algoritmo sono equivalenti.

Teorema 8.

Il linguaggio H := {< M, w >: M su w si ferma} in SD.


5

Dimostrazione.

Si consideri una macchina di Turing

MH

che semidecide

H,

tale

macchina di Turing in dettaglio fatta nel seguente modo

1) Run

MH

on

< M, w >

2) Accepts.

osservazione: se l'esecuzione di verr mai raggiunto dalla

su

non termine allora il secondo passo non

T M.

Teorema 9.

Il linguaggio H := {< M, w >: M su w si ferma} non in D.


Supponiamo per assurdo che

Dimostrazione.
na di Turing

sia in

D allora esiste una macchi-

MH

che lo decide fatta nel seguente modo

halt(M stringa,w stringa) if <M> la codifica di una macchina di Turing if M su w si ferma allora accetta else rifiuta
deniamo ora una funzione, e tale funzione esiste perch esiste una macchina di Turing che computa

halt,

che prende una sola stringa in input

trouble(x stringa) if halt(x,x) accetta then vai in loop else fermati


Si osserva che si giunge ad un assurdo se si lancia in cui halt accetta...

trouble(< trouble >)

nel caso

Teorema 10.

Se H fosse in D allora ogni linguaggio in SD sarebbe in D


6

Dimostrazione.
in per

Se

fosse in

esisterebbe una

TM O

che lo decide, e poich

SD esiste una T M ML L
a partire dall'oracolo

che lo semidecide, creiamo una procedura di decisione

1. Run O su <M_L,w> 2. If O accepts (cio se <M_L,w> in H) allora 2.1 Run M_L su w 2.2 Se M_L su w accetta (cio se w in L) allora accetta else rifiuta 3. Rifiuta (cio se <M_L,w> non in H)

ma cos facendo abbiamo creato una procedura di decisione per un linguaggio semidecidibile partendo dall'ipotesi assurda che teorema precedente non decidibile.

fosse decidibile, ma

per il

Teorema 11.

Il problema della decisione non decidibile


Se sapessimo determinare quando una macchina di Turing stam-

Dimostrazione.

pa il simbolo 0 sapremmo risolvere il problema della fermata, ma non sappiamo risolvere il problema della fermata per quanto visto nei precedenti teoremi. Costruiamo una formula logica

che risulta essere vera se e soltanto una generica

macchina di Turing stampa il simbolo 0. Se il problema della decisione avesse una soluzione saremmo in grado di valutare la verit di una qualsiasi proposizione ma non esiste una procedura per determinare quando una TM stampa 0, perci non esiste una soluzione al problema della decisione.

Teorema 12.

L'insieme D chiuso sotto complemento


7

Dimostrazione.
do che se

Questo teorema pu essere provato in maniera equivalente mostranallora

LD

L D, ma poich L D wL
e no se

implica che esiste una

TM

che

lo decide e quindi che risponde si se

wL /

allora

anche in

in quanto basta imporre che si ottiene si se

wL /

e un caso no se

w L.

Teorema 13.

L'insieme SD non chiuso sotto complemento


Supponiamo che

Dimostrazione.

SD

sia chiuso sotto complemento, quindi se che semide-

L SD allora L SD, conseguentemente esistono due T M , M, M


cidono rispettivamente

L e L, si costruisca una T M M # che esegua in parallelo M # si ferma e accetta.


Se

M, M

su

w, se M

accetta allora

accetta allora

M#

si ferma e riuta. Cos se in

SD

chiuso sotto complemento allora ogni linguaggio

SD

in

D.

Contraddizione!

Teorema 14.

L D L SD e L SD
Se

Dimostrazione.
Viceversa se

L D

allora poich

D SD

allora

L SD
e

L SD

L SD e L SD allora esistono due macchine M L


e

che semide-

cidono rispettivamente

L,

lanciamole entrambe in parallelo sulla stringa

w,

una delle due eventualmente accetter, quindi

risulter essere decidibile.

Teorema 15.

H non in SD
in

Dimostrazione. H

SD H

e se in

H D.

fosse per assurdo in Assurdo!

SD

allora dal teorema

precedente avremmo che

Teorema 16 (Teorema di completezza di Godel).

Esiste un insieme di regole di

inferenza R tale che, dato un insieme di assiomi A e una proposizione c, esiste


8

una prova di c, che si ottiene da A applicando le regole di inferenza R se e soltanto se c implicata da A.


Teorema 17.

F OLtheorem = {< A, w >: A un insieme decidibile di assiomi nella logica del prim

semidecidibile. Dimostrazione.
la procedura di semidecisione :

proveFOL(A,w)= 1. Enumero lessicograficamente i teoremi corretti

2. Cerco tra i teoremi corretti quelli che servono ad implicare w, vado in halt e
il punto 2. possibile per il teorema di completezza di GODEL.

Teorema 18.

F OLtheorem D Si consideri H < F OLtheorem /

R(<M>)=

1. Da (<M>) costruisco una proposizione F nel linguaggio dell'aritmetica di Peano 2. Sia P un assioma dell'aritmetica di Peano. Restituisci <P,F>

Se l'ORACOLO esiste, C=oracolo(R(<M,w>)) decide H R esiste (come mostrato da Turing) ed corretto <M> in H e M si ferma su . F un teorema dell'aritmetica di Peano. L'oracolo accetta. <M> non in H e M non si ferma su . F non un teorema dell'aritmetica di Peano. Allora l'oracolo riuta Ma non ci sono macchine che decidono H e conseguentemente non esiste l'oracolo.