Logica: materiale didattico

Documenti analoghi
LOGICA FORMALE. Logiche

Logica proposizionale

Fondamenti di Informatica 2

Logica: nozioni di base

NOZIONI DI LOGICA PROPOSIZIONI.

Introduzione alla logica

Prerequisiti Matematici

Logica per la Programmazione

METODI MATEMATICI PER L INFORMATICA

Cenni di logica e calcolo proposizionale

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

Logica proposizionale

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

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

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

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

NOZIONI DI LOGICA. Premessa

Un po di logica. Christian Ferrari. Laboratorio di 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 Corso di Laurea in INFORMATICA a.a. 2016/17

Ragionamento Automatico Richiami di calcolo dei predicati

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

Maiuscole e minuscole

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

CALCOLO PROPOSIZIONALE

Logica per la Programmazione

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

Logica per la Programmazione

Una Breve Introduzione alla Logica

Logica proposizionale

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

Intelligenza Artificiale. Logica proposizionale: calcolo automatico

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

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

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

1 Richiami di logica matematica

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

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

L'algebra Booleana. Generalità. Definizioni

Esercitazioni per il corso di Logica Matematica

Richiami teorici ed esercizi di Logica

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

Intelligenza Artificiale I

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

DI CHE COSA SI OCCUPA LA LOGICA

Informatica. Logica e Algebra di Boole

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

Esercitazioni per il corso di Logica Matematica

Proposizioni e verità

3. Logica. Obiettivi di apprendimento: Relazioni, dati e previsioni 6T, 7T, 8T, 10Q. La logica nel linguaggio comune...

Introduzione alla Logica Proposizionale

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

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

Logic. Esame: Scritto. Questo corso fa parte del percorso Filosofia e Linguaggi dell Informatica.

Marta Capiluppi Dipartimento di Informatica Università di Verona

Un introduzione al corso di LOGICA PER LA PROGRAMMAZIONE

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

Algebra di Boole. Andrea Passerini Informatica. Algebra di Boole

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

LOGICA PER LA PROGRAMMAZIONE

e Algoritmi Marco Piastra Intelligenza Artificiale I Soddisfacibilità

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

Richiami di logica matematica

sempre vere sempre false

Logica per la Programmazione

Elementi di Logica Teoria degli insiemi

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

LOGICA MATEMATICA PER INFORMATICA

Logica e fondamenti di matematica

Cenni di logica matematica e di teoria degli insiemi Paola Rubbioni

Espressioni logiche. Espressioni logiche. Operatori logici. Operatori logici. Operatori logici. Espressioni Logiche e Istruzione di Test

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

Logica per la Programmazione

Cenni di logica matematica e di teoria degli insiemi. CORSI INTRODUTTIVI Dipartimento di Ingegneria di Perugia a.a. 2016/2017 Paola Rubbioni

Calcoli dei sequenti classici e lineare

Introduzione ad alcuni sistemi di logica modale

10 Logica classica predicativa

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

Ricordando che: = si ha:

Logica Proposizionale

LOGICA MATEMATICA PER INFORMATICA

Esercitazioni per il corso di Logica Matematica

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

Logica per la Programmazione

PROGRAMMA CONSUNTIVO

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

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

Elementi di Logica Le forme del ragionamento

Logica proposizionale

Logica proposizionale

Intelligenza Artificiale I

Logica per la Programmazione

Operatori di relazione

TRADUZIONE STATE AND TRANSITION DIAGRAM UML E CORRETTEZZA DEI PROGRAMMI IN TLA+

Filosofia del linguaggio Alfredo Paternoster

Logica per la Programmazione

Linguaggio della Matematica

Università di Udine DIPARTIMENTO DI MATEMATICA E INFORMATICA Corso di Laurea in Informatica. dispense di. Logica Matematica.

Elementi di Logica Matematica

Transcript:

Logica: materiale didattico M. Cialdea Mayer. Logica (dispense): http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 1 / 20

Logica Formale 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. Una logica è definita da: un Linguaggio formale (sintassi + semantica) Sintassi: insieme delle espressioni ben formate (linguaggio) Semantica: interpretazione M del linguaggio e nozione di verità un Sistema di inferenza Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 2 / 20

Logiche (al plurale) Logica classica: 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 dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 3 / 20

