Logica per la Programmazione

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

Logica per la Programmazione

CALCOLO DEL PRIMO ORDINE

Logica per la Programmazione

Logica per la Programmazione

Logica per la Programmazione

Logica proposizionale

Logica per la Programmazione

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

DIMOSTRAZIONI DI TAUTOLOGIE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini, Paolo Mancarella

Esercitazioni per il corso di Logica Matematica

Fondamenti di Informatica 2

Logica. 7: Conseguenza ed equivalenza logica in logica classica proposizionale. Claudio Sacerdoti Coen. Universitá di Bologna

Logica per la Programmazione

CALCOLO PROPOSIZIONALE

LOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI

Logica: materiale didattico

Logica per la Programmazione

DIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI. Corso di Logica per la Programmazione

LOGICA DEL PRIMO ORDINE: MOTIVAZIONI, SINTASSI E INTERPRETAZIONI. Corso di Logica per la Programmazione A.A Andrea Corradini

Prerequisiti Matematici

Ragionamento Automatico Richiami di calcolo dei predicati

Introduzione alla logica

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

DIMOSTRAZIONI E TAUTOLOGIE, IPOTESI NON TAUTOLOGICHE. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

DIMOSTRAZIONE DI IMPLICAZIONI TAUTOLOGICHE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini

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

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

Un introduzione al corso di LOGICA PER LA PROGRAMMAZIONE

LOGICA DEL PRIMO ORDINE CON INSIEMI E INTERVALLI. Corso di Logica per la Programmazione

Teorema 1.1. (Teorema di Compattezza) Sia Γ un insieme di formule di un linguaggio proposizionale.

Logica per la Programmazione

LOGICA PER LA PROGRAMMAZIONE

Fondamenti di Informatica 2, Linguaggi e Complessità : Logica I Parte Lucidi di M.Schaerf e A.Marchetti Spaccamela

NOZIONI DI LOGICA PROPOSIZIONI.

LOGICA MATEMATICA PER INFORMATICA

Logica per la Programmazione

Un po di logica. Christian Ferrari. Laboratorio di matematica

Logica per la Programmazione

Logica proposizionale

Logica proposizionale

Esercizi di logica. Ivan Valbusa 5 dicembre 2012

Esercitazioni per il corso di Logica Matematica

Maiuscole e minuscole

1 Richiami di logica matematica

Semantica proposizionale. Unit 2, Lez 3 e 4 Corso di Logica

C1: L C1 C2: L C2 C: C1 C2

LOGICA MATEMATICA PER INFORMATICA

LOGICA PER LA PROGRAMMAZIONE - a.a Secondo Appello - 11/02/2016 Soluzioni Proposte

Università degli Studi di Milano

Logica: nozioni di base

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17

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

02 - Logica delle dimostrazioni

Elementi di Algebra e Logica Determinare la tavola della verità di ciascuna delle seguenti forme proposizionali:

NOZIONI DI LOGICA. Premessa

Logica proposizionale classica. Studia il comportamento dei connettivi proposizionali quali ( And ) e ( Or )

Rappresentazione della Conoscenza. Lezione 2. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0

Introduzione ad alcuni sistemi di logica modale

METODI MATEMATICI PER L INFORMATICA

04 - Logica delle dimostrazioni

Logica degli enunciati; Operazioni con le proposizioni; Proprietà delle operazioni logiche; Tautologie; Regole di deduzione; Logica dei predicati;

11. Misure con segno.

UNIVERSITÀ DEGLI STUDI LA SAPIENZA CORSO DI STUDI IN INFORMATICA ESERCITAZIONI AL CORSO DI LOGICA MATEMATICA LOGICA PROPOSIZIONALE

ESERCIZI DI ANALISI MATEMATICA 1 FOGLIO 1

Esercitazioni per il corso di Logica Matematica

Cenni di logica e calcolo proposizionale

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

ELEMENTI DI LOGICA PER IL CORSO DI LAUREA IN MATEMATICA. Prof. Giangiacomo Gerla Dipartimento di Matematica ed Informatica. Università di Salerno

Calcoli dei sequenti classici e lineare

LOGICA MATEMATICA. Sonia L Innocente. Corso di Laurea. Informatica e Tecnologie/Informatica Industriale. Argomento 1. Logica proposizionale

Verifica di programmi

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

Una Breve Introduzione alla Logica

La matematica non è un opinione, lo è oppure...?

Marta Capiluppi Dipartimento di Informatica Università di Verona

LA LOGICA DI HOARE. Corso di Logica per la Programmazione A.A. 2010/11 Andrea Corradini, Paolo Mancarella

delta δ mu (mi) µ M iupsilon υ Y eta η H omicron o O psi ψ Ψ 1. Scrivere il proprio nome e cognome in lettere greche.

