calcolo proposizionale
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
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 )
X
Y → (Z ∨ X )
Y
Z ∨ X
Z
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