LOGICA FORMALE. Logiche

Documenti analoghi
Logica: materiale didattico

Fondamenti di Informatica 2

Logica proposizionale

Logica proposizionale

NOZIONI DI LOGICA PROPOSIZIONI.

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

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

Logica per la Programmazione

Logica: nozioni di base

Introduzione alla logica

NOZIONI DI LOGICA. Premessa

METODI MATEMATICI PER L INFORMATICA

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

Esercitazioni per il corso di Logica Matematica

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

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

CALCOLO PROPOSIZIONALE

Prerequisiti Matematici

Un po di logica. Christian Ferrari. Laboratorio di matematica

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

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

Logica Proposizionale

Ragionamento Automatico Richiami di calcolo dei predicati

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

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

INSIEMI. DEF. Un INSIEME è una qualsiasi collezione di oggetti.

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

Introduzione alla Logica Proposizionale

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

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

Maiuscole e minuscole

Logica per la Programmazione

Logica per la Programmazione

Richiami teorici ed esercizi di Logica

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

Cenni di logica e calcolo proposizionale

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

L'algebra Booleana. Generalità. Definizioni

Logica per la Programmazione

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

Esercizi di logica discussi in due esercitazioni di novembre Molti sono esercizi tratti dai compiti di esame degli scorsi anni.

Elementi di logica. SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni.

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

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

Cenni di logica. Hynek Kovarik. Università di Brescia. Analisi Matematica A

04 - Logica delle dimostrazioni

1 Richiami di logica matematica

Logica proposizionale

Introduzione ad alcuni sistemi di logica modale

LOGICA MATEMATICA PER INFORMATICA

BREVE CENNO DI LOGICA CLASSICA La logica può essere definita come la scienza che studia le condizioni in base alle quali un ragionamento risulta

Logica per la Programmazione

Logica per la Programmazione

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

Logica per la Programmazione

Intelligenza Artificiale I

La logica matematica. Si ringraziano per il loro contributo gli alunni della classe IB Lic. Sc. A.S

Logica proposizionale

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

Logica per la Programmazione

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

Intelligenza Artificiale I

Esercitazioni per il corso di Logica Matematica

Logica. Claudio Sacerdoti Coen 13-15/11/ : Semantica classica della logica proposizionale. Universitá di Bologna

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

Esercitazioni per il corso di Logica Matematica

02 - Logica delle dimostrazioni

Logica di Base. Docente: Francesca Benanti. 27 Gennaio 2007

LOGICA MATEMATICA PER INFORMATICA

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

Calcoli dei sequenti classici e lineare

Richiami di logica matematica

Elementi di Logica Teoria degli insiemi

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

Introduzione alla logica proposizionale ( 2 a parte: Analisi )

LOGICA PER LA PROGRAMMAZIONE

sempre vere sempre false

Proposizioni e verità

DI CHE COSA SI OCCUPA LA LOGICA

Logica per la Programmazione

Linguaggio della Matematica

Marta Capiluppi Dipartimento di Informatica Università di Verona

Materiale didattico aggiuntivo - Analisi Matematica I CENNI DI LOGICA MATEMATICA. 1. Proposizioni. Valori logici. Connettivi logici. Tavole di verita.

Teoria dei modelli. Alessandro Berarducci. 3 Marzo Dipartimento di Matematica Pisa

I TEST DI LOGICA. Alberto Zanardo Dipartimento di Matematica Università di Padova. Liceo Giorgione, Castelfranco Veneto 5 aprile 2016

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

DAI NUMERI NATURALI AI NUMERI RAZIONALI

Linguaggio della Matematica

Logica booleana, Costrutto IF

Proposizioni. 1) Tra le seguenti frasi riconoscere le proposizioni, e stabilirne poi il valore di verità:

I numeri primi maggiori di due sono dispari

Soluzioni degli Esercizi da Svolgere Capitolo 8

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

Aniello Murano Decidibilità delle teorie logiche

Le variabili logiche possono essere combinate per mezzo di operatori detti connettivi logici. I principali sono:

Logica proposizionale

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

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

PROGRAMMA CONSUNTIVO

Un introduzione al corso di LOGICA PER LA PROGRAMMAZIONE

Transcript:

