Note del corso di Calcolabilità e Linguaggi Formali - Lezione 8

Documenti analoghi
Note del corso di Calcolabilità e Linguaggi Formali - Lezione 10

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 7

Ragionamento Automatico Richiami di calcolo dei predicati

Problemi senza soluzione

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 6

LEZIONE 12. Y = f(x) = f( x j,1 f(e j ) = x j,1 A j = AX = µ A (X),

Linguaggio universale, riduzioni, e teorema di Rice. Linguaggio universale, riduzioni, e teorema di Rice

Appunti del Corso Analisi 1

LOGICA MATEMATICA PER INFORMATICA

Logica per la Programmazione

ALGEBRE DI BOOLE. (d) x, y X x y oppure y x.

LEZIONE 30. Se x = 1 si dice che x è un versore. Se poi y = (y 1,..., y n ) R n poniamo. Ricordiamo che vale la cosiddetta disuguaglianza triangolare

DAI NUMERI NATURALI AI NUMERI RAZIONALI

401 PREDICATI RICORSIVI PRIMITIVI

RISOLUZIONE IN LOGICA PROPOSIZIONALE. Giovanna D Agostino Dipartimento di Matemaica e Informatica, Università di Udine

Cenni di programmazione ricorsiva. Appunti per gli studenti di Programmazione I e Laboratorio (corsi A-B)

APPUNTI DI TEORIA DEGLI INSIEMI. L assioma della scelta e il lemma di Zorn Sia {A i } i I

Esercitazioni per il corso di Logica Matematica

Università degli Studi di Udine. 1 Automi e Linguaggi. Prova Scritta di Fondamenti dell Informatica II Alcune Soluzioni

Sviluppi e derivate delle funzioni elementari

11. Misure con segno.

Forme differenziali lineari e loro integrazione

LOGICA DEL PRIMO ORDINE: PROOF SYSTEM. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

Macchine di Turing. Francesco Paoli. Istituzioni di logica, Francesco Paoli (Istituzioni di logica, ) Macchine di Turing 1 / 29

Topologia, continuità, limiti in R n

Informatica Teorica. Appunti della lezione su tesi di Church-Turing e problemi indecidibili

Andrea Asperti. Department of Computer Science, University of Bologna Mura Anteo Zamboni 7, 40127, Bologna, ITALY

LOGICA MATEMATICA PER INFORMATICA (A.A. 12/13)

2. I numeri reali e le funzioni di variabile reale

Argomenti diagonali. Gianluigi Bellin

Logica. Claudio Sacerdoti Coen 09,11/10/ : Relazioni, Funzioni,... Universitá di Bologna. Claudio Sacerdoti Coen

Definizione 1. Una matrice n m a coefficienti in K é una tabella del tipo. ... K m, detto vettore riga i-esimo, ed a im

1 Funzioni reali di una variabile reale

La definizione di Ultrafiltro e la regolarità per partizioni

Linguaggi. Claudio Sacerdoti Coen 29,?/10/ : La struttura dei numeri naturali. Universitá di Bologna

SUCCESSIONI E SERIE NUMERICHE E DI FUNZIONI

I teoremi della funzione inversa e della funzione implicita

Corso di Laurea in Matematica Geometria 2. Esercizi di preparazione allo scritto a.a Topologia

NOTE DI ALGEBRA LINEARE v = a 1 v a n v n, w = b 1 v b n v n

AUTOIMMERSIONI DI ORDINI LINEARI E GRADI DI TURING

Corso di Linguaggi di Programmazione

LOGICA MATEMATICA PER INFORMATICA

LEZIONE 11. s V : V V V (v 1, v 2 ) v 1 + v 2 = s V (v 1, v 2 ), p V : k V V. per cui valgono:

1 Giochi di Ehrenfeucht-Fraissé e Logica del Prim ordine

1 Successioni di funzioni

Teoria degli insiemi

NOTE SULLE FUNZIONI CONVESSE DI UNA VARIABILE REALE

LEZIONE 3. a + b + 2c + e = 1 b + d + g = 0 3b + f + 3g = 2. a b c d e f g

sono i prototipi degli insiemi con 0, 1, 2, 3,... elementi.

Similitudine (ortogonale) e congruenza (ortogonale) di matrici.

1-Forme Differenziali

Riassumiamo le proprietà dei numeri reali da noi utilizzate nel corso di Geometria.

02 - Logica delle dimostrazioni

Alberi: definizioni e dimostrazioni induttive.

Logica per la Programmazione

FUNZIONI. }, oppure la