( x 1 )A 2 1 x2, f1 1 (x 1 ) )

sempre vere sempre false

mio indirizzo 1 Sarò lieto di ricevere commenti o segnalazioni di errori presso il

Precorsi di matematica

401 PREDICATI RICORSIVI PRIMITIVI

Corso di Logica I. Modulo sul Calcolo dei Sequenti. Dispensa Lezione III.

Logica proposizionale

11. Lezione Corso di Logica (prima parte) 13 maggio Maria Emilia Maietti. ricevimento: martedi ore

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

LOGICA MATEMATICA PER INFORMATICA

Teoremi di Incompletezza di Gödel

Calcolo dei sequenti I. Introduzione.

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

1 Calcolo dei predicati del I ordine. Semantica

DI CHE COSA SI OCCUPA LA LOGICA

Registro Lezioni di Algebra lineare del 15 e 16 novembre 2016.

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

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

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

Intelligenza Artificiale I

ISTITUTO TECNICO STATALE COMMERCIALE E PER GEOMETRI A. MARTINI Castelfranco Veneto (TV) Elementi di Logica

Transcript:

Logica del Primo Ordine: Motivazioni, Sintassi e Interpretazioni Logica per la Programmazione Lezione 7 Formule Valide, Conseguenza Logica Proof System per la Logica del Primo Ordine Leggi per i Quantificatori pag. 1

Logica del Primo Ordine: riassunto Sintassi: grammatica libera da contesto (BNF), parametrica rispetto a un alfabeto A = (C, F, V, P) Interpretazione I = (D, α): fissa il significato dei simboli dell alfabeto su un opportuno dominio Semantica: data una interpretazione I = (D, α) ed una formula φ, le regole (S1)-(S9) permettono di calcolare in modo induttivo il valore di verità di φ in I rispetto a ρ, ovvero I ρ (φ). pag. 2

Modelli Sia I un interpretazione e φ una formula chiusa. Se φ è vera in I, diciamo che I è un modello di φ e scriviamo: Se Γ è un insieme di formule, con I = φ I = Γ intendiamo I è un modello di per tutte le formule in Γ Se una formula φ è vera in tutte le interpretazioni si dice che è valida (estensione del concetto di tautologia) e scriviamo =φ Se una formula φ è vera in almeno una interpretazione si dice che è soddisfacibile altrimenti è insoddisfacibile pag. 3

Esempi Formula soddisfacibile: p(a) Basta trovare un interpretazione che la renda vera. Per esempio: I = (D, α), con D = N e α(a) = 44 α(p)(x) = T se x è pari, F altrimenti Formula valida (corrispondono alle tautologie): ( x.p(x) p(x)) Formula insoddisfacibile (corrispondono alle contraddizioni): p(a) p(a) pag. 4

Conseguenza Logica Il concetto di conseguenza logica consente di parametrizzare la validità di una formula φ rispetto a un insieme di formule Γ Diciamo che φ è una conseguenza logica di Γ e scriviamo Γ = φ se e soltanto se φ è vera in tutti i modelli di Γ, ovvero tutte le interpretazioni I che rendono vere tutte le formule in Γ (ovvero I = Γ) rendono vera anche φ (ovvero I = φ) Caso Particolare: se Γ = allora = φ pag. 5

I Sistemi di Dimostrazione (Proof Systems) Dato un insieme di formule, un sistema di dimostrazione (o proof system) è un insieme di Regole di Inferenza Ciascuna Regola di Inferenza consente di derivare una formula (conseguenza) da un insieme di formule dette le (premesse) pag. 6

Una Dimostrazione Una dimostrazione di una formula φ a partire da un insieme di premesse Γ è una sequenza di formule φ 1,..., φ n tale che Ogni formula φ i è un elemento di Γ oppure è ottenuta applicando una regola di inferenza a partire dalle premesse Γ e φ 1,... φ i 1 φ n coincide con φ Scriviamo Γ φ se esiste una dimostrazione di φ a partire da Γ pag. 7

Correttezza e Completezza dei Proof Systems Un proof system è corretto se quando esiste una dimostrazione di una formula φ da un insieme di premesse Γ allora φ è una conseguenza logica di Γ, cioè se Γ φ allora Γ = φ Un proof system è completo se quando una formula φ è una conseguenza logica di un insieme di premesse Γ, allora esiste una dimostrazione di Φ da Γ, cioè se Γ = φ allora Γ φ Non ha senso considerare proof system non corretti!! pag. 8

Calcolo Proposizionale come Proof System Il Calcolo Proposizionale è un proof system sull insieme delle proposizioni Le regole di inferenza sono il principio di sostituzione per le dimostrazioni di equivalenza i principi di sostituzione per le dimostrazioni Il Calcolo Proposizionale è corretto ed anche completo pag. 9