LOGICA FORMALE Linguaggio formale (sintassi + semantica) + Sistema di inferenza Sintassi: insieme delle espressioni ben formate (linguaggio) Semantica: interpretazione M del linguaggio Logica classica: Logiche Logica proposizionale: proposizioni + connettivi Logica dei predicati (o logica del primo ordine): termini + predicati + connettivi + quantificatori Logiche non classiche: Logica temporale: operatori: sarà sempre vero che..., in qualche momento futuro sarà vero che..., A è vero fino a che è vero B Logica epistemica: operatori l agente sa che..., l agente crede che... LOGICA SIMBOLICA : formalizzazione mediante simboli LOGICA MATEMATICA : studio della forma del ragionamento matematico (logica classica) LOGICA FORMALE : studio della forma, astrazione dal contenuto ASTRARRE SIGNIFICA SEMPLIFICARE: sbarazzandosi dei dettagli, si guardano oggetti diversi da uno stesso punto di vista, e gli si può dare un trattamento uniforme 1

Logica classica (proposizionale e dei predicati) Rappresentazione di conoscenza dichiarativa e studio delle forme di ragionamento su questo tipo di conoscenza 1. SE c è il sole, ALLORA fa caldo 2. c è il sole QUINDI: fa caldo 1. SE il compito è sufficiente, ALLORA sei esonerato dallo scritto 2. il compito è sufficiente QUINDI: sei esonerato dallo scritto Forma comune: 1. SE A, ALLORA B 2. A QUINDI: B A B B A 1. Tutti i triangoli sono poligoni 2. ABC è un triangolo QUINDI: ABC è un poligono 1. Tutti i pinguini sono mammiferi 2. Alberto è un pinguino QUINDI: Alberto è un mammifero Forma comune: 1. Tutti gli A sono B 2. l oggetto c è un A QUINDI: c è un B x(a(x) B(x)) B(c) A(c) 2

Quando un ragionamento è corretto? 1. Tutti i ladri sono ricchi 2. B è ricco QUINDI: B è un ladro 1. SE i controllori di volo scioperano, ALLORA prenderò il treno 2. O scioperano i controllori, oppure scioperano i piloti QUINDI: prenderò il treno 1. SE i controllori di volo scioperano, ALLORA prenderò il treno 2. SE i piloti scioperano, ALLORA prenderò il treno 3. O scioperano i controllori, oppure scioperano i piloti QUINDI: prenderò il treno 1. SE ABC è un triangolo equilatero, allora è un poligono regolare 2. SE ABC è un triangolo isoscele, allora è un poligono regolare 3. ABC è un triangolo equilatero oppure isoscele QUINDI: ABC è un poligono regolare 1. Non esiste nessun numero naturale minore di zero QUINDI: tutti i numeri naturali minori di zero sono dispari 3

Logica Classica Elementi di base: proposizioni (o enunciati), che possono essere VERE o FALSE Logica proposizionale: ogni enunciato è un atomo non ulteriormente analizzabile Caino è fratello di Abele è rappresentato da un atomo p A ogni paziente piace qualche dottore è rappresentato da un atomo q Gli enunciati semplici (atomi o variabili proposizionali) possono essere composti per formare enunciati complessi (formule proposizionali), mediante operatori logici (connettivi proposizionali): NOT (negazione) IF/THEN (implicazione) AND (congiunzione) IFF (doppia implicazione) OR (disgiunzione) Caino è fratello di Abele OPPURE a ogni paziente piace qualche dottore p q Caino NON è fratello di Abele p Caino è fratello di Abele E a ogni paziente piace qualche dottore p q SE Caino è fratello di Abele, ALLORA a ogni paziente piace qualche dottore p q Caino è fratello di Abele SE E SOLO SE a ogni paziente piace qualche dottore p q Ricorsivamente: SE Caino NON è fratello di Abele, ALLORA Caino è fratello di Abele OPPURE a ogni paziente piace qualche dottore p (p q) 4

Logica Proposizionale Classica La logica proposizionale studia il significato dei connettivi e le forme di ragionamento corretto rappresentabili mediante formule proposizionali SINTASSI La sintassi di un linguaggio determina quali sono le espressioni corrette del linguaggio. Espressioni della logica proposizionale: formule Un linguaggio proposizionale è costruito sulla base di un determinato insieme P di variabili proposizionali P = {p, q, r} P = {p 0, p 1, p 2,...} P = {caino fratello di abele, pazienti dottori,...} Alfabeto P {,,,,, (, )} Linguaggio (insieme delle formule): sottoinsieme delle stringhe sull alfabeto della logica considerata 5

