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

Documenti analoghi
CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

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

Una Breve Introduzione alla Logica

Un introduzione al corso di LOGICA PER LA PROGRAMMAZIONE

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

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

Logica: materiale didattico

METODI MATEMATICI PER L 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 proposizionale

L'algebra Booleana. Generalità. Definizioni

Logica per la Programmazione

Prerequisiti Matematici

Un po di logica. Christian Ferrari. Laboratorio di matematica

Introduzione alla logica

Cenni di logica e calcolo proposizionale

Logica e fondamenti di matematica

LOGICA PER LA PROGRAMMAZIONE. Franco Turini

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

NOZIONI DI LOGICA PROPOSIZIONI.

Informatica. Logica e Algebra di Boole

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

Luca Costabile Esercizi di Logica Matematica Dispensa Calcolo Proposizionale 1

NOZIONI DI LOGICA. Premessa

Logica: nozioni di base

Richiami teorici ed esercizi di Logica

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

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

Logica per la Programmazione

DI CHE COSA SI OCCUPA LA LOGICA

Logica proposizionale

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

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

Proposizioni e verità

Logica per la Programmazione

sempre vere sempre false

Logica per la Programmazione

Ricordando che: = si ha:

Maiuscole e minuscole

Elementi di Logica Le forme del ragionamento

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

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

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

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

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

Intelligenza Artificiale I

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

PROGRAMMA CONSUNTIVO

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

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

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

Esercitazioni per il corso di Logica Matematica

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

Percorso 2010: Introduzione alla Logica Proposizionale

Lezione 1: Introduzione al Corso Mercoledì 30 Settembre 2009

04 - Logica delle dimostrazioni

10 Logica classica predicativa

Logica proposizionale

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

Logica proposizionale

LOGICA. Definizione: una proposizione semplice è una frase della quale si possa dire se è

Logica per la Programmazione

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

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

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

Nozioni di logica matematica

Richiami di logica matematica

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

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

Introduzione alla Programmazione Logica ed al linguaggio PROLOG

Elementi di Logica Teoria degli insiemi

CALCOLO DEI PREDICATI DEL I ORDINE

Es. quadrilatero: specie di poligono, genere di quadrato. La specie ha più caratteristiche, il genere è riferito a più elementi.

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

Logica e teoria degli insiemi

LOGICA E FILOSOFIA DELLA SCIENZA

I TEST DI LOGICA. Alberto Zanardo Dipartimento di Matematica P. A. Università di Padova. Licei Lioy e Pigafetta, Vicenza, 20 Gennaio 2011

Liceo Scientifico G. Galilei Trebisacce Anno Scolastico

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

Introduzione alla logica matematica

Che cosa abbiamo fatto fin ora

Logica proposizionale

Alcune Tracce dei Precedenti Esami del Dottorato di Siena in Logica Matematica ed Informatica Teorica

Logica dei predicati

LA NOZIONE DI INSIEME, PRIME OPERAZIONI TRA INSIEMI, ELEMENTI BASILARI DI LOGICA

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

1. equivalenze e implicazioni logiche. Esercizio 1.2. Trovare le implicazioni che legano i seguenti enunciati (x, y R):

CALCOLO DEL PRIMO ORDINE

Esercizi di rappresentazione

1 IL LINGUAGGIO MATEMATICO

ISTITUZIONI DI LOGICA(1)

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

Esercitazioni per il corso di Logica Matematica

TEST DI INGRESSO. Al seguente indirizzo puoi trovare il test di matematica di base per scienze biotecnologiche

Sviluppo di programmi

Che cos è la filosofia analitica?

Transcript:

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2016/17 Andrea Corradini e Francesca Levi Dipartimento di Informatica E-mail: andrea@di.unipi.it, francesca.levi@unipi.it A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 1

Introduzione al Corso Informazioni Utili Informazioni Utili Docente: Andrea Corradini andrea@di.unipi.it Esercitazioni: Chiara Bodei + Andrea Corradini Orario Lezioni: MAR 14-16 - GIO 11-13 Ricevimento studenti: Mercoledi, 15-18 [e su appuntamento] Pagina web del corso: http://www.di.unipi.it/ andrea/didattica/lpp-16/ Materiale didattico: dispense scaricabili dalla pagina web Occorre superare 25 CFU (almeno 12 CFU INF/01, e almeno 9 CFU MAT/* o FIS/*) entro settembre per passare al secondo anno LPP (6 CFU) è un corso INF/01 A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 2

