Logica: nozioni di base

Documenti analoghi
Logica: materiale didattico

Logica proposizionale

METODI MATEMATICI PER L INFORMATICA

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

Logica proposizionale

Un po di logica. Christian Ferrari. Laboratorio di matematica

CALCOLO PROPOSIZIONALE

Ragionamento Automatico Richiami di calcolo dei predicati

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

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

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

Introduzione alla logica

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

Elementi di informatica

NOZIONI DI LOGICA PROPOSIZIONI.

Prerequisiti Matematici

Maiuscole e minuscole

Logica proposizionale

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

Logica per la Programmazione

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

DI CHE COSA SI OCCUPA LA LOGICA

Una Breve Introduzione alla Logica

I.2 Logica. Elisabetta Ronchieri. Ottobre 13, Università di Ferrara Dipartimento di Economia e Management. Insegnamento di Informatica

Lezione2: Circuiti Logici

Operatori di relazione

NOZIONI DI LOGICA. Premessa

Esercitazioni per il corso di Logica Matematica

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

Università degli Studi di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica ALGEBRA BOOLEANA

Informatica e Bioinformatica: AND, OR, NOT

L'algebra Booleana. Generalità. Definizioni

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

Proposizioni e verità

Richiami teorici ed esercizi di Logica

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

4. Logica. Insegnamento di Informatica. Elisabetta Ronchieri. I semestre, anno Corso di Laurea di Economia, Universitá di Ferrara

Esercitazioni per il corso di Logica Matematica

Informatica. Logica e Algebra di Boole

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

Logica proposizionale

LOGICA MATEMATICA PER INFORMATICA

George BOOLE ( ) L algebra booleana. (logica proposizionale)

Logica per la Programmazione

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

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

Cenni di logica e calcolo proposizionale

Logica booleana, Costrutto IF

Algebra di Boole ed elementi di logica

Proposizioni Algebra di Boole Condizioni Operatori di relazione

LOGICA FORMALE. Logiche

Calcolo proposizionale

Circuiti digitali. Operazioni Logiche: Algebra di Boole. Esempio di circuito. Porte Logiche. Fondamenti di Informatica A Ingegneria Gestionale

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