Definizione induttiva dell insieme delle formule proposizionali di un linguaggio basato su P Dato un insieme P di variabili proposizionali, l insieme delle formule proposizionali costruite sulla base di P, Prop[P], è definito induttivamente: 1. ogni variabile proposizionale è una formula 2. e sono formule 3. se A è una formula, allora anche A è una formula 4. se A e B sono formule, allora anche (A B), (A B), (A B), (A B) sono formule 5. nient altro è una formula Se P = {p, q, r, s}, sono in Prop[P]: Esempio p, q, r, s,,, p, q, r, s,,, (p q), (p q), (q r), (r s),... (p q), ((p q) (q r)), ((q r) s),... ( (p q) ((p q) (q r))), ((q r) s) ),... 6

Convenzioni sull uso delle parentesi si possono omettere le parentesi esterne: (p q) si può scrivere p q associatività: da sinistra a destra (se non indicato altrimenti dall uso di parentesi) ((p q) r) si può scrivere p q r ((p q) r) si può scrivere p q r (p (q r)) NON si può scrivere p q r precedenza dei connettivi:,,,, (se non indicato altrimenti dall uso di parentesi) (p (q r)) si può scrivere p q r (p (q r)) si può scrivere (p q r) (p (q r)) NON si può scrivere p q r (p (q r)) NON si può scrivere p q r Quindi: s p q r abbrevia (s ((p q) r)) p (p r q) abbrevia (p (p (r q))) p q r s abbrevia ((p q) (r s)) p q r è diverso da p (q r) 7

Semantica Linguaggio = Dominio Prop[P] = Bool = {T, F } Correttezza dei ragionamenti Un ragionamento è corretto se ogni volta che le premesse sono vere, è vera anche la conclusione La semantica della logica proposizionale stabilisce il significato dei connettivi logici. Il significato delle variabili proposizionali può variare (possono essere interpretate in modi diversi). Qual è il significato di p q? Dipende dal significato di p e q: se p è vero e q è vero, allora p q è vero, altrimenti è falso. Interpretazione di un linguaggio: determina come interpretare le variabili proposizionali 8

Interpretazione di P M: assegnazione di un booleano (valore di verità) a ogni variabile in P: M : P Bool Esempio: se P = {p, q, r}, ci sono 8 possibili interpretazioni di P: p q r M 1 T T T M 2 T T F M 3 T F T M 4 T F F p q r M 5 F T T M 6 F T F M 7 F F T M 8 F F F Interpretazione di una formula F: interpretazione del linguaggio di F (l insieme delle variabili proposizionali che occorrono in F). 9

Semantica dei connettivi logici {,,,, } = Funzioni booleane T F NOT F T AND OR IMP IFF T T T T T T T F F T F F F T F T T F F F F F T T Le funzioni NOT, AND, OR sono le abituali operazioni booleane; IMP è la funzione su Bool (F < T); IF F è l uguaglianza = N OT = AN D = OR = IM P = IF F 10

Definizione induttiva del significato delle formule in una interpretazione M = A: A è vera in M Se M : P Bool, definiamo M = A per induzione su A: 1. M = p sse M(p) = T, se p P; 2. M = e M = ; 3. M = A sse M = A 4. M = A B sse M = A e M = B 5. M = A B sse M = A oppure M = B 6. M = A B sse M = A oppure M = B 7. M = A B sse M = A e M = B, oppure M = A e M = B 11

Valore di verità di una formula in una interpretazione M(A) = T sse M = A: A B A A B A B A B A B T T F T T T T T F F T F F F T T F T T F F F F F T T Calcolo di M(A): esempio p q r p p q ( p q) r T T F F T F Tavola di verità di una formula: calcolo del suo valore in ogni interpretazione p q r p p q ( p q) r T T T F T T F T T T T T T F T F F T F F T T T T T T F F T F F T F T T F T F F F F T F F F T T F 12