Introduzione al Corso La logica Matematica La Logica La logica è la disciplina che studia le condizioni di correttezza del ragionamento Occorre dire, anzitutto, quale oggetto riguardi ed a quale disciplina spetti la presente indagine, che essa cioè riguarda la dimostrazione e spetta alla scienza dimostrativa: in seguito, bisogna precisare cosa sia la premessa, cosa sia il termine, cosa sia il sillogismo... Aristotele Esempio di sillogismo Tutti gli uomini sono mortali Socrate è un uomo Socrate è mortale A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 3

Introduzione al Corso La logica Matematica La Logica (cont.) Non tutti i sillogismi sono validi: Tutti gli animali sono mortali Pippo è mortale Pippo è un animale Tutti gli dei sono immortali Gli uomini non sono dei Gi uomini sono mortali A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 4

Introduzione al Corso La logica Matematica Dalla Logica alla Matematica Nella seconda metà del XIX vengono sviluppate notazioni matematiche (algebriche) per trattare le operazioni della logica (George Boole, Augustus de Morgan,...) Questo ha consentito di applicare la logica ai fondamenti della matematica, arrivando a interessanti controversie fondazionali (studiate negli anni 1900-25) In matematica, la logica è usata, tra l altro, per esprimere asserti in modo non ambiguo Esempio: tutti i numeri pari maggiori di due non sono primi ( n. n N pari(n) n > 2 primo(n)) chiarire e formalizzare il concetto di dimostrazione A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 5

Introduzione al Corso La logica Matematica Logica Matematica e Informatica La logica matematica ha profondi legami con l informatica: l informatica ha dato nuovo impulso allo studio della LM la LM è parte integrante dei fondamenti teorici dell informatica Usi della Logica Matematica in Informatica: formalizzazione di requisiti dimostrazione di proprietà di programmi (es: logica di Hoare) fondamenti di programmazione dichiarativa (PROLOG) rappresentazione della conoscenza (Intelligenza Artificiale) fondamenti di strumenti di analisi e di verifica di sistemi Model checking Theorem proving A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 6

Introduzione al Corso Contenuti del Corso Introduzione (già fatta!) Calcolo Proposizionale Connettivi logici e loro proprietà Tautologie, tecniche di dimostrazione Logica del Primo Ordine Sintassi e semantica Leggi e regole di inferenza per i quantificatori Esempi da teoria degli insiemi e dominio dei naturali Quantificatori funzionali min, max, cardinalità, sommatoria: leggi e dimostrazioni Triple di Hoare http://it.wikipedia.org/wiki/tony Hoare Un semplice linguaggio imperativo, semantica operazionale Verifica di proprietà di semplici programmi A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 7

Un Problema di Deduzione Logica [da un test di ingresso] Tre amici, Antonio, Bruno e Corrado, sono incerti se andare al cinema. Si sa che: Se Corrado va al cinema, allora ci va anche Antonio; Condizione necessaria affinché Antonio vada al cinema è che ci vada Bruno. Il giorno successivo possiamo affermare con certezza che: 1. Se Corrado è andato al cinema, allora ci è andato anche Bruno 2. Nessuno dei tre amici è andato al cinema 3. Se Bruno è andato al cinema, allora ci è andato anche Corrado 4. Se Corrado non è andato al cinema, allora non ci è andato nemmeno Bruno Come si formalizza? Come si può usare una dimostrazione per rispondere alla domanda? A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 8

Il Calcolo Proposizionale È il nucleo di (quasi) tutte le logiche. Limitato potere espressivo, ma sufficiente per introdurre il concetto di dimostrazione. Una proposizione è un enunciato dichiarativo (per esempio una frase in linguaggio naturale) che afferma qualcosa e per il quale si può dire: Principio del terzo escluso: che è vero oppure è falso (non ci sono altre possibilità) Principio di non contradditorietà: che non è al tempo stesso sia vero che falso. dichiarativi sono non già tutti i discorsi, ma quelli in cui sussiste una enunciazione vera oppure falsa Aristotele A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 9

Esempi di Proposizioni Atomiche 1. Roma è la capitale d Italia 2. La Francia è uno stato del continente asiatico 3. 1+1 = 2 4. 2+2 = 3 A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 10