Logica classica (proposizionale e dei predicati) Rappresentazione di conoscenza dichiarativa e studio delle forme di ragionamento su questo tipo di conoscenza A B B A x(a(x) B(x)) B(c) A(c) Elementi di base: formule (o enunciati), che possono essere VERE o FALSE Gli enunciati si costruiscono a partire da formule atomiche, mediante l uso di operatori logici. Logica proposizionale: le formule atomiche sono atomi o variabili proposizionali, non ulteriormente analizzabili. Gli operatori logici sono i connettivi proposizionali: (NOT), (AND), (OR), (se/allora), (se e solo se) Logica dei predicati: le formule atomiche sono strutture costruite sulla base di simboli di relazione e termini. Gli operatori logici includono i quantificatori: (per ogni) e (esiste) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 4 / 20

Logica Proposizionale Classica Prerequisito per il corso http://cialdea.dia.uniroma3.it/teaching/logica/materiale/dispense-logica.pdf Capitolo 1 Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 5 / 20

Logica Proposizionale Classica: sintassi La sintassi di un linguaggio determina quali sono le espressioni corrette del linguaggio. Espressioni della logica: formule Alfabeto di un linguaggio proposizionale: P {,,,,,,, (, )} dofe P è un insieme di variabili proposizionali (o atomi). Definizione induttiva dell insieme Prop[P] delle formule costruite sulla base di P: 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 Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 6 / 20

Logica proposizionale: interpretazioni La semantica di una logica mette in relazione il linguaggio con una struttura matematica definita formalmente Linguaggio = Dominio Prop[P] = Bool = {T, F} La semantica stabilisce il significato degli operatori logici: quella della logica proposizionale, il significato dei connettivi. Il significato simboli non logici (variabili proposizionali ) può variare (possono essere interpretati in modi diversi). Interpretazione di un linguaggio: determina come interpretare i simboli non logici. Interpretazione del linguaggio P M: assegnazione di un booleano (valore di verità) a ogni variabile in P: M : P Bool Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 7 / 20

Logica proposizionale: nozione di verità Sia M : P Bool. M = A è definito per induzione su A: 1 M = p sse M(p) = T, se p P; 2 M = e M = ; 3 M = A sse M = A M = A: A è vera in M (M = A: A non è vera in M) 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 Questa definizione stabilisce il significato degli operatori logici. Il significato di,, (OR inclusivo) vi è familiare A B è falsa solo quando A è vera e B è falsa ( implicazione materiale ). A B: l interpretazione di A e B è uguale Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 8 / 20

Modelli, contromodelli, formule soddisfacibili Una interpretazione M è un modello di F (o soddisfa F) sse M = F. Una interpretazione M è un contromodello di F sse M = F. F è soddisfacibile sse esiste un modello di F. Le nozioni di modello, contromodello e soddisfacibilità si estendono a insiemi di formule. Se S è un insieme di formule: M = S sse per ogni A S, M = A. M è un contromodello di S (M = S) sse esiste una formula A S tale che M = A. S è soddisfacibile se esiste un modello di S. Osservazione: le nozioni di modello, contromodello e soddisfacibilità sono generali: sono le stesse per ogni logica modulo la nozione di M = A Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 9 / 20

Formule logicamente valide F è logicamente valida ( = F ) se e solo se per ogni interpretazione M di F, M = F ; cioè se non esistono contromodelli di F Attenzione: 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 =) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 10 / 20

Formule logicamente valide F è logicamente valida ( = F ) se e solo se per ogni interpretazione M di F, M = F ; cioè se non esistono contromodelli di F Attenzione: 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 =) 1 A A (identità) Alcune formule valide 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) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 10 / 20

Insoddisfacibilità e conseguenza logica F è una contraddizione (o è insoddisfacibile) se e solo se per ogni interpretazione M di F, M = F ; cioè se non esistono modelli di F. Un insieme di formule S è insoddisfacibile se non esistono modelli di S. Notare che una formula A è logicamente valida se e solo se A è insoddisfacibile. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 11 / 20

Insoddisfacibilità e conseguenza logica F è una contraddizione (o è insoddisfacibile) se e solo se per ogni interpretazione M di F, M = F ; cioè se non esistono modelli di F. Un insieme di formule S è insoddisfacibile se non esistono modelli di S. Notare che una formula A è logicamente valida se e solo se A è insoddisfacibile. Una formula 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. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 11 / 20