Algebra di Boole. Tavole di verità. Fondamenti di Informatica Algebra di Boole. Si basa su tre operazioni logiche: AND (*) OR (+) NOT (!

Introduzione ad alcuni sistemi di logica modale

PORTE LOGICHE. Si effettua su due o più variabili, l uscita assume lo stato logico 1 se almeno una variabile di ingresso è allo stato logico 1.

Logica per la Programmazione

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

R. De Leo 9 Febbraio Liceo Scientifico L.B. Alberti. Invito alla Logica Matematica. attraverso gli Indovinelli

Matematica per le scienze sociali Elementi di base. Francesco Lagona

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

Algebra di Boole X Y Z V. Algebra di Boole

MATEMATICA DI BASE 1

10 Logica classica predicativa

I circuiti elementari

0. ALGEBRA DI BOOLE E SISTEMI DI NUMERAZIONE

Calcolo numerico e programmazione Elementi di logica

BOOK IN PROGRESS MATEMATICA ALGEBRA PRIMO ANNO TOMO NR. 1

Transcript:

Fondamenti di Informatica Sistemi di Elaborazione delle Informazioni Informatica Applicata Logica: nozioni di base Antonella Poggi Anno Accademico 2012-2013 DIPARTIMENTO DI SCIENZE DOCUMENTARIE LINGUISTICO FILOLOGICHE E GEOGRAFICHE

Le espressioni booleane Abbiamo parlato di espressioni booleane quando abbiamo presentato i vincoli di tupla Parleremo ancora di espressioni booleane nell ambito della presentazione del linguaggio SQL In prima battuta, diciamo che un espressione booleana è una espressione, ovvero una formula, che, quando è valutata, assume un valore booleano, ovvero un valore tra VERO e FALSO formula intera: 1 + 2 -> valore intero formula reale: 1 + 2.5 -> valore reale formula booleana: (Voto > 17) AND (Voto>31) -> valore booelano Ma cosa significa che una formula viene valutata? Cosa rappresentano i valori VERO e FALSO? Antonella Poggi Pagina 2

La logica Da Wikipedia: La logica (dal greco logos, ovvero parola, pensiero, idea, argomento, ragione ) è lo studio del ragionamento e dell argomentazione e, in particolare, dei procedimenti inferenziali, rivolto a chiarire quali procedimenti di pensiero siano validi e quali non validi La logica nasce con Aristotele (384 a.c.) che per primo studia come argomenti corretti seguano necessariamente da premesse corrette (esempio: studio sul sillogismo) Per opera di Boole (1815), l algebra viene utilizzata come mezzo per esprimere le leggi del ragionamento Antonella Poggi Pagina 3

Inferenza Un inferenza è un processo che, a partire da alcuni enunciati assunti come punto di partenza (le premesse dell inferenza), porta ad asserire un altro enunciato (la conclusione) Premesse: Tutti gli uomini sono mortali Io sono un uomo Conclusione Io sono mortale Antonella Poggi Pagina 4

La logica proposizionale La logica proposizionale è un linguaggio che cattura le forme più semplici di inferenza logica E basata su proposizioni elementari (anche detti atomi), che non possono essere ulteriormente scomposte in altre proposizioni connettivi logici che restituiscono il valore di verità di una proposizione in funzione del valore di verità delle proposizioni conesse Per rendere conto della validità delle inferenze proposizionali non occorre scomporre le formule atomiche in componenti più elementari Antonella Poggi Pagina 5

Piove Esempi di proposizioni atomiche Si è dimesso Papa Benedetto XVI E stato eletto Papa Francesco I Ho preso 30 Ho preso la lode Antonella Poggi Pagina 6

Esempio di inferenza proposizionale Premesse: Se ho preso la lode, allora ho preso 30 Non ho preso 30 Conclusione? Non ho preso la lode Antonella Poggi Pagina 7

Proposizioni: vere o false? 1. Piove Falso adesso, vero ieri 2. Se è stato eletto Papa Francesco, allora si è dimesso Papa Benedetto XVI Vero oggi, perché Benedetto XVI si è dimesso e Francesco è stato eletto Vero il 9 Marzo 2013, perché Francesco non era ancora stato eletto Vero a Settembre 2012, perché Papa Benedetto XVI non si era dimesso 3. Piove oppure non piove Sempre vero Antonella Poggi Pagina 8

La logica proposizionale: sintassi (1) Ingredienti: alfabeto formule (booleane) o proposizioni Alfabeto Gli operatori proposizionali unario: NOT binari: AND, OR,, Le costanti T, F (per denotare il vero e il falso) Un insieme non vuoto di simboli (o lettere) proposizionali S={P, Q,...} I simboli separatori ( e ) Antonella Poggi Pagina 9

La logica proposizionale: sintassi (2) Formule L insieme delle formule (ben formate) della logica proposizionale è l insieme PROP definito come segue: 1. le costanti ed i simboli proposizionali sono formule 2. se A è una formula, allora (NOT A) è una formula 3. se A e B sono formule e OP è un operatore binario (cioè OP è uno tra {AND,OR,, ), allora (A OP B) è una formula Antonella Poggi Pagina 10

Precedenza operatori Le parentesi permettono di indicare la precedenza con cui gli operatori vanno applicati In assensa di parentesi, la massima precedenza viene data a NOT, poi a AND,OR,, ed infine a. Gli operatori sono associativi a destra. Esempi: La formula NOT(A) AND NOT(B) viene parentetizzata come ((NOT(A)) AND (NOT(B))) La formula A AND B OR C viene parentetizzata come ((A AND B) OR C) La formula A B C viene parentetizzata come (A (B C)) La formula NOT(A) AND NOT(B) C AND D AND E viene parentetizzata come (((NOT(A)) AND (NOT(B))) (C AND (D AND E))) La formula NOT(A) AND (NOT(B) C) AND D AND E viene parentetizzata come ((NOT(A)) AND ((NOT(B)) C) AND (D AND E)) Antonella Poggi Pagina 11

Esempi 1. Piove P 2. Se è stato eletto Papa Francesco, allora si è dimesso Papa Benedetto XVI F B 3. Piove oppure non piove P OR NOT(P) Antonella Poggi Pagina 12

Logica proposizionale: semantica Sia ass una funzione totale, detta funzione di assegnazione, dall insieme delle lettere proposizionali S all insieme {0,1}, dove 0 denota il valore FALSO e 1 denota il valore VERO. La semantica di una formula viene assegnata per mezzo della funzione di valutazione val, dall insieme PROP (di tutte le formule proposizionali) all insieme dei valori di verità {0,1}, tale che: val(q) = ass(q) se Q S val(t) = 1 val(f) = 0 val(not(a)) = 1 se val(a)=0, val(not(a)) = 0 se val(a) = 1 val(a OP B) è definito dalla seguente tavola di verità A B AND OR 0 0 0 0 1 1 0 1 0 1 1 0 1 0 0 1 0 0 1 1 1 1 1 1 Antonella Poggi Pagina 13

Esempi 1. Piove Adesso: ass(p)=ass(p)=0 perché val(p)=0 Ieri: ass(p)=ass(p)=1 perché val(p)=1 2. Se è stato eletto Papa Francesco, allora si è dimesso Papa Benedetto XVI Oggi: ass(f B)=1, perché val(f)=1 e val(b)=1 Il 9 Marzo: ass(f B)=1, perché val(b)=1 e val(f)=0 A Settembre 2012: ass(b F)=1, perché val(b)=0 e val(f)=0 3. Piove oppure non piove Sempre vero perché, quale che sia val, ass(p OR NOT(P))=1 Antonella Poggi Pagina 14

Tavole di verità La possibilità di organizzare in una tabella i valori di verità di una proposizione composta come funzione dei valori di verità delle sue componenti può essere generalizzata a proposizioni qualunque Esempio: la tabella di verità della proposizione P OR NOT(P) è la seguente: Quale che sia Val, è sempre vera! P NOT(P) P OR NOT(P) 1 0 1 0 1 1 Antonella Poggi Pagina 15

Tavole di verità (altro esempio) Sia la proposizione: A=((NOT(P) AND Q) R) La sua tabella di verità è la seguente: P Q R NOT(P) NOT(P) AND Q A 0 0 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1 0 0 0 0 1 1 0 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 Antonella Poggi Pagina 16

Torniamo ai vincoli e a SQL Sia quando esprimiamo un vincolo che quando esprimiamo una condizione in SQL, usiamo espressioni (o formule) booleane costruite su atomi che confrontano valori di attributi o espressioni aritmetiche su di essi Rispetto alle proposizioni della logica proposizionale viste sino ad ora, al posto delle lettere abbiamo delle formule più complesse, il cui valore di verità è dato dall esito del confronto Esempi: (Voto 30) AND (Voto 18) (Lode= e lode ) (Voto=30) Antonella Poggi Pagina 17

Operatori di confronto Gli operatori di confronto che possono essere usati sono tutti quelli ammissibili per gli operando a cui sono applicati Esempi:,,,... - per interi, reali, ecc. (eventualmente espressi mezzo di operazioni aritmetiche) =, sottostringa=, iniziale=,... tra stringhe di caratteri in, not in tra elemento(i) ed un insiemi di elementi dello stesso tipo... Antonella Poggi Pagina 18

Interpretazioni e modelli Una valutazione Val si può vedere come un insieme di simboli proposizionali, detto interpretazione, nel seguente modo: l interpretazione associata ad una data valutazione Val è l insieme che contiene tutti e soli i simboli P tali Val(P) = 1. Definiamo ricorsivamente la relazione = tra interpretazioni e formule come segue. Se M è una interpretazione, allora: 1. M = P se P M 2. M = T e non è vero che M = F; 3. M = NOT(A) se non è vero che (M = A) 4. M = A AND B se M = A e M = B 5. M = A OR B se M = A oppure M = B 6. M = A B se non è vero che M = A oppure M = B 7. M = A B se M = A e M = B, oppure se non è vero che M = A e M = B Antonella Poggi Pagina 19

Modelli - definizioni Se M A, diciamo che M soddisfa A, ovvero che M rende vera A, ovvero che M è un modello di A Se F è un insieme di formule, e per ogni formula A in F si ha che M A, diciamo che M è un modello per F e indichiamo questo con M F Se ogni interpretazione è un modello di A, allora A è una tautologia, e possiamo scrivere A Se esiste almeno unm tale che M A, allora diciamo che A è soddisfacibile Se per nessun M si ha che M A, allora diciamo che A è insoddisfacibile, o che è una contraddizione. Si noti che una formula A è una tautologia se e solo NOT(A) è una contraddizione Antonella Poggi Pagina 20

Esempi: soddisfacibile? modelli? 1. Piove Ha il modello {P}, corrispondente al mondo ieri. Quindi è soddisfacibile. 2. Se è stato eletto Papa Francesco, allora si è dimesso Papa Benedetto XVI Ha i seguenti modelli: {}, corrispondente al mondo a Settembre 2012 {B,F}, corrispondente al mondo oggi {B}, che corrisponde al mondo al 9 Marzo 2013 Mentre {F}, non è un modello: Papa Francesco non avrebbe potuto essere stato eletto se Papa Benedetto non si fosse dimesso! 3. Piove oppure non piove E una tautologia 4. Piove e non piove Non ha nessun modello, quindi è insoddisfacibile Antonella Poggi Pagina 21

Esercizio 1 Se Giovanni studia canto e non ha una brutta voce allora avrà successo. Siano: C = Giovanni studia canto B = Giovanni ha una brutta voce S = Giovanni avrà successo 1. Esprimere con una formula della logica proposizionale, l enunciato di cui sopra. 2. Dire quali tra i seguenti insiemi sono modelli: {C, B, S} {C, S} {B, S} {C} {B} {} Antonella Poggi Pagina 22

Esercizio 1: soluzione 1. Esprimere con una formula della logica proposizionale, l enunciato di cui sopra C AND NOT(B) S 2. Dire quali tra i seguenti insiemi sono modelli: {C, B, S} SI {C, S} SI {B, S} SI {C} NO {B} SI {} SI Antonella Poggi Pagina 23

Implicazione e equivalenza logica A implica logicamente B se, per ogni valutazione booleana Val, ogni volta che Val(A) = 1, si ha anche che Val(B) = 1, ovvero se M: se M A allora M B Se A implica logicamente B, scriviamo A B. A e B sono logicamente equivalenti se Val(A) = Val(B) per ogni valutazione booleana Val, ovvero se M: M A se e solo se M B ovvero se A e B hanno gli stessi modelli. Se A è logicamente equivalente a B, scriviamo A B. Antonella Poggi Pagina 24

Leggi della logica proposizionale (1) Idempotenza: A AND A A A OR A A Associatività: A AND (B AND C) (A AND B) AND C A OR (B OR C) (A OR B) OR C A (B C) (A B) C Commutatività: A AND B B AND A A OR B B OR A A B B A Antonella Poggi Pagina 25

Leggi della logica proposizionale (2) Distributività: A AND (B OR C) (A AND B) OR (A AND C) A OR (B AND C) (A OR B) AND (A OR C) Assorbimento: A AND (A OR B) A A OR (A AND B) A Doppia negazione: NOT(NOT(A)) A Leggi di De Morgan: NOT(A AND B) NOT(A) OR NOT(B) NOT(A OR B) NOT(A) AND NOT(B) Antonella Poggi Pagina 26

Leggi della logica proposizionale (3) Terzo escluso: A OR NOT(A) T Contrapposizione: A B NOT(B) NOT(A) Contraddizione: A AND NOT(A) F Antonella Poggi Pagina 27

Implicazione logica, soddisfacibilità e deduzione Il seguente teorema lega le nozioni di implicazione logica e di insoddisfacibilità: F A se e solo se F {NOT(A)} è insoddisfacibile Il seguente teorema di deduzione lega le nozioni di implicazione logica e di implicazione materiale: F A se e solo se F A dove F è la formula ottenuta come and delle formule in F Antonella Poggi Pagina 28

Decidibilità Problemi di decisione associati alla logica proposizionale: SAT: data una formula A della logica proposizionale, decidere se A è soddisfacibile o no TAUT: data una formula A della logica proposizionale, decidere se A è una tautologia o no Data una formula A con n simboli proposizionali distinti, per verificare se la formula è soddisfacibile basta costruire una tabella di verità per A, che conterrà 2 n righe. Per ogni riga, basta poi verificare se essa corrisponde ad un modello Si dice che: La logica proposizionale è decidibile. Antonella Poggi Pagina 29