LOGICA PER LA PROGRAMMAZIONE. Franco Turini turini@di.unipi.it



Documenti analoghi
LOGICA PER LA PROGRAMMAZIONE

CALCOLO PROPOSIZIONALE

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

CALCOLO PROPOSIZIONALE. Corso di Logica per la Programmazione Andrea Corradini

Alcune nozioni di base di Logica Matematica

Un introduzione al corso di LOGICA PER LA PROGRAMMAZIONE

Logica per la Programmazione

DIMOSTRAZIONI DI TAUTOLOGIE. Corso di Logica per la Programmazione

Algebra di Boole ed Elementi di Logica

Anno 1. Definizione di Logica e operazioni logiche

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

La Logica Proposizionale. (Algebra di Boole)

Predicati e Quantificatori

Logica per la Programmazione

CALCOLO PROPOSIZIONALE: CENNI

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

G. Pareschi ALGEBRE DI BOOLE. 1. Algebre di Boole

Lezioni di Matematica 1 - I modulo

5A un multiplo di 3 5B una potenza di 5 5C divisibile per 7 e per 11 5D. D. 6 Le soluzioni dell equazione 1 + 3x 2x 2 = 0 sono 3 ± 17 6D 3 ± 17

DIMOSTRAZIONI DI EQUIVALENZE, SUI CONNETTIVI E SULL'AMBIGUITA' DELLA SINTASSI. Corso di Logica per la Programmazione A.A. 2013/14 Andrea Corradini

Appunti di Logica Matematica

Errori più comuni. nelle prove scritte

x u v(p(x, fx) q(u, v)), e poi

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

f: AxB f(x)=y, f={<x,y> per ogni x in A esiste unica y in B f(x)=y} f={<1,2>, <2,3>, <3,3>} : {1,2,3} {1,2,3} f(1)=2, f(2)=3, f(3)=3

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

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

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

Mathematical logic 1 st assessment Propositional Logic 23 October 2014

(anno accademico )

Algebra di Boole. Le operazioni, nell algebra booleana sono basate su questi tre operatori: AND ( ), OR ( + ),NOT ( )

Dall italiano al linguaggio della logica proposizionale

Calcolatori: Algebra Booleana e Reti Logiche

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Fondamenti di calcolo booleano

Una proposizione è una affermazione di cui si possa stabilire con certezza il valore di verità

Teoria degli insiemi

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Operatori logici e porte logiche

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

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Esercitazioni di Reti Logiche. Lezione 2 Algebra Booleana e Porte Logiche. Zeynep KIZILTAN zkiziltan@deis.unibo.it

Logica per la Programmazione Corso di Laurea in INFORMATICA a.a. 2015/16

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

Albero semantico. Albero che mette in corrispondenza ogni formula con tutte le sue possibili interpretazioni.

SOMMARIO I radicali pag I radicali aritmetici pag Moltiplicazione e divisione fra radicali aritmetici pag.

Logica per la Programmazione

Logica per la Programmazione

Codifica binaria e algebra di Boole

Appunti di LOGICA MATEMATICA (a.a ; A.Ursini) Algebre di Boole. 1. Definizione e proprietá

4 3 4 = 4 x x x 10 0 aaa

2. Semantica proposizionale classica

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Semantica Assiomatica

Implicazione logica. p q p q falsa falsa vera falsa vera vera vera falsa falsa vera vera vera

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Convertitori numerici in Excel

L algebra di Boole. Cenni Corso di Reti Logiche B. Mariagiovanna Sami

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Ancora sugli insiemi. Simbologia

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

Prodotto libero di gruppi

Lezione 9: Cambio di base

Esercitazione. Proposizioni. April 16, Esercizi presi dal libro di Rosen (useremo 0 per False e 1 per True). Problema 15, sezione 1.1.

NORMALIZZAZIONE DI SCHEMI RELAZIONALI. Prof.ssa Rosalba Giugno

risulta (x) = 1 se x < 0.

4. Operazioni binarie, gruppi e campi.

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

Semantica operazionale dei linguaggi di Programmazione

Fondamenti di Informatica. Cenni di Algebra di Boole. Prof. Franco Zambonelli Gennaio 2011

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Il principio di induzione e i numeri naturali.

1 Giochi a due, con informazione perfetta e somma zero