1 Principio di Induzione

LEZIONE i i 3

SERIE NUMERICHE FAUSTO FERRARI

LOGICA MATEMATICA. Sonia L Innocente. Corso di Laurea. Informatica e Tecnologie/Informatica Industriale

Massimo limite e minimo limite di una funzione

Equivalentemente, le colonne di A sono linearmente indipendenti se e solo se

La tesi di Church-Turing

DIFFERENZIAZIONE. Sia f una funzione reale di variabile reale con dominio un intervallo. Se f è derivabile in un punto x 0, allora: f(x) f(x 0 ) lim

Principio di composizione delle MT

INSIEMI. Se X è un insieme, indichiamo con P(X) l insieme dei sottoinsiemi di X (sono elementi di P(X) anche e X).

Il Teorema di Kakutani

CAPITOLO SECONDO APPLICAZIONI TRA INSIEMI E RELAZIONI DI EQUIVALENZA

Logica proposizionale

Problemi, algoritmi, calcolatore

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Esercitazioni per il corso di Logica Matematica

FUNZIONI TRA INSIEMI. Indice

04 - Logica delle dimostrazioni

Richiami di Matematica. 1. Insiemi, relazioni, funzioni. 2. Cardinalitá degli insiemi infiniti e numerabilitá. 3. Notazione asintotica.

3/10/ Divisibilità e massimo comun divisore

I teoremi di Gödel. Giovanna Corsi. Dicembre Aritmetizzazione. Numeri di Gödel 2. 3 L aritmetica di Robinson 7

Capitolo 1. Gli strumenti. 1.1 Relazioni

Ma il programma in Fig. 8.2 del libro? Stampa hello, world, dato un input n se e solo se l equazione

Corso di Laurea in Matematica Geometria 2. Foglio di esercizi n. 1 a.a Soluzioni

Matematica e Statistica per Scienze Ambientali

Gruppi, Anelli, Campi

i) la somma e il prodotto godano delle proprietà associativa, commutativa e distributiva;

IL TEOREMA FONDAMENTALE DELL ARITMETICA: DIMOSTRAZIONE VELOCE.

ANALISI DI FOURIER. 2πk. è periodica di periodo T. Più precisamente, essendo. T x + 2π = cos. s(x) = s x + T ) T +α. f(x) dx

ALGEBRA I: ASSIOMI DI PEANO E PROPRIETÀ DEI NUMERI NATURALI

A.A CORSO DI ALGEBRA 1. PROFF. P. PIAZZA, E. SPINELLI. SOLUZIONE ESERCIZI FOGLIO 5.

Osservazione 1.1 Si verifica facilmente che esiste un unica relazione d ordine totale su Q che lo renda un campo ordinato.

Note sugli insiemi. Alberto Zanardo. Febbraio 2003

Note sulle funzioni convesse/concave

M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI

Integrale indefinito

1 Relazione di congruenza in Z

Concentriamo la nostra attenzione sull insieme dei numeri razionali Q. In Q sono definite

LEZIONE 2. ( ) a 1 x 1 + a 2 x a n x n = b, ove a j, b R sono fissati.

Appunti sui Codici di Reed Muller. Giovanni Barbarino

Le derivate parziali

COMPLETAMENTO DI SPAZI METRICI

L aritmetica degli insiemi infiniti Parte I