Cosa vedremo del Calcolo del Primo Ordine Rivedremo le Regole di Inferenza del Calcolo Proposizionale in forma più generale (come proof system con premesse) Per i connettivi logici useremo le leggi del CP Estenderemo il proof system alla Logica del Primo Ordine Anche per il primo ordine ci limiteremo alle regole di inferenza che consentono di dimostrare la validità di formule del tipo: φ ψ φ ψ Introdurremo nuove leggi e nuove regole di inferenza per i quantificatori Le regole di inferenza che introdurremo formano un proof system corretto per LPO ma non completo: questo sarebbe impossibile Teorema di Incompletezza di Gödel (1931): nella logica del primo ordine sui naturali, esistono formule vere che non sono dimostrabili pag. 10

Leggi Generali e Ipotesi (1) Anche nel calcolo del primo ordine useremo come leggi generali formule valide (corrispondenti alle tautologie nel calcolo proposizionale) L uso di formule valide garantisce la validità del risultato. Vediamo perché: Sia Γ un insieme di formule valide e φ una formula dimostrabile a partire da Γ: Γ φ se Γ φ allora per la correttezza di, Γ = φ, ovvero φ è vera in ogni modello I di Γ poiché ogni interpretazione I è modello di Γ, φ è vera in ogni interpretazione I quindi è valida, ovvero = φ pag. 11

Leggi Generali e Ipotesi (2) Se in Γ, oltre alle formule valide abbiamo anche altre formule (ipotesi) allora la dimostrazione Γ φ non garantisce la validità di φ, ma il fatto che φ sia una conseguenza logica delle ipotesi ovvero se Γ = Γ 1 Γ 2, dove Γ 1 sono formule valide e Γ 2 sono ipotesi, allora la dimostrazione garantisce che Γ 2 = φ pag. 12

Generalizzazione del Principio di Sostituzione per (P Q) Γ Γ R R[Q/P] Nota: La generalizzazione consiste nel far riferimento ad un insieme di premesse Γ Se P e Q sono logicamente equivalenti nelle premesse Γ, allora il fatto che R e R[Q/P] sono equivalenti è conseguenza logica di Γ pag. 13

Generalizzazione dei Principi di Sostituzione per Dobbiamo estendere il concetto di occorrenza positiva o negativa alle formule quantificate P occorre positivamente in ( x.p) ed in ( x.p) (P Q) Γ P occorre positivamente in R (P Q) Γ Γ R R[Q/P] P occorre negativamente in R Γ R[Q/P] R pag. 14

Esempi ( x.p R) ( x. P) {Ip : P Q} ( x.q R) ( x. P) Corretto perché la prima P occorre positivamente ( x.p R) ( x. P) {Ip : P Q} ( x.q R) ( x. Q) Sbagliato perché la seconda P occorre negativamente pag. 15

Teorema di Deduzione Sappiamo dal CP che per dimostrare che P Q è una tautologia, basta dimostrare Q usando P come ipotesi Ora che abbiamo introdotto le premesse di una dimostrazione, possiamo giustificare questa tecnica con il Teorema di Deduzione: Γ P Q se e solo se Γ, P Q Ovvero per dimostrare una implicazione P Q è possibile costruire una dimostrazione per Q usando sia le leggi generali (formule valide) che P come ipotesi pag. 16

Leggi per i Quantificatori Per il Calcolo Proposizionale, le leggi che abbiamo visto sono tautologie: lo abbiamo dimostrato usando tavole di verità o dimostrazioni di vario formato Per LPO le leggi sono formule valide: φ ψ φ ψ Per convincerci della validità di una legge possiamo usare la definizione di validità, oppure una dimostrazione che usi solo premesse valide Ricordiamo che in una formula con quantificatore come ( x.p) (risp. ( x.p)) la portata di x (risp. x) è la sottoformula P. pag. 17

Leggi per i Quantificatori: (1) (elim- ) ( x.p) P[t/x] dove t è un termine chiuso e P[t/x] è ottenuto da P sostituendo tutte le occorrenze libere di x in P con t Esempi: ( x.pari(x) x > 2 primo(x)) {(elim )} pari(7) 7 > 2 primo(7) ( x.uomo(x) mortale(x)) {(elim )} uomo(socrate) mortale(socrate) pag. 18

Validità della Legge (elim- ) φ = ( x.p) P[t/x] Poiché non abbiamo visto altre leggi, usiamo la definizione di validità: (elim- ) deve essere vera in qualunque interpretazione Per assurdo: sia I = (D, α) tale che I ρ (φ) = F per ρ qualunque Per (S6), I ρ (φ) = F sse I ρ (( x.p)) = T e I ρ (P[t/x]) = F Se I ρ (( x.p)) = T, per (S8) abbiamo: I ρ[d/x] (P) = T per qualunque d in D.... e quindi in particolare I ρ[d/x] (P) = T con d = α ρ (t) Ma allora I ρ (P[t/x]) = T, e abbiamo ottenuto una contraddizione [Abbiamo usato IP[t/x]) ρ = I ρ[d/x] (P), che si può dimostrare per induzione strutturale su t] pag. 19