Vedere anche il programma truthtable, accessibile dalla pagina del corso www.dia.uniroma3.it/ cialdea/ocaml/logica/truthtable/ > truthtable -help Uso: truthtable [-o <output-file>] <input-file> -o nome del file di output -help Display this list of options Il file formula contiene il testo p -> q & r. > truthtable formula p q r (p->(q&r)) T T T T T T F F T F T F T F F F F T T T F T F T F F T T F F F T CNF: ((-pvq)&(-pvr)) DNF: (-pv(q&r)) 13

Logica e linguaggio naturale La negazione inverte il valore di verità del suo argomento Una congiunzione ( ) è vera se e solo se entrambi gli argomenti sono veri Una doppia implicazione ( ) è vera se e solo se i due argomenti hanno lo stesso valore di verità: IFF è l uguaglianza sui booleani sarai promosso (p) se e solo se avrai scritto almeno 125 programmi corretti (c) : p c condizione necessaria e sufficiente per passare l esame (p) è studiare (s) e avere fortuna (f) : p (s f) La disgiunzione ( ) è l OR inclusivo p q p q p q p q (p q) T T T F T F T F T T F T F T T T F T F F F F T F Andrò al cinema (c) o al teatro (t): (c t) xs=[] (p) oppure ys=[] (q) : p q 14

Implicazione L implicazione ( ) è l implicazione materiale: Se A è falsa: A B è vera se B è vera: A B è vera A B è falsa se e solo se A è vera e B è falsa Se x è una potenza di 2 maggiore di 1, allora x è pari è vero sempre (per ogni x): anche se x = 10 anche se x = 7 Antonio dice se piove, vengo a prenderti alla stazione 1. Piove, e A. va alla stazione: ha detto la verità? 2. Piove, e A. non va alla stazione: ha detto la verità? 3. Non piove, e Antonio va lo stesso: ha detto la verità? 4. Non piove, e A. non va alla stazione: ha detto la verità? 15

Modelli, contromodelli, formule soddisfacibili Una interpretazione M è un modello di F (o soddisfa F) sse M = F. Esempio: A = (p q) q. Se M(p) = F e M(q) = F, allora M è un modello di A. Una interpretazione M è un contromodello di F sse M = F. Esempio: se M (p) = T e M (q) = F, M è un contromodello di A. F è soddisfacibile sse esiste un modello di F. Esempio: poiché esiste un modello di A (M tale che M(p) = F e M(q) = F), A è soddisfacibile. Osservazione: le nozioni di modello, contromodello e soddisfacibilità sono generali: sono le stesse per ogni logica modulo la nozione di M = A La nozione di modello si estende a insiemi di formule: M è un modello di un insieme di formule S (M = S) sse è un modello di ciascuna formula in S: per ogni A S, M = A. 16

Formule logicamente valide F è logicamente valida o è una tautologia ( = F) se e solo se per ogni interpretazione M di F, M = F; cioè se non esistono contromodelli di F Osservazione: la nozione di validità logica è generale. AL contrario, il termine tautologia si utilizza solo per la logica proposizionale classica. Esempi: A = (p q) q è soddisfacibile, ma non è valida: esiste anche un contromodello di A. p (p q) è valida (una tautologia): p q p q p (p q) T T T T T F T T F T T T F F F T Attenzione: la proprietà di linguaggio è importante. Non confondere i due termini vero: la verità è una relazione tra un interpretazione e una formula: M = A valido: la validità è una proprietà delle formule (indipendente dalle singole interpretazioni): = A. (anche se si utilizza lo stesso simbolo =) 17

Alcune tautologie (dimostrarle per esercizio) 1. A A (identità) 2. A (B A) (affermazione del conseguente) 3. A (A B) (negazione dell antecedente) 4. B (ex falso quodlibet) 5. A A (terzo escluso) 6. (A A) (non contraddizione) 7. (A B) ((A B) A) (riduzione all assurdo) 8. ((A B) A) A (legge di Pierce) 18

Esempio: per dimostrare che la legge di Pierce è una tautologia, possiamo costruirne la tavola di verità e verificare che è vera in ogni interpretazione: > truthtable pierce B A (((A->B)->A)->A) T T T T F T F T T F F T CNF: T DNF: T Oppure possiamo ragionare come segue: Sia M una qualsiasi interpretazione: dimostriamo che se M = (A B) A allora M = A. Supponiamo dunque M = (A B) A: si hanno due possibilità: M = A B, quindi in particolare M = A. M = A. In entrambi i casi M = A. 19