Transcript:

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 8 Alberto Carraro DAIS, Università Ca Foscari Venezia http://www.dsi.unive.it/~acarraro 1 Insiemi e predicati ricorsivi e ricorsivamente enumerabili Ricordiamo che per quanto concerne ciò che diciamo in questo corso, un insieme di numeri naturali non è altro che un predicato unario su N (ovvero una relazione unaria). Definition 1. Sia R N n una relazione n-aria. Diciamo che R è ricorsiva se la sua funzione caratteristica è ricorsiva totale. Ad esempio e N sono insiemi ricorsivi. Non è difficile dimostrare che la µ-ricorsione può essere impiegata come schema aggiuntivo per definire funzioni ricorsive parziali, utilizzando predicati ricorsivi. Più precisamente, se R( x, y) è un predicato ricorsivo, allora la funzione µy.r( x, y) : N n N come segue il minimo y tale che R( x, y) se un tale y esiste µy.r( x, y) = altrimenti è ricorsiva parziale. Definition 2. Sia R N n una relazione n-aria. Diciamo che R è ricorsivamente enumerabile (r.e., in breve) se esiste una funzione ricorsiva parziale n- aria ϕ tale che 1 se R( x) vale ϕ( x) = altrimenti In tal caso chiamiamo ϕ la funzione caratteristica parziale di R e la indichiamo ancora con c R. È chiaro che ogni predicato ricorsivo è anche r.e. Per i predicati ricorsivi valgono le stesse proprietà di chiusura che abbiamo visto valere per i predicati primitivi ricorsivi. Riportiamo qui di seguito un lemma che rende precisa questa affermazione. La sua dimostrazione è assolutamente analoga a quella vista per i predicati primitivi ricorsivi. Lemma 1. Siano R, P N n due predicati ricorsivi. Allora P R, P R, P R e P sono tutti predicati ricorsivi.

2 A. Carraro La discussione riguardante le proprietà di chiusura dei predicati r.e. invece è rimandata a più avanti, poichè richiede argomenti che ancora non abbiamo dato. Theorem 1. Sia P N n un predicato non vuoto. I seguenti enunciati sono equivalenti: (i) P è r.e. (ii) esiste una funzione ricorsiva parziale ϕ : N n N tale che dom(ϕ) = P. (iii) esiste un predicato ricorsivo R N n+1 tale che P ( x) y.r( x, y) (iv) esiste una funzione ricorsiva totale φ : N N tale che ran(φ) = x : P ( x) vale} Proof. Procediamo a dimostrare le varie implicazioni. (i) (ii) Per definizione, basta considerare la funzione caratteristica di P. (ii) (i) Sia ϕ : N n N una funzione ricorsiva parziale tale che dom(ϕ) = P e sia u la funzione costante che vale 1. Allora la funzione u ϕ è la funzione caratteristica parziale di P. (iv) (iii) Sia φ : N n N una funzione ricorsiva totale tale che ran(φ) = x : P ( x) vale}. Allora è chiaro che P ( x) y.φ(y) = x. La conclusione segue perché il predicato R( x, y) := φ(y) = x è ricorsivo. (iii) (iv) Sia R N n+1 un predicato ricorsivo tale che P ( x) y.r( x, y). Poiché P è non vuoto, sia z una tupla fissata in P. Ora definiamo una funzione φ come segue (x) 1,..., (x) n se R((x) 1,..., (x) n+1 ) vale φ(x) = z altrimenti Chiaramente φ è ricorsiva totale e ran(φ) = x : P ( x) vale}. (ii) (iv) Lo dimostreremo più avanti. (iv) (ii) Sia φ : N N una funzione ricorsiva totale tale che ran(φ) = x : P ( x) vale}. Definiamo la funzione ϕ come segue: ϕ( x) = µz.[φ(z) = x ] Allora ϕ è ricorsiva parziale e dom(ϕ) = P. Theorem 2. Un predicato P N n è ricorsivo sse sia P che P sono r.e. Proof. ( ) Se P è ricorsivo allora anche P lo è. Concludiamo per il fatto che ricorsivo implica r.e. ( ) Supponiamo che P e P siano entrambi r.e. Allora per il Teorema 1 esistono due predicati ricorsivi R 1 ed R 2 tali che P ( x) y.r 1 ( x, y) e P ( x) y.r 2 ( x, y) Definiamo una funzione f come segue: f( x) = µy.[r 1 ( x, y) R 2 ( x, y)] Si noti che f è totale e ricorsiva, pertanto il predicato P ( x) := R 1 ( x, f( x)) è ricorsivo. Infine abbiamo che P ( x) P ( x).

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 8 3 2 Enumerazione delle funzioni parziali ricorsive Il simbolo è chiamato uguaglianza di Kleene. Esso si utilizza per indicare l uguaglianza tra funzioni parziali: se f, g sono due funzioni parziali unarie, allora scriviamo f(x) g(x) per intendere che f(x) g(x) ed inoltre f(x) = g(x), qualora entrambe le funzioni siano definite sull input x. Theorem 3 (Forma normale di Kleene). Esiste una funzione primitiva ricorsiva unaria U e una famiglia T k } k N di predicati primitivi ricorsivi tali che per ogni funzione parziale ricorsiva n-aria ϕ esiste un numero e (detto l indice di ϕ) tale che: (i) ϕ( x) y.t n (e, x, y) (ii) ϕ( x) U(µy.T n (e, x, y)) Non daremo la dimostrazione formale del Teorema 3, ma cerchiamo di capirne il significato. L idea della dimostrazione è di associare numeri naturali a funzioni e computazioni in maniera tale che il predicato T n (e, x 1,..., x n, y) valga sse y è il numero di una computazione del valore della funzione il cui codice è e sugli input x 1,..., x n. Avendo ciò, µy.t n (e, x 1,..., x n, y) sceglie in maniera canonica il codice di una di queste computazioni e la funzione U estrarrà il valore dell output dalla codifica. Questo procedimento include molti passaggi, tra cui l aritmetizzazione delle funzioni parziali ricorsive. Un assaggio degli strumenti necessari per far questo si è visto nella dimostrazione del teorema Course of values recursion. Un esempio di codifica delle funzioni è il seguente: Assegnare il codice 0 alla funzione costante con valore 0 Assegnare il codice 1 alla funzione successore Assegnare il codice 2, n, i alla funzione proiezione i-esima su n argomenti Assegnare il codice 3, b 1,..., b m, a alla funzione f( x) = g(h 1 ( x),..., h m ( x)), dove a è il codice di g e ogni b j è il codice di h j Assegnare il codice 4, a, b alla funzione f( x, y) definita per ricorsione primitiva applicata a due funzioni g ed h, i cui codici sono, rispettivamente, a e b Assegnare il codice 5, a alla funzione f( x) definita per µ-ricorsione applicata ad una funzione g il cui codice è a In seguito bisogna sistematizzare e codificare le computazioni e definire la funzione U. Chi fosse interessato può trovare la prova dettagliata nel libro di Odifreddi. Dal Teorema 3 segue che vi è un modo molto conveniente di assegnare almeno un indice ad ogni funzione parziale ricorsiva. Infatti ogni funzione ricorsiva parziale è estensionalemnte uguale ad una della forma U(µy.T n (e, x, y)), per un opportuno numero e, detto l indice di tale funzione. Definition 3. Scriviamo ϕ n e (o e} n ) per indicare la funzione parziale ricorsiva n-aria ϕ n e ( x) e} n ( x) U(µy.T n (e, x, y))

