calcolo proposizionale

Upload: michela-maroni

Post on 06-Jul-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Calcolo Proposizionale

    1/42

    Logica Proposizionale - Parte 1Corso di Logica

    Brunella Gerla

    Università dell’Insubria, [email protected]

  • 8/17/2019 Calcolo Proposizionale

    2/42

    Pagina web del sito dell’elearning:

    http://elearning3.uninsubria.it  - Logica Matematica

    Libro di testo:

    A. Asperti - A. Ciabattoni: Logica a Informatica. McGraw-Hill

    appunti online.

    Approfondimenti:

    D. Mundici - Logica: metodo breve. Springer.

    D. e C. Palladino - Logiche non-classiche. Carrocci editore.Slide e appunti sul sito.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   2 / 42

  • 8/17/2019 Calcolo Proposizionale

    3/42

    Prerequisiti

    Matematica discreta: Insiemi e funzioni Relazioni d’equivalenza Proprietà dei numeri interi

    Cenni di informatica teorica (computabilità )

    Ragionamento matematico

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   3 / 42

  • 8/17/2019 Calcolo Proposizionale

    4/42

    Programma

    Logica proposizionale: Tavole di verità Forme normali Metodi di dimostrazione

    Logica dei predicati Quantificatori e variabili Semantica Metodi di dimostrazione

    Logiche non classiche

    Cenni alla verifica dei programmi e/o logica descrittiva.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   4 / 42

  • 8/17/2019 Calcolo Proposizionale

    5/42

    Logica Matematica

    Lo studio della logica matematica come manipolazione algebrica(simbolica) dei gradi di verità è iniziato con Boole (1815 - 1864) il qualeha introdotto l’utilizzo dei simboli 0 e 1, che si sono poi rivelatifondamentali per gli inizi dello studio dell’informatica.

    La logica, intesa come studio del ragionamento umano, invece ha origini

    molto più antiche. Di solito si fanno risalire i primi studi su questoargomento ad Aristotele (384 a.C.), che si occupò di formalizzare ilragionamento attraverso i sillogismi.

    Ma l’utilizzo di una notazione più sintetica e matematica è stato il passo

    decisivo che ha portato alla formalizzazione del linguaggio logico e alladistinzione tra la logica come disciplina filosofica e la logica matematica(che è quella che studieremo durante questo corso).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   5 / 42

  • 8/17/2019 Calcolo Proposizionale

    6/42

    Schemi di ragionamento - sillogismi

    Uno dei primi schemi di ragionamento studiati (fin dai tempi di Aristotele)

    è il  sillogismo :

    Tutti i carnivori hanno i denti affilatiIl T-rex è un carnivoro

    QUINDI il T-rex ha i denti affilati

    Tale ragionamento può essere schematizzato nel seguente modo (vedremodopo una formalizzazione più precisa): Se  C (x ) vuol dire  x   è un carnivoro,D (x ) vuol dire x ha i denti affilati, allora vale che

    C (T-rex)   ∀x [C (x ) → D (x )]

    D (T-rex)

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   6 / 42

  • 8/17/2019 Calcolo Proposizionale

    7/42

    Usiamo una linea orizzontale proprio come per le operazioni, persottolineare che stiamo cercando di capire se ci sono delle regole perragionare che valgano per le affermazioni cos̀ı come le operazioniaritmetiche valgono per i numeri.Esempi invece di ragionamento  sbagliato  (ma purtroppo molto comune)sono i seguenti:

    Tutti i gatti di Forlimpopoli sono bianchiFido è bianco

    QUINDI Fido è un gatto

    C’è sicuramente uno studente che copia

    Enea è uno studenteQUINDI Enea copia

    Non è vero...

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   7 / 42

  • 8/17/2019 Calcolo Proposizionale

    8/42

    Tre diversi tipi di ragionamento scientifico (è una esemplificazione...)

    Deduzione

    La matematica usa la  deduzione: se sono sicuro che vale  A  e se dimostroche ogni volta che vale   A  allora vale  B  , allora deve valere anche  B .Rappresentiamo schematicamente questo tipo di ragionamento nelseguente modo:

    A A → B 

      .

    Induzione

    Le scienze sperimentali (quali la fisica e la chimica) usano invece un altrotipo di ragionamento, l’induzione: se osservo che tutte le volte che ho un

    fenomeno  A  poi si verifica anche un fenomeno  B  allora posso dedurre chevale la regola  A →  B :

    A B 

    A → B   .

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   8 / 42

  • 8/17/2019 Calcolo Proposizionale

    9/42

    Abduzione

    Infine se siamo nell’ambito delle diagnosi, quindi per esempio in medicina,usiamo ancora un altro tipo di ragionamento, l’abduzione: se ho imparatoche ad una certa malattia  A  corrispondono dei sintomi  B  e osservo isintomi  B  allora diagnostico la malattia  A:

    A → B B 

    A  .

    Vedremo che la differenza maggiore tra i tre tipi di ragionamento risiedenel fatto che solo la deduzione permette di ottenere formule vere a partire

    da formule vere.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   9 / 42

  • 8/17/2019 Calcolo Proposizionale

    10/42

    Logica proposizionaleLa logica proposizionale si occupa di studiare il grado di verità delleproposizioni  o  asserzioni .

    Una proposizione è una frase alla quale può essere assegnato un valore diverità , cioè della quale si può dire se è vera o falsa.Sono esempi di asserzioni le frasi

    ‘questa mela è rossa’ 

    oppure‘il mare è giallo’ 

    o anche frasi composte come

    ‘ogni cittadino di Sgobbonia o è un gatto oppure un serpente’.

    Esempi di frasi che non sono asserzioni sono tutte le domande, leesclamazioni (‘stai bene?’, ‘mangi quella mela?’, ‘vattene!’) e in generalele frasi per le quali non ha senso dire se sono vere o false. Questachiaramente non è una definizione molto formale, ma può bastare per farsi

    un’idea del nostro contesto.B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   10 / 42

  • 8/17/2019 Calcolo Proposizionale

    11/42

    Una asserzione complessa è formata da più asserzioni semplici compostetra di loro tramite delle paroline speciali che chiameremo  connettivi .

    A questo livello di studio siamo interessati solo ad alcuni connettivi, inparticolare

    alla  negazione  (‘non è vero che questa mela è rossa’),

    alla  congiunzione  (‘questa mela è rossa e il mare è blu’),

    alla  disgiunzione  (‘questa mela è rossa oppure è gialla’) eall’implicazione  (‘se questa mela è rossa allora me la mangio’).

    Nella nostra formalizzazione useremo un simbolo per ogni asserzione chenon è composta da altre asserzioni (cioè per ogni asserzione  atomica), e

    poi utilizzeremo dei simboli per i connettivi. Le asserzioni atomichesaranno denotate con dei simboli che chiameremo  variabili proposizionali perché il loro valore di verità potrà variare tra vero e falso.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   11 / 42

  • 8/17/2019 Calcolo Proposizionale

    12/42

    Una proposizione può essere vera o falsa, a seconda del contesto.Per ora ci occupiamo di logica con DUE valori di verità : VERO (o V o 1)e FALSO (o F o 0).

    Consideriamo le seguenti proposizioni:

    La mela è rossa

    n   è un numero pari 

    Entrambe possono essere vere o false, la prima dipende da quale melastiamo considerando, la seconda dipende dal valore di  n.Ma le seguenti proposizioni sono sempre vere:

    Se la mela è rossa allora non è verde 

    n   è un numero pari oppure è un numero dispari 

    Proposizioni di questo ultimo tipo, che sono sempre vere, si chiamanotautologie.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   12 / 42

  • 8/17/2019 Calcolo Proposizionale

    13/42

    Linguaggio

    DefinizioneIl linguaggio della logica proposizionale è formato dai seguenti insiemi 

    Var   insieme delle variabili proposizionali, di solito denotate con  X ,  Y ,...

    ⊥  simbolo per denotare il falso connettivi  ∧, ∨, →, ¬

    parentesi  (,  )

    I connettivi ∧, ∨ e → (rispettivamente chiamati congiunzione, disgiunzionee implicazione) sono connettivi  binari  che hanno cioè due argomenti.Invece la negazione  ¬  è un connettivo unario, con un solo argomento.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   13 / 42

  • 8/17/2019 Calcolo Proposizionale

    14/42

    Formule

    DefinizioneL’insieme   Form  delle formule è definito nel seguente modo:

    Ogni variabile è una formula  Var  ⊆ Form;

    ⊥  è una formula  ⊥ ∈ Form;

    Se  P   è una formula allora  (¬P )  è una formula;

    Se  P 1, P 2  sono formule allora  (P 1 ∧ P 2),  (P 1 ∨ P 2),  (P 1 → P 2)  sono formule.

    Diremo che i connettivi  ∧,  ∨,  → sono rispettivamente i connettivi

    principali  delle formule (P 1 ∧ P 2), (P 1 ∨ P 2), (P 1 → P 2) e che  ¬  è ilconnettivo principale della formula (¬P ).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   14 / 42

  • 8/17/2019 Calcolo Proposizionale

    15/42

    Gerarchia dei connettivi

    Nella definizione delle formule, le parentesi sono utilizzate per evitareambiguità .La definizione data però ci obbliga ad usare tante parentesi: per esempioX  ∧ Y   non è una formula perchè non ha le parentesi.

    Cerchiamo quindi un compromesso tra la praticità di scrittura e laprecisione sintattica.

    La prima regola è quella di evitare di scrivere le parentesi che racchiudonotutta la formula. Poi diamo una gerarchia ai connettivi, in modo da

    risparmiare sulle parentesi.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   15 / 42

  • 8/17/2019 Calcolo Proposizionale

    16/42

    Gerarchia dei connettivi

    Stabiliamo che, in mancanza di parentesi che chiariscano la situazione, la

    negazione viene applicata prima degli altri connettivi: quindi per esempiola formula  ¬X   → Y  va intesa come (¬X ) →  Y .In secondo luogo stabiliamo che la congiunzione e la disgiunzione siapplicano prima dell’implicazione (ma dopo la negazione): per esempio¬X  ∧ Y   → ¬Z  va letta come ((¬X ) ∧ Y ) →  (¬Z ). In questo modo

    potremmo utilizzare una scrittura più veloce senza perdere in precisione.

    Esempio

    La formulaX  ∨ ¬Y   → X  ∧ ¬Z 

    si legge come(X  ∨ ¬Y ) → (X  ∧ ¬Z )

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   16 / 42

  • 8/17/2019 Calcolo Proposizionale

    17/42

    Induzione strutturale

    L’insieme delle formule è definito per induzione strutturale, cioè si partecon la definizione delle formule più piccole, quelle atomiche, e poi si dice

    come comporre formule più complesse. Questa definizione è molto comodaper esprimere concetti validi per tutte le formule. Di seguito ne vedremoalcuni.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   17 / 42

    S f

  • 8/17/2019 Calcolo Proposizionale

    18/42

    Sottoformule

    Definizione

    L’insieme  Sub (P )  delle sottoformule di una formula  P   è definito nel seguente modo:

    Se  P   è una variabile proposizionale allora   Sub (P ) = {P };

    Se  P  = P 1 ∧ P 2,  P  =  P 1 ∨ P 2, o  P  =  P 1 → P 2   alloraSub (P ) =  Sub (P 1) ∪ Sub (P 2) ∪ {P }; in questo caso diremo che  P 1  e P 2  sono le sottoformule principali di  P .

    Se  P  = ¬P 1   allora   Sub (P ) =  Sub (P 1) ∪ {P }; in questo caso  P 1   è la

    sottoformula principale di  P .

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   18 / 42

  • 8/17/2019 Calcolo Proposizionale

    19/42

    Esempio.   Sia  P  = (X   → Z ) ∧ (Y  ∨ ¬X ). Allora

    Sub (P ) =   Sub (X   → Z ) ∪ Sub (Y  ∨ ¬X ) ∪ {P } =

    =   Sub (X ) ∪ Sub (Z ) ∪ {X   → Z } ∪

    Sub (

    Y ) ∪

    Sub (¬

    X ) ∪ {

    Y   ∨ ¬

    X } ∪ {

    P } =

    =   {X , Z , X   → Z } ∪ {Y } ∪ Sub (X ) ∪ {¬X } ∪ {Y   ∨ ¬X , P }

    =   {X , Z , X   → Z , Y , ¬X , Y   ∨ ¬X , P }

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   19 / 42

    Alb di P i

  • 8/17/2019 Calcolo Proposizionale

    20/42

    Albero di Parsing

    La struttura di una formula  P   può essere resa esplicita disegnando il suoalbero di parsing , che è un albero costruito nel seguente modo:

    la radice dell’albero è  P .

    se in un nodo c’è una formula  Q   il cui connettivo principale è binario,

    allora questo nodo avrà due successori etichettati dalle sottoformuleprincipali di  Q .

    se in un nodo c’è una formula  Q   il cui connettivo principale è unario,allora questo nodo avrà un successore etichettato dalla sottoformulaprincipale di  Q .

    i nodi contenenti variabili proposizionali sono le foglie dell’albero.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   20 / 42

  • 8/17/2019 Calcolo Proposizionale

    21/42

    Esempio

    Questo è l’albero della formula  X  ∧ (Y   → (Z  ∨ X )):

    X  ∧ (Y   → (Z  ∨ X )

            Y   → (Z  ∨ X )

             

                

    Z  ∨ X 

          

             X 

         

    Sub (P ) è l’insieme di tutti i nodi dell’albero di parsing.Esercizio.  Definire (usando l’induzione strutturale) l’altezza dell’albero diparsing di una formula  P .

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   21 / 42

  • 8/17/2019 Calcolo Proposizionale

    22/42

    Una formula può quindi contenere più volte una variabile comesottoformula. Per indicare una variabile in una posizione particolare della

    formula, parliamo di  occorrenza della variabile. Questo concetto può esserespiegato dalla prossima definizione.

    Definizione

    Il numero di occorrenze di una variabile  X   in una formula  P   è il numero 

    #(X , P )  definito nel seguente modo:Se  P   è una variabile proposizionale allora  #(X , P ) = 1 se  P  =  X mentre  #(X , P ) = 0  se  X   =  P ;

    Se  P  = P 1 ∧ P 2,  P  =  P 1 ∨ P 2, o  P  =  P 1 → P 2   allora

    #(X 

    ,P 

    ) = #(X 

    ,P 

    1) + #(X 

    ,P 

    2)Se  P  = ¬P 1   allora  #(X , P ) = #(X , P 1).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   22 / 42

  • 8/17/2019 Calcolo Proposizionale

    23/42

    Definizione

    La lunghezza   |P |  di una formula  P   è il numero di connettivi che compaiono in  P  ed è definita per induzione da:

    Se  P   è una variabile proposizionale allora   |P | = 0;

    Se  P  = P 1 ∧ P 2,  P  =  P 1 ∨ P 2, o  P  =  P 1 → P 2   allora

    |P | =  |P 1| + |P 2| + 1Se  P  = ¬P 1   allora   |P | =  |P 1| + 1.

    A volte la lunghezza di una formula è definita come il numero totale divariabili. Quale rapporto c’è tra queste due lunghezze? (Provare a definirle

    entrambe per induzione strutturale).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   23 / 42

    Valutazioni

  • 8/17/2019 Calcolo Proposizionale

    24/42

    ValutazioniCome abbiamo detto, alle variabili proposizionali possiamo assegnare sia ilvalore vero che il valore falso. Non è un compito della logicaproposizionale stabilire quale è il valore di verità di una variabileproposizionale (cioè di una formula atomica). Compito della logicaproposizionale è invece quello di stabilire il valore di una formula per ognipossibile assegnamento dei valori di verità alle formule atomiche.

    Definizione (Interpretazione delle formule)

    Una valutazione delle variabili è una qualsiasi funzione  v   :  Var  → {0, 1}.Ogni valutazione  v  si estende ad una valutazione  v ∗ :  Form → {0, 1}  nel seguente modo:

    se  P  ∈ Var   allora  v ∗(P ) =  v (P );

    se  P  = ¬Q   allora  v ∗(P ) = 1 − v (Q );

    se  P  =  Q 1 ∧ Q 2   allora  v ∗(P ) = min(v (Q 1), v (Q 2));

    se  P  =  Q 1 ∨ Q 2   allora  v ∗(P ) = max(v (Q 1), v (Q 2));

    se  P  =  Q 1 → Q 2   allora  v ∗(P ) = max(1 − v (Q 1), v (Q 2));

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   24 / 42

  • 8/17/2019 Calcolo Proposizionale

    25/42

    Quindi una valutazione permette di associare un valore di verità ad unaformula a partire dal valore di verità delle variabili proposizionali che vi

    compaiono.Nel seguito utilizzeremo i simboli di connettivi anche come simboli dioperazioni tra 0 e 1 o tra  V   e  F . Quindi scriveremo 0 ∧ 1 oppure  F   → V ,considerando che l’interpretazione di tali espressioni sia chiara dal contesto.

    EsempioSia  P  = (X  ∨ ¬Y ) →  (Y  ∧ (⊥ → X )). Consideriamo la valutazione  v   taleche  v (X ) = 1 e  v (Y ) = 0. Allora saràv ∗(P ) = (1 ∨ 1) → (0 ∧ (⊥ → 1)) = 1 → 0 = 0.

    Useremo  v  al posto di  v ∗.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   25 / 42

    Per rappresentare tutte le possibili valutazioni della formula P al variare

  • 8/17/2019 Calcolo Proposizionale

    26/42

    Per rappresentare tutte le possibili valutazioni della formula  P  al variaredelle valutazioni delle variabili   X   e  Y   possiamo utilizzare una tabella, chechiameremo  tavola di verità   della formula.Per comodità possiamo rappresentare nella tabella non solo le variabili e la

    formula da studiare, ma anche tutte (o alcune) le sue sottoformule.Scriviamo la tabella della formula dell’esempio precedenteP  = (X  ∨ ¬Y ) →  (Y  ∧ (⊥ → X )):

    X Y    ¬Y X  ∨ ¬Y    ⊥ → X Y  ∧ (⊥ → X )   P 

    0 0 1 1 1 0 0

    0 1 0 0 1 1 1

    1 0 1 1 1 0 0

    1 1 0 1 1 1 1

    Ogni riga della tabella corrisponde ad una valutazione delle variabili.Quindi per una formula con  n  variabili si dovrà scrivere una tabella con 2n

    righe.Esercizio: Scrivere la tavola di verità di (X   → ¬Z ) ∨ (Y  ∧ ¬X ).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   26 / 42

  • 8/17/2019 Calcolo Proposizionale

    27/42

    Definizione

    Una formula  P   è   soddisfacibile  se esiste una valutazione della variabili  v tale che  v (P ) = 1, cioè se esiste una riga della sua tavola di verità nellaquale la formula ha valore  1. In questo caso si dice che la valutazione  v soddisfa la formula  P  e si scrive anche  v    P .

    Una formula è una  tautologia   se per ogni valutazione delle variabili  v   si ha   v (P ) = 1, cioè se in ogni riga della tavola di verità di   P   la formula havalore  1. In questo caso si scrive anche   P .

    Una formula è una  contraddizione  o   insoddisfacibile  se per ogni valutazione delle variabili  v  si ha  v (P ) = 0, cioè se in ogni riga della tavola

    di verità di  P   la formula ha valore  0.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   27 / 42

  • 8/17/2019 Calcolo Proposizionale

    28/42

    Esempio

    Sono tautologie:

    Ex falso quodlibet:   ⊥ → ATertium non datur:   A ∨ ¬A; (A ∧ ¬A  è invece una contraddizione);

    Consequentia Mirabilis: (¬A →  A) →  A;

    Modus ponens: ((A →  B ) ∧ A) →  B ;

    Legge di Dummett: (A →  B ) ∨ (B  → A)Prefisso:   A → (B  → A)

    Contrapposizione: (A →  B ) → (¬B  → ¬A)

    ProposizioneP   è una tautologia se e solo se  ¬P   è una contraddizione. Se  P   è unatautologia allora  P   è soddisfacibile.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   28 / 42

    P i i

  • 8/17/2019 Calcolo Proposizionale

    29/42

    Proposizione

    Se la formula  A  contiene le variabili  X 1, . . . , X n  e se  v   e  v  sono due 

    valutazioni tali che 

    v (X i ) =  v 

    (X i )per ogni   i  = 1, . . . , n, allora si ha che  v (A) =  v (A). (Quindi il valore V (A)  è determinato unicamente dal valore delle variabili).

    La dimostrazione segue facilmente per induzione strutturale.

    Consideriamo per esempio la formula (X  ∧ Y ) →  Z : le valutazioni dellasottoformula  X  ∧ Y   saranno indipendenti dalla valutazione di  Z , quindinella tavola di verità si ripeteranno uguali sia per  Z  = 0 che per  Z  = 1:

    X Y Z X   ∧ Y     (X  ∧ Y  )  →   Z 0 0 0 0 10 1 0 0 11 0 0 0 11 1 0 1 00 0 1 0 10 1 1 0 11 0 1 0 11 1 1 1 1

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   29 / 42

    Diamo un’altra definizione per induzione strutturale:

  • 8/17/2019 Calcolo Proposizionale

    30/42

    Diamo un altra definizione per induzione strutturale:

    Definizione

    Siano  A  e  B  delle formule e  X   una variabile. Allora la formula   A[B /X ] è

    definita induttivamente (su  A) nel seguente modo:se  A =  X   allora  A[B /X ] =  B ;

    se  A =  Y   (con  Y  variabile diversa da  X ) allora  A[B /X ] =  A;

    se  A = ¬A1   allora  A[B /X ] = ¬(A1[B /X ]);

    se  A =  A1 ∗ A2  (con  ∗ ∈ {∧, ∨, →}) alloraA[B /X ] =  A1[B /X ] ∗ A2[B /X ].

    Questa definizione coincide con l’idea che  A[B /X ] si ottiene scrivendo  B al posto di ogni occorrenza di  X  nella formula  A.

    Per esempio, se  A = X   → (¬X  ∨ (Y  ∧ X )) e  B  =  Z  ∨ ¬Y   allora

    A[B /X ] = (Z  ∨ ¬Y ) → (¬(Z  ∨ ¬Y ) ∨ (Y   ∧ (Z  ∨ ¬Y ))).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   30 / 42

  • 8/17/2019 Calcolo Proposizionale

    31/42

    Proposizione

    Sia  A  una tautologia contenente la variabile proposizionale  X   e sia   B un’altra formula. Allora anche  A[B /X ]  è una tautologia.

    Esempio

    Legge di Dummett: sia  A = (X   → Y ) ∨ (Y   → X ).   A  è una tautologia.Allora anche  A[(X  ∧ Y )/Y ] =

    (X   → (X  ∧ Y )) ∨ ((X  ∧ Y ) → X )

    è una tautologia (provare).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   31 / 42

    Definizione

  • 8/17/2019 Calcolo Proposizionale

    32/42

    Definizione

    Un insieme di formule ∆ è   soddisfacibile  se esiste una valutazione  v   chesoddisfa tutte le formule di ∆. In questo caso si scrive  v    ∆ oppure

    v (∆) = 1.

    Esempio

    Sia ∆ = {X  ∧ Y , Y }. ∆ è soddisfacibile?

    Si, perché esiste una valutazione  v , per esempio  v (X ) = 1 e  v (Y ) = 1 chesoddisfa entrambe le formule di ∆.E l’insieme ∆ = {X  ∧ Y , ¬Y , ¬X }?Tale insieme non è soddisfacibile perché se  v (X  ∧ Y ) = 1 allora deveessere necessariamente  v (X ) = 1 e quindi  v (¬X ) = 0, quindi non può

    esistere una valutazione che soddisfa tutte le formule di ∆.

    Nota che è molto diverso dire che un insieme è soddisfacibile e che tutte lesue formule sono soddisfacibili. Per esempio ∆ non è soddisfacibile matutte le sue formule lo sono.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   32 / 42

    Definizione

  • 8/17/2019 Calcolo Proposizionale

    33/42

    Sia  ∆  un insieme di formula e  A  una formula. Allora diciamo che  ∆implica logicamente  A  (o che  A  è una conseguenza logica di  ∆) e si scrive ∆   A, se per ogni valutazione  v   tale che  v    ∆, si ha  v (A) = 1.

    Esempio

    Sia ∆ = {X   → Y , X }. Allora ∆   Y . Infatti andando a scrivere la tavoladi verità si ha:

    X Y X   → Y 

    0 0 1

    0 1 1

    1 0 0

    1 1 1

    e l’unica valutazione che soddisfa l’insieme ∆ (cioè l’ultima) soddisfaanche  Y .

    ∆1  = {A ∨ B , C  ∨ ¬A}    B  ∨ C .

    ∆2

     = {A ∨ B , B  → C }    C   ma ∆2  A ∨ C .

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   33 / 42

  • 8/17/2019 Calcolo Proposizionale

    34/42

    Teorema

    ∆   A  se e solo se  ∆ ∪ {¬A}  è insoddisfacibile.

    Dimostrazione.

    Cominciamo con l’assumere che ∆   A. Sia  v  una valutazione, se  v    ∆allora ci sarà una formula di ∆ non soddisfatta da  v  e quindi  v   nonsoddisfa neanche ∆ ∪ {¬A}. Se invece  v    ∆ allora dato che  A  è una

    conseguenza logica di ∆ si avrà  v (A) = 1 e quindi  v (¬A) = 0. Anche inquesto caso allora   v  non soddisfa l’insieme ∆ ∪ {¬A}  che risulta quindiinsoddisfacibile.Viceversa, supponiamo che ∆ ∪ {¬A}  sia insoddisfacibile. Sia  v   unavalutazione che soddisfa ∆. Se fosse  v (A) = 0 allora sarebbe  v (¬A) = 1 e

    quindi  v  soddisfarebbe l’insieme  S  ∪ {¬A}  che abbiamo detto essereinsoddisfacibile. Deve quindi necessariamente essere  v (A) = 1 e quindi  A  èuna conseguenza logica di ∆.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   34 / 42

  • 8/17/2019 Calcolo Proposizionale

    35/42

    Teorema (di Deduzione)

    A   B  se e solo se   A → B .

    Dimostrazione.

    Se  A   B  allora per ogni interpretazione  v , se  v (A) = 1 si ha per ipotesiche anche  v (B ) = 1 e quindi  v (A → B ) = 1 mentre se  v (A) = 0 alloraancora  v (A →  B ) = 1 e quindi  A → B   è una tautologia.

    Viceversa, se per ogni valutazione  v   si ha che  v (A → B ) = 1, allora sev (A) = 1 deve essere necessariamente (per come è definita l’implicazione)v (B ) = 1.

    In generale, se Γ è un insieme finito di formule, si ha che

    Γ   B  se e solo se  

    A∈Γ

    A →  B 

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   35 / 42

    Equivalenza logica

  • 8/17/2019 Calcolo Proposizionale

    36/42

    q g

    Definizione

    Due formule  A  e  B   sono  logicamente equivalenti  (e scriviamo  A ≡ B ) se

    per ogni valutazione  v   si ha  v (A) =  v (B ).

    Due formule logicamente equivalenti hanno la stessa tavola di verità(considerando lo stesso ordine di valutazione delle variabili, cioè lo stessoordine delle righe).

    EsempioPrimi esempi di equivalenze logiche molto semplici da verificare sono la leggecommutativa e associativa di  ∧  e  ∨:

    A ∧ B  ≡  B  ∧ A A ∨ B  ≡  B  ∨ A

    A ∨ (B  ∨ C ) ≡  (A ∨ B ) ∨ C A ∧ (B  ∧ C ) ≡  (A ∧ B ) ∧ C  .

    Nota che la legge associativa ci permette di scrivere congiunzioni e disgiunzioni di

    più di due formule, senza usare le parentesi (si scriverà quindi  A ∨ B  ∨ C   per

    indicare (A ∨ B ) ∨ C  o equivalentemente  A ∨ (B  ∨ C )).

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   36 / 42

    Esempio

  • 8/17/2019 Calcolo Proposizionale

    37/42

    Esempio

    L’implicazione invece non è commutativa  A → B  ≡  B  → A  e neancheassociativa A → (B  → C ) ≡ (A → B ) → C .

    Contronominale:   A → B  ≡ ¬B  → ¬A. Questa equivalenza si usa spessonelle dimostrazioni: se voglio dimostrare che da  A segue  B  posso provare aipotizzare la negazione di  B  e concludere che da tale ipotesi segue lanegazione di  A. Se poi aggiungo che  A ∧ ¬A ≡ ⊥ ottengo le dimostrazioni

    per assurdo.Implicazione materiale: le formule  A → B   e  ¬A ∨ B  sono logicamenteequivalenti:

    A B A →  B    ¬A ∨ B 

    0 0 1 1

    0 1 1 1

    1 0 0 0

    1 1 1 1

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   37 / 42

  • 8/17/2019 Calcolo Proposizionale

    38/42

    Esempio

    Doppia negazione:   ¬¬A ≡  A.

    Leggi di De Morgan: Le formule  ¬(A ∨ B ) e  ¬A ∧ ¬B  sono logicamenteequivalenti.

    A B A ∨ B    ¬(A ∨ B )   ¬A   ¬B    ¬A ∧ ¬B 

    0 0 0 1 1 1 1

    0 1 1 0 1 0 01 0 1 0 0 1 0

    1 1 1 0 0 0 0

    Analogamente si ha che  ¬(A ∧ B ) ≡ ¬A ∨ ¬B . Inoltre vale

    A ∧ B    ≡ ¬(¬A ∨ ¬B )

    A ∨ B    ≡ ¬(¬A ∧ ¬B ) .

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   38 / 42

    Esempio

  • 8/17/2019 Calcolo Proposizionale

    39/42

    Esempio

    Assorbimento:

    X  ∨ (X  ∧ Y )   ≡   X X  ∧ (X  ∨ Y )   ≡   X 

    Legge distributiva: Vale la distributività di  ∧ rispetto a  ∨  e anche ilviceversa.

    X  ∨ (Y  ∧ Z )   ≡   (X  ∨ Y ) ∧ (X  ∨ Z )

    X  ∧ (Y  ∨ Z )   ≡   (X  ∧ Y ) ∨ (X  ∧ Z )

    Generalizzando si ha che vale:

    (X 1 ∨ X 2) ∧ (Y 1 ∨ Y 2)   ≡   (X 1 ∧ Y 1) ∨ (X 1 ∧ Y 2) ∨ (X 2 ∧ Y 1) ∨ (X 2 ∧ Y 2)

    (X 1 ∧ X 2) ∨ (Y 1 ∧ Y 2)   ≡   (X 1 ∨ Y 1) ∧ (X 1 ∨ Y 2) ∧ (X 2 ∨ Y 1) ∧ (X 2 ∨ Y 2)

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   39 / 42

  • 8/17/2019 Calcolo Proposizionale

    40/42

    Posso usare l’equivalenza logica anche per definire nuovi connettivi:Per esempio ≡ X  ∨ ¬X 

    denota la formula sempre vera.

    ProposizioneSe  P   è una tautologia allora  P  ≡ .Se  P   è una contraddizione allora  P  ≡ ⊥.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   40 / 42

    Teorema (di sostituzione)

  • 8/17/2019 Calcolo Proposizionale

    41/42

    Sia  v  una valutazione tale che  v (P ) =  v (Q ): allora per ogni formula  R  e variabile proposizionale  X   si ha

    v (R [P /X ]) =  v (R [Q /X ]) .

    In particolare, se  P  ≡  Q  allora  R [P /X ] ≡  R [Q /X ].

    Dimostrazione.Procediamo per induzione strutturale su  R .

    Se  R  =  X  variabile proposizionale, allora  R [P /X ] =  P   e  R [Q /X ] =  Q ,quindi banalmente  v (R [P /X ]) =  v (P ) =  v (Q ) =  v (R [Q /X ]);

    se  R  =  Y  variabile proposizionale diversa da   X , allora  R [P /X ] =  R   eR [Q /X ] =  R , quindi banalmente  v (R [P /X ]) =  v (R ) =  v (R [Q /X ]);

    se  R  =  R 1 ∗ R 2  con  ∗ ∈ {∧, ∨, →} allora  R [P /X ] =  R 1[P /X ] ∗ R 2[P /X ] eR [Q /X ] =  R 1[Q /X ] ∗ R 2[Q /X ], quindi, per ipotesi di induzione,v (R 1[P /X ]) =  v (R 1[Q /X ]) e  v (R 2[P /X ]) =  v (R 2[Q /X ]) e quindiv (R [P /X ]) =  v (R [Q /X ]);

    se  R  = ¬R 1   è analogo.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   41 / 42

  • 8/17/2019 Calcolo Proposizionale

    42/42

    Esempio

    Sia  P  =  X   → Y   e  Q  = X  ∨ Y . Se  v (X ) = 0 e  v (Y ) = 1 allora

    v (X   → Y ) = 1 e  v (X  ∨ Y ) = 1. Sia  R  = ¬(X   → Y ). Allora

    R [P /Y ] = ¬(X   → (X   → Y ))

    R [Q /Y ] = ¬(X   → (X  ∨ Y ))

    e  v (R [P /Y ]) = 0 e  v (R [Q /Y ]) = 0. Nota che per una valutazione  v  taleche  v (X ) = 1 e  v (Y ) = 0 si ha v (R [P /Y ]) = 1 e  v (R [Q /Y ]) = 0, einfatti  v (X   → Y ) = 0 e  v (X  ∨ Y ) = 1.

    Il teorema di sostituzione ci permette di sostituire una parte di una formula

    con una ad essa equivalente, e ottenere una formula equivalente a quella dipartenza.

    B. Gerla (DiSTA)   Logica Proposizionale - Parte 1   42 / 42