Formule contraddittorie F è una contraddizione (o è insoddisfacibile) se e solo se per ogni interpretazione M di F, M = F; cioè se non esistono modelli di F Esempio: (p (p q)) Relazioni tra proprietà delle formule A è logicamente valida se e solo se A è una contraddizione A è una contraddizione se e solo se A è logicamente valida A è una contraddizione se e solo se A non è soddisfacibile Osservazione: anche le nozioni di contraddizione e insoddisfacibilità sono generali. Di conseguenza, le relazioni sopra considerate sono generali. 20

Conseguenza logica A è una conseguenza logica di un insieme di formule S o S implica logicamente A (S = A) sse ogni modello di S è un modello di A: per ogni interpretazione M del linguaggio, se M = S allora M = A Ancora un altro uso del simbolo = Il suo significato dipende dal contesto (cosa c è alla sua sinistra?): un simbolo che denota un interpretazione (M = X dove X può indicare una formula o un insieme di formule): M è un modello di X oppure X è vero in M ; nulla ( = A): A è valida ; un simbolo che denota un insieme di formule (S = A): A è una conseguenza logica di S o S implica logicamente A. N.B. Le parentesi graffe per indicare l insieme di formule vengono generalmente omesse. Proprietà: se S è un insieme finito di formule, allora S = A sse = B i S B i A ( B i = B 1... B k, se S = {B 1,..., B k }) B i S 21

Come dimostrare che: Possiamo fare la tavola di verità... Esempi p q, p r, q r = r Ragionamento semantico: p q, p r, q r = r sse (per definizione) ogni modello M di {p q, p r, q r} è anche un modello di r. Per dimostrare questo: sia M un qualsiasi modello di {p q, p r, q r}, cioè una qualsiasi interpretazione M tale che: 1. M = p q 2. M = p r 3. M = q r Per 1, M(p) = T oppure M(q) = T. Nel primo caso, M(r) = T (per 2: se fosse falso, 2 sarebbe falso) Nel secondo caso M(r) = T (per 3) Quindi, in ogni caso, M(r) = T. Come dimostrare che: p, q p = q Per definizione, questo vale sse non ogni modello di {p, q p} è un modello di q, cioè se esiste un modello di {p, q p} che non è un modello di q; in altri termini, un interpretazione M in cui sono vere p e q p, e q è falsa. Consideriamo M con M(p) = T e M(q) = F: M = p, M = q p, e M = q. 22

Ragionamenti corretti Un ragionamento che dalle ipotesi S conclude A è corretto sse S = A. Per verificare se A 1,..., A n = B si può: Fare la tavola di verità per A 1... A n B e controllare se è una tautologia Cercare un contromodello per A 1... A n B: se la ricerca (sistematica) fallisce, allora A 1,..., A n = B Dimostrare B a partire da A 1,..., A n, utilizzando un insieme di regole di ragionamento corrette Implementare un metodo di dimostrazione automatica ed eseguire il programma sul problema A 1,..., A n = B Per dimostrare che A 1,..., A n = B c è un unico metodo: trovare un interpretazione M tale che M = {A 1,..., A n } e M = B. 23

Equivalenza logica A e B sono logicamente equivalenti (A B) sse: per ogni interpretazione M di A e B: M = A sse M = B Ciò equivale a dire che e anche che = A B A = B e B = A Non confondere:, che è un simbolo dell alfabeto (un connettivo), con, che è un meta-simbolo, cioè una notazione che utilizziamo per abbreviare è logicamente equivalente a esattamente come =. 24

1. A A Alcune equivalenze logiche importanti 2. Commutatività e associatività di e : 3. Leggi distributive: 4. Leggi di De Morgan: 5. Doppia negazione: A A 6. Leggi di assorbimento: A B B A, A B B A, A (B C) (A B) C, A (B C) (A B) C (A (B C)) ((A B) (A C)) (A (B C)) ((A B) (A C)) (A B) ( A B) (A B) ( A B) A (A B) A A (A B) A 25