4 A. Carraro Scriviamo ϕ n e,s (o e} n s ) per indicare la funzione parziale ricorsiva n-aria ϕ n e,s( x) e} n ϕ n e ( x) se y < s.t n (e, x, y) s ( x) altrimenti Intuitivamente ϕ n e,s può essere pensata come l approssimazione di ϕ n e ottenuta considerando le computazioni di quest ultima che si protraggono per alpiù un numero finito di passi specificato in qualche modo da s. Il Teorema 3 (Forma normale di Kleene) ci dice che ϕ n e ( x) y.t n (e, x, y) e pertanto il predicato ϕ n e ( x) è r.e. Dalla Definizione 3 inoltre abbiamo che ϕ n e,s( x) y < s.t n (e, x, y) e pertanto il predicato ϕ n e,s( x) è ricorsivo. Useremo questa osservazione più volte in seguito. L idea importante è che, al contrario del caso ϕ n e ( x), quando ϕ n e,s è indefinita su un dato input x (notazione ϕ n e,s( x) ) non è per il fatto che un algoritmo non termini e quindi si ha il modo di accorgersi in maniera effettiva se ϕ n e,s è o meno indefinita su un dato input. Molto importante per il resto del corso è il concetto di enumerazione. Un enumerazione di un insieme A è una funzione suriettiva da N in A. Theorem 4 (Enumerazione di Kleene). La sequenza (ϕ n e ) e N è una enumerazione parziale ricorsiva delle funzioni parziali ricorsive n-arie, nel senso che: (i) per ogni e N, ϕ n e è una funzione parziale ricorsiva n-aria (ii) se ψ è una funzione parziale ricorsiva n-aria, allora esiste un numero e tale che ϕ n e ψ (iii) esiste una funzione parziale ricorsiva n + 1-aria u tale che u(e, x) ϕ n e ( x) Proof. L enunciato segue dal Teorema 3. Infatti basta definire ϕ(e, x) U(µy.T n (e, x, y)). Theorem 5 (Universal partial function). Esiste una funzione parziale ricorsiva binaria ϕ(e, x), detta funzione parziale ricorsiva universale tale che per ogni funzione parziale ricorsiva n-aria ψ esiste un numero e tale che ψ(x 1,..., x n ) u(e, x 1,..., x n ). Proof. Per il Teorema 4 esiste un numero e tale che ψ(x 1,..., x n ) ϕ n e (x 1,..., x n ). Definiamo u(e, x) U(µy.T n (e, x 1,..., x n, y)), dove la tupla (x 1,..., x n ) è tale che x = x 1,..., x n. Allora è evidente che u(e, x 1,..., x n ) ϕ n e (x 1,..., x n ) e questo conclude la dimostrazione. Intuitivamente il Teorema 5 ci dice che la funzione universale genera gli indici di tutte le funzioni parziali ricorsive in ogni numero di variabili. Pertanto la funzione universale è l esatto analogo della macchina di Turing universale. Riprendiamo ora la dimostrazione del Teorema 1, in particolare l implicazione (ii) (iv).