Esempi di Non Proposizioni 1. Che ora è? 2. Leggete queste note con attenzione 3. x+1 = 2 A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 11

Connettivi Logici Connettivo Forma simbolica Operazione corrispondente not p negazione and, e p q congiunzione or, o p q disgiunzione se p allora q p q implicazione p se e solo se q p q equivalenza p se q p q conseguenza A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 12

Sintassi delle Proposizioni (Grammatica) Prop ::= Atom ::= Ide ::= Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Atom Atom T F Ide (Prop) p q... P Q... A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 13

Semantica (significato) delle Proposizioni Tabelle di verità dei connettivi logici: P Q P P Q P Q P Q P Q P Q T T F T T T T T T F F F T F F T F T T F T T F F F F T F F T T T Si osservi in particolare il valore di verità di un implicazione (o di una conseguenza) A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 14

Calcolo Proposizionale per formalizzare Enunciati: Esempio Tre amici, Antonio, Bruno e Corrado, sono incerti se andare al cinema. Introduciamo tre proposizioni: A Antonio va al cinema B Bruno va al cinema C Corrado va al cinema Si sa che: Se Corrado va al cinema, allora ci va anche Antonio; C A Condizione necessaria affinché Antonio vada al cinema è che ci vada Bruno. A B A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 15

Calcolo Proposizionale per formalizzare Enunciati: Esempio (cont.) Il giorno successivo possiamo affermare con certezza che: Se Corrado è andato al cinema, allora ci è andato anche Bruno C B Nessuno dei tre amici è andato al cinema A B C Se Bruno è andato al cinema, allora ci è andato anche Corrado B C Se Corrado non è andato al cinema, allora non ci è andato nemmeno Bruno C B Per rispondere alla domanda, dobbiamo capire quale di queste quattro proposizioni è conseguenza logica delle proposizioni precedenti A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 16

Formalizzazione di Enunciati: Esempi Piove e fa molto freddo P piove, R fa freddo [P R] Fa freddo, ma non piove [R P] Se ci sono nuvole e non c è vento, allora piove N ci sono nuvole, V c è vento [(N V ) P] Piove solo se ci sono nuvole e non c è vento Nevica, ma non fa freddo se ci si copre Ne nevica, C ci si copre Se ci si copre, allora fa freddo o nevica [P (N V )] [Ne ( R C)] [C (R Ne)] A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 17

Formalizzazione di Implicazioni in Linguaggio Naturale Scrivere la proposizione rappresentata da ognuna delle seguenti frasi in italiano: Se P allora Q [P Q] P è una conseguenza di Q [Q P] P è condizione necessaria e sufficiente per Q [P Q] P è condizione necessaria per Q [Q P] P è condizione sufficiente per Q [P Q] P vale solo se vale Q [P Q] P vale se vale Q [Q P] P vale se e solo se vale Q [P Q] Condizione necessaria affinché Antonio vada al cinema è che ci vada Bruno [A B] A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 18

Tautologie e Contraddizioni Una tautologia è una formula del calcolo proposizionale che vale T per qualunque valore T/F assegnato alle variabili proposizionali Esempio: P P (vedi tabella di verità) Una contraddizione è una formula che vale F per qualunque valore T/F assegnato alle variabili proposizionali Quindi P è una tautologia se e solo se P è una contraddizione A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 19

Implicazioni e Equivalenze Tautologiche Diciamo che p implica tautologicamente q se e solo se p q è una tautologia p è tautologicamente equivalente a q se e solo se p q è una tautologia Praticamente tutti i problemi nel Calcolo Proposizionale si riducono a dimostrare che una proposizione è una tautologia. Come si può dimostrare? A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 20

Dimostrazione di Tautologie Per dimostrare che p è una tautologia possiamo Usare le tabelle di verità Del tutto meccanico, richiede di considerare 2 n casi, dove n è il numero di variabili proposizionali in p Cercare di costruire una dimostrazione Usando delle leggi (tautologie già dimostrate) Usando opportune regole di inferenza Si possono impostare vari tipi di dimostrazione Mostrare che non è una tautologia individuando valori delle variabili proposizionali che rendono falsa p A. Corradini e F.Levi Dip.to Informatica Logica per la Programmazione a.a. 2016/17 pag. 21