Leggi per i Quantificatori (2) (intro- ) P[t/x] ( x.p) dove t è un termine chiuso e P[t/x] è ottenuto da P sostituendo tutte le occorrenze libere di x in P con t Esempio: pari(10) 10 > 2 {(intro )} ( x.pari(x) x > 2) Esercizio: Dimostrare la validità di (intro- ) utilizzando la definizione di validità di una formula, come visto per (elim- ). pag. 20

Leggi per i Quantificatori (3) ( x.p) ( x. P) ( x.p) ( x. P) ( x.( y.p)) ( y.( x.p)) ( x.( y.p)) ( y.( x.p)) (De Morgan) (Annidamento) Le seguenti leggi (costante) valgono solo se si assume che il dominio di interpretazione non sia vuoto: ( x.p) P ( x.p) P se x non occorre in P se x non occorre in P Esercizio: Dimostrare la validità delle leggi presentate. pag. 21

Leggi per i Quantificatori (4) ( x.p Q) ( x.p) ( x.q) ( : ) ( x.p Q) ( x.p) ( x.q) ( : ) ( x.p) ( x.q) ( x.p Q) ( : ) ( x.p Q) ( x.p) ( x.q) ( : ) ( x.p Q) ( x.p) Q se x non occorre in Q ( x.p Q) ( x.p) Q se x non occorre in Q (Distrib.) (Distrib.) Esercizio: Dimostrare la validità delle leggi presentate. pag. 22

Altre Leggi per i Quantificatori, da dimostrare Dimostrare la validità delle seguenti formule mostrando come siano dimostrabili a partire dalle leggi viste precedentemente: ( x.p Q Q) ( x.p R) ( x.q R) ( x.(p Q) R) ( x.p R) ( x.q R) (Dominio) (Dominio) Le seguenti leggi (Distrib.) valgono solo se si assume che il dominio di interpretazione non sia vuoto: ( x.p Q) ( x.p) Q se x non occorre in Q ( x.p Q) ( x.p) Q se x non occorre in Q Per esercizio: ( x.p) ( x.p Q) ( x.p Q) ( x.p) (Distrib.) (Distrib.) ( x.p) ( x.p Q) ( x.p Q) ( x.p) pag. 23

Linguaggio del Primo Ordine con Uguaglianza Considereremo sempre linguaggi del primo ordine con uguaglianza, cioè con il simbolo speciale di predicato binario = (quindi = P) Il significato di = è fissato: per qualunque interpretazione, la formula t = t è vera se e solo se t e t denotano lo stesso elemento del dominio di interesse Più formalmente: data una interpretazione I = (D, α) e un assegnamento ρ : V D, abbiamo I ρ (t = t ) = T se α ρ (t) = α ρ (t ) (cioè se le semantiche di t e t coincidono), F altrimenti pag. 24

Leggi per l Uguaglianza Per il predicato di uguaglianza valgono le seguenti leggi: ( x.( y.x = y (P P[y/x]))) ( x.( y.(x = y P) x = y P[y/x]))) ( x.( y.(x = y P) P[y/x]))) (Leibniz) ( y( x.x = y P) P[y/x]))) (singoletto) ( y( x.x = y P) P[y/x]))) Esercizio: Dimostrare che (1) (2) e che (1) (3). pag. 25

Leggi per l Uguaglianza (2) Attenzione: spesso (e nella dispensa) queste leggi sono scritte informalmente senza quantificazioni: x = y (P P[y/x]) (Leibniz) (x = y P) x = y P[y/x]) (x = y P) P[y/x] pag. 26

Regole di Inferenza: La Regola di Generalizzazione Per dimostrare una formula del tipo ( x.p) possiamo procedere sostituendo x con un nuovo simbolo di costante d e dimostrare P[d/x] Γ P[d/x], con d nuova costante Γ ( x.p) Intuitivamente, d rappresenta un generico elemento del dominio sul quale non possiamo fare alcuna ipotesi pag. 27

Regole di Inferenza: La Regola di Skolemizzazione Se sappiamo che ( x.p) è vera, possiamo usarla per dimostrare una qualsiasi formula Q usando come ipotesi P[d/x], dove d è una costante nuova, che non compare in Q: ( x.p) Γ Γ, P[d/x] Q, con d nuova costante che non occorre in Q Γ Q Intuitivamente, è come se chiamassimo d un ipotetico elemento del dominio che testimonia la verità di ( x.p). pag. 28