Note del corso di Calcolabilità e Linguaggi Formali - Lezione 8 5 Theorem 6. Sia P N n un predicato non vuoto. L enunciato (ii) implica il (iv): (ii) esiste una funzione ricorsiva parziale ϕ : N n N tale che dom(ϕ) = P. (iv) esiste una funzione ricorsiva totale φ : N N tale che ran(φ) = x : P ( x) vale} Proof. (ii) (iv). Sia ϕ : N n N una funzione ricorsiva parziale tale che dom(ϕ) = P. Per il Teorema di Enumerazione di Kleene esiste un numero e tale che ϕ ϕ e. Sia z una n-upla in P. Definiamo una funzione φ come segue: x se Seq(x) e x = y e ϕ e,s ( y) φ( x, s ) = z altrimenti Allora φ è ricorsiva totale ed inoltre ran(φ) = x : P ( x) vale}. Sia ϕ una funzione parziale n-aria. Il grafico di ϕ è l insieme gr(ϕ) = ( x, y) : ϕ( x) e ϕ( x) = y}. Theorem 7 (del grafico). Sia ϕ una funzione parziale e sia f una funzione totale. (i) ϕ è ricorsiva parziale sse l insieme gr(ϕ) è r.e. (ii) f è ricorsiva sse l insieme gr(f) è ricorsivo. Proof. (i) ( ) Supponiamo ϕ ricorsiva parziale. Sia e un numero tale che ϕ ϕ e. Abbiamo che ( x, z) gr(ϕ) ϕ e ( x) = z U(µy.T n (e, x, y)) = z y.(t n (e, x, y) U(y) = z t<y. T n (e, x, t)) Pertanto gr(ϕ) è r.e. ( ) Supponiamo gr(ϕ) r.e. Sia R un predicato ricorsivo tale che ( x, z) gr(ϕ) y.r( x, z, y). Allora x dom(ϕ) z. y.r( x, z, y). Pertanto ϕ( x) (µt.r( x, (t) 1, (t) 2 )) 1, dimostrando che ϕ è ricorsiva parziale. (ii) ( ) Supponiamo f ricorsiva totale. Allora la funzione caratteristica di gr(f) è la seguente: 1 se f( x) = z c gr(f) ( x, z) = 0 altrimenti Quest ultima è una funzione totale ricorsiva, quindi gr(f) è ricorsivo. ( ) Supponiamo gr(f) ricorsivo. Poicé f è totale, abbiamo che x. z.( x, z) gr(f). Siccome f( x) = µz.[( x, z) gr(f)], è evidente che f è totale e ricorsiva.