7. Definibilità di : A B (A B) (B A) 8. Interdefinibilità dei connettivi logici,, : 9. Contrapposizione: A B A B (A B) (A B) ( A B) A B A B ( A B) (A B) A B ( A B) A B (A B) ( B A) Esercizio: dimostrare le equivalenze logiche precedenti (preferibilmente con ragionamento semantico anziché mediante la costruzione di tavole di verità). Esempio: per dimostrare che A (A B) A dobbiamo dimostrare due cose: 1. A (A B) = A: sia M qualsiasi interpretazione tale che M = A (A B). I casi sono due: (a) M = A, oppure (b) M = A B; in questo caso, in particolare M = A (per la semantica di ). Quindi in entrambi i casi M = A. 2. A = A (A B): se M è qualsiasi interpretazione tale che M = A, allora, qualsiasi sia B, M = A (A B) (per la semantica di ). 26

Forme Normali Congiuntive (FNC) e Disgiuntive (FND) LETTERALE: atomo (p) o negazione di un atomo ( p) Una formula è in FNC sse ha la forma D 1... D k dove ogni D i è una disgiunzione di letterali Ogni formula è logicamente equivalente a una formula in FNC Una formula è in FND sse ha la forma C 1... C k dove ogni C i è una congiunzione di letterali Ogni formula è logicamente equivalente a una formula in FND Esempio: trasformazione in FNC di ( (p q) (q (r (s p)))) (p q) (q (r ( s p))) (p q) (q (r ( s p))) ( p q) (q (r ( s p))) ( p q) (q (r ( s p))) ( p q) ((q r) (q ( s p))) p q (q r) (q s p) 27

Esercizio: Trovare forme normali congiuntive e disgiuntive logicamente equivalenti a 1. (A B) ( A C) 2. A (B A) Vedere anche il programma truthtable, accessibile dalla pagina del corso 28

Trasformazione di formule in forma normale congiuntiva 1. Eliminare le implicazioni e le doppie implicazioni A B A B (A B) A B A B ( A B) ( B A) (A B) (A B) ( A B) 2. Portare le negazioni sugli atomi (A B) A B (A B) A B A A 3. Distribuire su (A B) C (A C) (B C) C (A B) (C A) (C B) 29

Algoritmo per la trasformazione in CNF 1. Eliminare le implicazioni e le doppie implicazioni e portare le negazioni sugli atomi (trasformare A in forma normale negativa NNF) 2. Ricorsivamente: se A ha la forma B C: distribuire l or più esterno su tutte le congiunzioni nella formula CN F(B) CN F(C) se A ha la forma B C: il risultato è CNF(B) CNF(C) altrimenti (A è un letterale) il risultato è A 3. Eventualmente, semplificare la formula ottenuta 30

Esercizi Per ciascuno dei seguenti enunciati: a) determinare un linguaggio per esprimerlo, b) scrivere una formula proposizionale che lo rappresenti, c) determinare un modello e un contromodello. 1. Condizione necessaria per passare l esame è studiare o avere fortuna. 2. Condizione sufficiente perché faccia caldo è che sia estate e non piova 3. Se nevica, diventa più freddo 4. Solo se colpisci il vetro con un martello lo romperai 5. Condizione necessaria e sufficiente perché ABC sia un triangolo isoscele è che abbia esattamente tre lati e che abbia almeno due angoli uguali. 6. È falso che la lista xs è vuota oppure il valore di found è true 7. La lista xs non è vuota e il valore di found è false 8. Prendo il libro e arrivo 9. Arrivo e prendo il libro 10. Puoi andare al cinema o alla festa, ma non puoi fare tutte e due le cose 11. Per dare l esame, devi studiare 12. Tutti i corvi sono neri 13. Qualcuno è colpevole 31

Formule e funzioni booleane I connettivi che abbiamo introdotto sono sufficienti a esprimere tutte le possibili funzioni booleane? Ogni formula A determina una funzione booleana f A Sia A[p 1,...p k ] una formula con k lettere proposizionali. A corrisponde a una funzione booleana a k argomenti: per ogni possibile assegnazione M: Esempio: A = p q f A è tale che: Se = A B, allora f A = f B f A (M(p 1 ),..., M(p k )) = M(A) f A (T, T) = T f A (F, T) = F f A (T, F) = T f A (F, F) = T Ogni funzione booleana è determinata da qualche formula Ogni funzione booleana a k argomenti corrisponde a una formula proposizionale (o a una classe di equivalenza di fbf): Per ogni funzione booleana f esiste una formula A tale che f A = f 32