Attributi e domini. A per {A}; XY per X Y (pertanto A 1 A 2 A 3 denota

1. PRIME PROPRIETÀ 2

1 Insiemi e terminologia

Numeri naturali numeri naturali minore maggiore Operazioni con numeri naturali

Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione

LA MOLTIPLICAZIONE IN CLASSE SECONDA

Esercizio 1 Dato il gioco ({1, 2, 3}, v) con v funzione caratteristica tale che:

Applicazioni lineari

OSSERVAZIONI TEORICHE Lezione n. 4

Esercizio per casa. Filosofia della scienza Gianluigi Bellin. October 29, Si formalizzino i seguenti enunciati nel calcolo dei predicati.

I sistemi di numerazione

Processo di risoluzione di un problema ingegneristico. Processo di risoluzione di un problema ingegneristico

Vincoli di integrità

Dimensione di uno Spazio vettoriale

Insiemi con un operazione

Griglia di correzione Fascicolo di Italiano Prova Nazionale anno scolastico

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

Dispense per il laboratorio di rappresentazione e algoritmi

1 Applicazioni Lineari tra Spazi Vettoriali

Anno 5 4. Funzioni reali: il dominio

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Fondamenti dei linguaggi di programmazione

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

Introduzione al MATLAB c Parte 2

Transcript:

LOGICA PER LA PROGRAMMAZIONE Franco Turini turini@di.unipi.it

IPSE DIXIT

Si consideri la frase: in un dato campione di pazienti, chi ha fatto uso di droghe pesanti ha utilizzato anche droghe leggere. Quali delle seguenti osservazioni relative ai pazienti del campione si può dedurre da essa? 1) Chi ha fatto uso di droghe leggere ha utilizzato anche droghe pesanti 2) Chi non ha fatto uso di droghe leggere non ha utilizzato droghe pesanti 3) Chi non ha fatto uso di droghe pesanti non ha utilizzato droghe leggere 4) Chi non ha fatto uso di droghe leggere ha utilizzato droghe pesanti

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 perché 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

FORMALIZZAZIONE DI DIMOSTRAZIONI Caso semplice: dimostrazioni di equivalenza (=) E1 = {giustificazione_1} E2 = {giustificazione_2}... = {giustificazione_n-1} En

PRINCIPIO DI SOSTITUZIONE Se p=q allora una espressione r in cui a p è sostituito q (o viceversa) mantiene il suo valore In formule r = r[q/p] r = r q p

DIMOSTRAZIONI: COMINCIAMO DALLA ARITMETICA (a+b)(a-b) = {distributività della moltiplicazione rispetto all addizione, ovvero, in formule, (y+z)x = yx+zx applicata con a al posto di y, b al posto di z e (a-b) al posto di x} a(a-b)+b(a-b) = {distributività della moltiplicazione rispetto alla sottrazione, due volte, ovvero, in formule, x(y-z) = xy-xz applicata la prima volta con x=a, y=a, z=b e la seconda con x=b, y=a, z=b} (aa-ab)+(ba-bb) = {xx=x^2, e associatività dell addizione} a^2-ab+ba b^2 = {commutatività della moltiplicazione, e -x+x=0} a^2+0-b^2 = {x+0=x} a^2-b^2

IL CALCOLO DELLE PROPOSIZIONI Le proposizioni (enunciati dichiarativi) sono asserzioni a cui sia assegnabile in modo univoco un valore di verità in accordo ad una interpretazione del mondo a cui si riferiscono. dichiarativi sono non già tutti i discorsi, ma quelli in cui sussiste una enunciazione vera oppure falsa Aristotele

ESEMPI DI PROPOSIZIONI (IN ACCORDO ALLA INTERPRETAZIONE OVVIA) 1. Roma è la capitale d Italia 2. La Francia è uno stato del continente asiatico 3. 1+1 = 2 4. 2+2 = 3

ESEMPI DI NON PROPOSIZIONI 1. Che ora è? 2. Leggete queste note con attenzione 3. X+1 = 2

CONNETTIVI LOGICI Connettivo Forma simbolica Operazione corrispondente not ~ p negazione and p q congiunzione or 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

SINTASSI (STRUTTURA) DELLE PROPOSIZIONI Prop ::= Prop Prop Prop Prop Prop Prop Prop Prop Prop Prop Atom ~Atom Atom ::= T F Ide (Prop) Ide ::= p q

PRECEDENZA TRA CONNETTIVI

SEMANTICA (SIGNIFICATO) DELLE PROPOSIZIONI 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

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

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 La proprietà di essere una tautologia e il principio di sostituzione ci permettono di dimostrare implicazioni e equivalenze tautologiche

LEGGI Le leggi sono tautologie (dimostrabili p.e. con le tabelle di verità) utili per effettuare le dimostrazioni Leggi per p p (Riflessività) (p q) (q p) (Simmetria) ((p q) r) (p (q r)) (Associatività) (p T) p (Unità) ((p q) (q r)) (p r) (Transitività)

LEGGI PER CONGIUNZIONE E DISGIUNZIONE p q q p (Commutatività) p q q p p (q r) (p q) r (Associatività) p (q r) (p q) r p p p (Idempotenza) p p p p T p (Unità) p F p p F F (Zero) p T T p (q r) (p q) (p r) (Distributività) p (q r) (p q) (p r)

ESEMPIO Teorema: p (q r) (p q) (p r) Prova: (p q) (p r) {Commutatività} (q p) (p r) {Associatività} q (p (p r)) {Associatività} q ((p p) r) {Idempotenza} q (p r) {Associatività} (q p) r {Commutavità} (p q) r {Associatività} p (q r)

COMMENTI La dimostrazione fatta usando le leggi (tautologie utili per trasformare proposizioni in proposizioni equivalenti) garantisce la correttezza della dimostrazione Naturalmente la tecnica non automatizza le dimostrazioni. Rimane a carico nostro la scelta delle leggi da usare, da quale membro della equivalenza partire, l organizzazione della sequenza dei passaggi.