Relazione tra conseguenza logica e insoddisfacibilità S = A sse S { A} è insoddisfacibile (vale per ogni logica) Dimostrazione Ipotesi: S = A, cioè per ogni M, se M = S, allora M = A. Se esistesse M tale che M = S { A}, si avrebbe: M = S { A} = M = S = M = A M = S { A} = M = A = M = A Assurdo, quindi non esiste un modello di S { A}. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 12 / 20

Relazione tra conseguenza logica e insoddisfacibilità S = A sse S { A} è insoddisfacibile (vale per ogni logica) Dimostrazione Ipotesi: S = A, cioè per ogni M, se M = S, allora M = A. Se esistesse M tale che M = S { A}, si avrebbe: M = S { A} = M = S = M = A M = S { A} = M = A = M = A Assurdo, quindi non esiste un modello di S { A}. Ipotesi: S { A} è insoddisfacibile. Sia M un qualsiasi modello di S. Dato che M = S { A} e M = S, necessariamente M = A. Dunque ogni modello di S è un modello di A: M = A. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 12 / 20

Diversi usi del simbolo = Il suo significato dipende dal contesto (cosa c è alla sua sinistra?): un interpretazione (M = X dove X può indicare una formula o un insieme di formule): M è un modello di X ; nulla ( = A): A è logicamente valida ; 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. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 13 / 20

Ragionamenti corretti Un ragionamento che dalle ipotesi S conclude A è corretto sse S = A. Per verificare se A 1,..., A n = B si può: Dall ipotesi che M = {A 1,..., A n }, per M qualsiasi, dimostrare che M = B. Cercare un modello di {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 sistema di inferenza per la logica considerata. Tra i sistemi di inferenza utilizzabili: metodi di dimostrazione automatica. 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. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 14 / 20

Equivalenza logica Ciò equivale a dire che e anche che A e B sono logicamente equivalenti A B sse: per ogni interpretazione M di A e B: M = A sse M = B = 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 =. Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 15 / 20

Alcune equivalenze logiche importanti A A Commutatività e associatività di e : Leggi distributive: Leggi di De Morgan: Doppia negazione: 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 Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 16 / 20

Alcune equivalenze logiche importanti Leggi di assorbimento: Definibilità di : A (A B) A A (A B) A A B (A B) (B A) Interdefinibilità dei connettivi logici,, : 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 Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 17 / 20

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 (k 1) Ogni formula è logicamente equivalente a una formula in FNC ( p q) (q s p) p q (q s p) p q p q p Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 18 / 20

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 (k 1) Ogni formula è logicamente equivalente a una formula in FNC ( p q) (q s p) p q (q s p) p q p q p Una formula è in FND sse ha la forma C 1... C k dove ogni C i è una congiunzione di letterali (k 1) Ogni formula è logicamente equivalente a una formula in FND ( p q) (q s p) p q (q s p) p q p q p Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 18 / 20

Trasformazione in FNC e FND 1 Eliminare le implicazioni e le doppie implicazioni 2 Portare le negazioni sugli atomi 3 FNC: Distribuire su 4 FND: Distribuire su A B A B (A B) A B A B ( A B) ( B A) (A B) (A B) ( A B) (A B) A B (A B) A B A A (A B) C (A C) (B C) C (A B) (C A) (C B) (A B) C (A C) (B C) C (A B) (C A) (C B) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 19 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) = (p q) (q (r ( s p))) 2 Portare le negazioni sugli atomi (p q) (q (r ( s p))) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) = (p q) (q (r ( s p))) 2 Portare le negazioni sugli atomi (p q) (q (r ( s p))) = (p q) (q (r ( s p))) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) = (p q) (q (r ( s p))) 2 Portare le negazioni sugli atomi (p q) (q (r ( s p))) = (p q) (q (r ( s p))) = ( p q) (q (r ( s p))) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) = (p q) (q (r ( s p))) 2 Portare le negazioni sugli atomi 3 FNC: Distribuire su (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))) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20

Esempio Trasformazione in FNC di ( (p q) (q (r (s p)))) 1 Eliminare le implicazioni e le doppie implicazioni ( (p q) (q (r (s p)))) = (p q) (q (r ( s p))) 2 Portare le negazioni sugli atomi 3 FNC: Distribuire su (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) Logica dei Predicati (Logica per l Informatica) 01: Logica Proposizionale 20 / 20