Se f : Bool k Bool, Adeguatezza dei connettivi allora esiste A f Prop[p 1,..., p k ] tale che per ogni assegnazione M : {p 1,..., p k } Bool: M(A f ) = f(m(p 1 ),..., M(p k )) A f si può costruire utilizzando soltanto,, : Esempio di costruzione di A f : {,, } è un insieme adeguato di connettivi x 1 x 2 f(x 1, x 2 ) A[p 1, p 2 ] T T F T F T = (p 1 p 2 ) F T T = ( p 1 p 2 ) F F T = ( p 1 p 2 ) (forma normale disgiuntiva) Esercizio: Definire una qualsiasi funzione booleana a 3 argomenti, descrivendone i valori in forma di tabella, e determinare una formula con tre lettere proposizionali che la rappresenta. 33

Due connettivi particolari Esistono connettivi che da soli sono sufficienti ad esprimere tutte le funzioni booleane: Il tratto di Sheffer (o negazione alternativa) è il connettivo con la seguente tavola di verità: A B A B T T F T F T F T T F F T { } è un insieme adeguato di connettivi. Infatti A A A A B ((A A) (B B)) (verificarlo per esercizio) La negazione congiunta, la cui tavola di verità è: A B A B T T F T F F F T F F F T costituisce un insieme adeguato di connettivi. Infatti A A A A B ((A A) (B B)) (verificarlo per esercizio) 34

Uso delle tavole di verità. Cavalieri e furfanti A dice: Io sono un furfante oppure B è un cavaliere. Cosa sono A e B? Formalizzazione: A è un cavaliere = A ( A è un furfante = A) B è un cavaliere = B ( B è un furfante = B) Sappiamo che: se A è un cavaliere allora quello che dice è vero, e se è un furfante quello che dice è falso. Quello che A dice è: A B. Cioè: Problemi: 1) A A B 2) A ( A B) a) A A B, A ( A B) = A? b) A A B, A ( A B) = A? c) A A B, A ( A B) = B? d) A A B, A ( A B) = B? Importante: non è detto che esattamente una tra (a) e (b) sia vera; potrebbero essere entrambe false (i dati del problema non sono sufficienti a determinare se A è un cavaliere o no), oppure entrambe vere (il problema è contraddittorio: non è possibile che un abitante dell isola dei cavalieri e furfanti faccia quella affermazione). La stessa cosa vale per (c) e (d). 35

Con le tavole di verità possiamo determinare quali sono le interpretazioni di A e B in cui le due formule 1 e 2 sono entrambe vere, e se possibile rispondere alla domanda cosa sono A e B? : A B A ( A B) A ( A B) T T T T T F F T F T T F F F T F L unica interpetazione in cui 1 e 2 sono entrambe vere è quella in cui A e B sono entrambe vere: A e B sono entrambi cavalieri. In altri termini: A ( A B), A ( A B) = A A ( A B), A ( A B) = B 36

Ragionamento per assurdo: ricerca di un contromodello A dice: Io sono un furfante oppure B è un cavaliere. Cosa sono A e B? 1. A ( A B) 2. A ( A B) Il problema è quello di determinare se A oppure A è una conseguenza logica di 1 e 2, e se B oppure B è una conseguenza logica di 1 e 2. Per determinare se A è una conseguenza logica di 1 e 2: tutti i modelli di 1 e 2 sono modelli di A. Sia M una qualunque interpretazione che rende vere 1 e 2 e supponiamo (per assurdo) che M = A. M = A def. di M = ( A B) 2 e def. di M = A B M = A def. di M = A contraddizione Quindi M = A è assurdo e deve essere M = A. Esercizio. Determinare con lo stesso metodo che B è una conseguenza logica di 1 e 2. 37

Ragionamento per assurdo È stato compiuto un furto. I ladri sono fuggiti con un furgone. Sono implicati tre uomini: A, B, C. Si sa che C non lavora mai senza la complicità di A e B non sa guidare. A è colpevole? Linguaggio: A (A è colpevole), B, C Ipotesi: S = {A B C, C A, B (A C)} Tesi: A Controllare se A B C, C A, B (A C) = A Per assurdo: Assumiamo che esista M tale che: 1. M = A B C 2. M = C A 3. M = B (A C) 4. M = A, cioè M(A) = F Quindi: M = C, altrimenti 2 sarebbe falso M = A C M = B, altrimenti 3 sarebbe falso Ma allora anche 1 è falso: assurdo 38