LEGGI DI ASSORBIMENTO (1) p (p q) p p (p q) p (Assorbimento) Prova (semantica) di p (p q) p p q (p q) p (p q) F F F F F T T F T F T T T T T T

LEGGI DI ASSORBIMENTO (2) p (p q) p (Assorbimento) p (p q) p Prova (calcolo) di p (p q) p p (p q) {Unità} (p F) (p q) {Distributività} p (F q) {Zero} p F {Unità} p

LEGGI DELLA NEGAZIONE ~(~ p) p (Doppia negazione) p ~p T (Terzo escluso) p ~p F (Contraddizione) ~p ~q ~(p q) (De Morgan) ~p ~q ~(p q) ~T F (T:F) ~F T

LEGGI DEL COMPLEMENTO (1) p (~p q) p q p (~p q) p q (Complemento) Prova (semantica) di p (~p q) p q p q ~p (p q) (~p q) p (~p q) F F T F F F F T T T T T T F F T F T T T F T F T

LEGGI DEL COMPLEMENTO (2) p (~p q) p q p (~p q) p q (Complemento) Prova (calcolo) di p (~p q) p q p (~p q) {Distributività} (p ~p) (p q) {Terzo escluso} T (p q) {Unità} (p q)

LEGGI DELL IMPLICAZIONE (1) (p q) (~p q) (elim- ) p q (p q) ~p (~p q) F F T T T F T T T T T F F F F T T T F T

LEGGI DELL IMPLICAZIONE (2) (p q) (p q) (q p) (elim- ) (p q) (q p) (elim- ) Tutte le tautologie del calcolo proposizionale sono derivabili dall insieme delle leggi visto Conviene comunque, per motivi di espressività e compattezza delle definizioni, introdurre leggi derivate che corrispondono ad assodate tecniche di dimostrazione.

Insiemi funzionalmente completi di connettivi logici Abbiamo introdotto 5 connettivi logici: Connettivo Forma simbolica Operazione corrispondente not ~ p negazione and p q congiunzione or 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 Alcuni possono essere definiti in termini di altri. Molti sottoinsiemi sono "funzionalmente completi", cioè permettono di derivare tutti gli altri. Esercizio: Mostrare che {, ~}, {, ~} e {, ~} sono funzionalmente completi

LEGGI DERIVATE (p (p q)) q (modus ponens) (p q) ( q p) (controposizione) (p p) p (reductio ad absurdum) ((p q) (q r)) (p r) (transitività)

CORRETTEZZA DEL MODUS PONENS (p (p q)) q {Elim- } ~(p (p q)) q {Elim- } ~(p (~p q)) q {DeMorgan} ~p ~(~p q) q {DeMorgan} ~p (~~p ~q) q {Complemento} ~p ~q q {TerzoEscluso} ~p T {Zero} T

ESERCIZI DEL TEST (1) Si consideri la frase: in un dato campione di pazienti, chi ha fatto uso di droghe pesanti ha utilizzato anche droghe leggere. Formalizziamo l'enunciato. Introduciamo due "identificatori"(nomi) per le proposizioni nella frase: dp= fare uso di droghe pesanti. dl = fare uso di droghe leggere Qundi la frase dice: dp dl

ESERCIZI DEL TEST (1) Quali delle seguenti osservazioni relative ai pazienti del campione si può dedurre da essa? Formalizziamole: 1) Chi ha fatto uso di droghe leggere ha utilizzato anche droghe pesanti dl dp 2) Chi non ha fatto uso di droghe leggere non ha utilizzato droghe pesanti dl dp 3) Chi non ha fatto uso di droghe pesanti non ha utilizzato droghe leggere dp dl 4) Chi non ha fatto uso di droghe leggere ha utilizzato droghe pesanti dl dp

ESERCIZI DEL TEST (1) Quali delle seguenti osservazioni relative ai pazienti del campione si può dedurre da essa? Per ognuna delle osservazioni, vediamo se è una conseguenza tautologica della premessa dp dl. Quindi vediamo quali delle seguenti sono tautologie: 1) (dp dl) (dl dp) 2) (dp dl) ( dl dp) 3) (dp dl) ( dp dl) 4) (dp dl) ( dl dp)

ESERCIZI DEL TEST (1) Per vedere se sono tautologie, possiamo cercare di dimostrare che sono equivalenti a T. Sfruttando l'intuizione, vediamo che : 1) (dp dl) (dl dp) non è tautologia: sia dl = T, dp = F 2) (dp dl) ( dl dp) è tautologia: usiamo controposizione e eliminazione di 3) (dp dl) ( dp dl)... 4) (dp dl) ( dl dp)...

ESERCIZI DEL TEST (2) Se Corrado va al cinema, allora ci va anche Antonio Corrado Antonio Condizione necessaria perché Antonio vada al cinema è che ci vada Bruno Antonio Bruno (Corrado Antonio) (Antonio Bruno) Corrado Bruno {transitività}