Ragionamento diretto Per ogni interpretazione M, se M = S, allora M = A Ragionamento per casi A B C, C A, B (A C) = A Sia M qualsiasi interpretazione tale che M = S: poiché M = A B C, o M = A, oppure M = B, oppure M = C. Mostriamo che in tutti e tre i casi M = A: a) se M = A, allora M = A b) se M = B, allora M = A C (da 3): b1) se M = A, allora M = A b2) se M = C allora M = A, per 2 quindi nel caso b) M = A c) se M = C, allora M = A, per 2 39

Una logica Λ è definita da: Sintassi Alfabeto A (insieme non vuoto di simboli) Linguaggio L A (formule ben formate: fbf) Spesso definito induttivamente principio di induzione strutturale sulle fbf ricorsione sulle fbf Semantica Apparato deduttivo (sistema di inferenza) Assiomi Ax L Regole di inferenza R = {R 1, R 2,...}, con R i L n i (relazioni su fbf) A 1,..., A ni 1 A n Se Ax e R sono decidibili: teoria assiomatica 40

Linguaggio proposizionale con e Assiomi: A1. A (B A) A2. (A (B C)) ((A B) (A C)) A3. ( B A) (( B A) B) Regola di inferenza: A Sistema di inferenza hilbertiano per la logica proposizionale A B B (MPP) Se A 1,..., A n A è una regola di inferenza R, allora A deriva da A 1,..., A n mediante R. 41

Derivazioni e dimostrazioni Derivazione di A da S: sequenza A 1,..., A n di formule tale che A n = A e per ogni i: A i è un assioma, oppure A i S, oppure A i deriva da formule precedenti mediante una regola di inferenza Se esiste una derivazione di A da S allora A è derivabile da S: S A Una derivazione di A da Ø è una dimostrazione di A. Se esiste una dimostrazione di A: A allora A è dimostrabile (o è un teorema) Esempio: H p p 1. (p ((p p) p)) ((p (p p)) (p p)) Assioma A2 2. p ((p p) p) Assioma A1 3. (p (p p)) (p p) MPP(1, 2) 4. p (p p) Assioma A1 5. p p MPP(3, 4) Sostituibilità nelle derivazioni: Se S A allora S[B/p] A[B/p] 42

Semantica di una logica Λ 1. Interpretazione del linguaggio M Dominio di interpretazione D Funzione di interpretazione L D 2. Nozione di verità in una interpretazione M = A Validità = A : per ogni M, M = A Soddisfacibilità: esiste M, tale che M = A Conseguenza logica S = A : per ogni M, se M = G per ogni G in S, allora M = A Corrispondenza tra apparato deduttivo e semantica S = A sse S A = A sse A (debole) Il sistema Hilbertiano è corretto e completo rispetto alla semantica della logica proposizionale: Se S A allora S = A: correttezza Se S = A allora S A: completezza 43

Proprietà della derivabilità Se S S e S A, allora S A (monotonicità) S A sse esiste un sottoinsieme finito S di S tale che S A (compattezza) Se S A e per ogni B S, S B, allora S A (taglio) Una teoria assiomatica è semidecidibile Possibili proprietà di S = A Se S S e S = A, allora S = A (monotonicità) S = A sse esiste un sottoinsieme finito S di S tale che S = A (compattezza) se S = A e per ogni B S, S = B, allora S = A (taglio) L insieme delle formule valide è ricorsivo (decidibilità) L insieme delle formule valide è ricorsivamente enumerabile (semidecidibilità) Chiusura deduttiva di S: T (S) = {A S A} T (S) è anche chiamata la teoria di S e le formule di S sono gli assiomi della teoria 44

Esistono Limiti di un sistema deduttivo logiche non monotone elef ante(pippo) = grigio(pippo) elef ante(pippo), albino(pippo) = grigio(pippo) logiche non compatte PA teoria dell aritmetica del secondo ordine: PA = A sse A è vera nell interpretazione standard su IN PA, q(0), q(1), q(2),... = xq(x) ma xq(x) non è conseguenza logica di alcun sottoinsieme finito di P A {q(0), q(1), q(2),...} logiche in cui non vale il taglio logiche non decidibili (logica dei predicati) logiche non semidecidibili 45