Professional Documents
Culture Documents
May 8, 2007
Calcolo proposizionale
Una proposizione `e una frase che `e o vera oppure falsa ma non entrambe.
Esempio 1.1 Le seguenti frasi sono proposizioni.
1. Milano `e la capitale dItalia.
2. Parigi `e la capitale della Francia.
3. 3 + 3 = 7.
4. 2 + 2 = 4.
Le proposizioni 1 e 3 sono false mentre le proposizioni 2 e 4 sono vere.
Nel seguente esempio elenchiamo alcune frasi che non sono proposizioni.
Esempio 1.2 Le seguenti frasi non sono proposizioni.
1. Che ora `e?
2. Vai a fare una passeggiata.
3. x + 3 = 7.
4. x + y = z.
In generale, le proposizioni sono indicate con delle lettere, p, q, r, s,. . .. Il valore di verit`a
di una proposizione vera `e indicato con V, mentre quello di una falsa con F.
Definizione 1.1 Sia p una proposizione. La frase La proposizione p non `e vera `e unaltra
proposizione detta la negazione di p.
La negazione di p `e denotata da p. La proposizione p `e detta non p.
1
Esempio 1.3 La negazione della proposizione oggi `e venerd` `e oggi non `e venerd`.
Riassumiamo nella Tabella 1 le relazioni fra il valore di verit`a di una proposizione e della
sua negazione.
Tabella 1
Il simbolo detto operatore negazione. Esso, posto davanti ad una proposizione esistente
p, forma una nuova proposizione detta la negazione di p. Loperatore negazione appartiene
alla famiglia degli operatori logici o connettivi attraverso i quali si possono formare nuove
proposizioni partendo da una o pi`
u proposizioni esistenti.
Definizione 1.2 Siano p e q due proposizioni. La frase p e q, denotata da p q, `e una
nuova proposizione che risulta vera quando p e q sono entrambe vere, altrimenti `e falsa. La
proposizione p q `e detta la congiunzione di p e q (si veda la Tabella 2).
pq
Tabella 2
Esempio 1.4 Siano date le proposizioni p=oggi `e venerd` e q=oggi sta piovendo. La
proposizione p q `e oggi `e venerd` e sta piovendo. Ovviamente questultima proposizione
`e vera solamente nei venerd` in cui piove.
2
pq
Tabella 3
Luso del connettivo nella disgiunzione traduce il significato di o nella sua accezione
pi`
u comune in italiano, che `e detta o inclusivo. Per esempio lo inclusivo `e usato nella
seguente proposizione: Gli studenti del primo anno che hanno superato lesame di Formazione analitica I o di Formazione discreta I possono essere iscritti al secondo anno. Essa
dice che uno studente per iscriversi al secondo anno deve aver superato almeno uno dei due
esami menzionati, quindi anche entrambi. Esiste anche unaltra accezione di o, detta o
eslusivo che ha il valore V se una ed una sola delle due proposizioni componenti `e vera,
ma non entrambe. Per esempio lo esclusivo `e usato nella seguente proposizione Il menu
a prezzo fisso di questo ristorante prevede come secondo piatto pesce alla griglia o bistecca
ai ferri. Ovviamente non si possono ordinare entrambi i secondi pagando solo il prezzo del
menu.
Definizione 1.4 Siano p e q due proposizioni. Lo esclusivo di p e q denotato da p q, `e
una nuova proposizione che risulta vera quando esattamente una fra p e q `e vera, altrimenti
`e falsa (si veda la Tabella 4).
pq
Tabella 4
Definizione 1.5 Siano p e q due proposizioni. Limplicazione p q `e una nuova proposizione che risulta falsa quando p `e vera e q `e falsa, altrimenti p q `e vera (si veda la
Tabella 5). Nellimplicazione p `e detta lipotesi e q la tesi.
pq
Tabella 5
Poich`e limplicazione `e molto usata in matematica, esistono diverse terminologie equivalenti per esprimerla. Ne citiamo alcune:
se p, allora q;
p implica q;
p `e sufficiente per q;
4
q `e necessaria per p.
Si noti che p q `e falsa solo nel caso in cui p `e vera e q `e falsa. Cosicch`e p q `e vera
quando p e q sono entrambe vere oppure quando p `e falsa (non importa quale sia il valore di
verit`a di q).
Per ricordare che una implicazione `e vera quando la sua ipotesi `e falsa basta pensare alla
seguente clausola di contratto per un giocatore di calcio: Se il giocatore segna pi`
u di 40
goal durante il campionato ricever`a un bonus di un milione di euro. La clausola `e violata
solo nel caso in cui il giocatore segna pi`
u di 40 goal e non riceve il bonus. Essa non dice
nulla se il giocatore segna un numero di goal minore od uguale a 40.
Il modo in cui `e definita limplicazione in logica matematica `e pi`
u generale del modo
in cui limplicazione viene usata nel linguaggio comune. Per esempio la frase se oggi c`e
sole, andremo alla spiaggia `e una implicazione usata nel linguaggio normale poich`e c`e
una relazione fra lipotesi e la conclusione. Si noti che questa implicazione `e valida sempre
eccetto il caso in cui oggi c`e sole ma non andiamo alla spiaggia. Limplicazione se
oggi `e venerd`, allora 2 + 3 = 5 `e sempre vera poich`e la sua conclusione `e vera, mentre
limplicazione se oggi `e venerd`, allora 2 + 2 = 5 `e vera ogni giorno della settimana eccetto
il venerd`. Tuttavia queste due ultime implicazioni sebbene hanno perfettamente senso in
logica matematica non sono mai usate nel linguaggio comune. Il concetto matematico di una
implicazione `e indipendente da una relazione di causa ed effetto fra lipotesi e la tesi.
Listruzione if . . . then . . . usata in molti linguaggi di programmazione `e diversa dal se
. . ., allora . . . usato in logica matematica. Molti linguaggi di programmazione contengono
istruzioni del tipo if p then S, dove p `e una proposizione e S `e un segmento di programma
(una o pi`
u istruzioni da essere eseguite). S `e eseguito se p `e vera. Nel caso in cui p `e falsa
S non `e eseguito. Vediamo il seguente esempio.
Esempio 1.5 Supponiamo che un programma assegni alla variabile numerica x il valore 2
e, mentre `e in esecuzione, incontri la seguente istruzione
if 2 + 2 = 4 then x := x + 1.
Qual`e il valore di x dopo lesecuzione della precedente istruzione? (Il simbolo := assegna
alla variabile x il valore di x + 1.)
Poich`e 2 + 2 = 4 `e vera, listruzione x := x + 1 viene eseguita. Quindi, x ha il valore
2 + 1 = 3 dopo lesecuzione dellistruzione if-then.
Usando i connettivi definiti sopra molte nuove proposizioni possono essere costruite.
Per specificare lordine in cui i vari operatori logici debbano essere applicati, a volte sono
necessarie le parentesi. Per esempio, (p q) (r) `e la congiunzione di p q e r.
Per diminuire il numero delle parentesi necessarie, si conviene che loperatore venga
applicato prima degli altri operatori logici. Per esempio, p q `e la congiunzione di p e q,
cio`e (p) q, e non la negazione della congiunzione di p e q, cio`e (p q).
Si consideri limplicazione p q. La proposizione q p si dice linversa della p q.
La proposizione contronominale della p q `e q p.
5
pq
Tabella 6
Si noti che p q `e vera precisamente quando entrambe le implicazioni p q e q p
sono vere. Per questa ragione per la bicondizionale `e usata la terminologia equivalente p se
e solo se q. Altri modi equivalenti per esprimere la bicondizionale sono: p `e necessaria e
sufficiente per q, se p allora q, e viceversa.
Esistono molte ragioni per traslare il linguaggio comune in espressioni costruite mediante
proposizioni elementari e connettivi logici. In particolare il linguaggio parlato `e ambiguo.
Traducendo queste frasi in espressioni logiche si toglie questa ambiguit`a. Inoltre, `e possibile
analizzare queste espressioni logiche in modo da ottenere il loro valore di verit`a. Infine le
espressioni logiche possono essere manipolate e si possono usare delle regole di inferenza in
modo da poter ragionare su di esse (si veda il paragrafo 4).
I seguenti esempi mostrano come una proposizione del linguaggio comune possa essere
tradotta in espressioni logiche.
Esempio 1.7 Tradurre la seguente proposizione in una espressione logica: Hai diritto ad
una connessione Internet presso il centro di calcolo dellUniversit`a solo se sei uno studente
di Informatica o non sei una matricola.
6
Se traducessimo questa frase con una sola proposizione p, sarebbe difficile analizzarne il
significato. Conviene rappresentare ogni sua parte con variabili proposizionali diverse e, poi,
costruire la frase completa mediante gli appropriati connettivi logici. Pi`
u precisamente poniamo: a=Hai diritto ad una connessione Internet presso il centro di calcolo dellUniversit`a,
b=sei uno studente di Informatica e c=sei una matricola. Si osservi che solo se pu`o
essere espresso come una implicazione. In conclusione la frase data pu`o essere tradotta nella
seguente espressione logica: a (b c).
Esempio 1.8 Tradurre la seguente proposizione in una espressione logica: Non puoi andare
sulle montagne russe se sei alto meno di un metro e sessanta a meno che non hai compiuto
i 16 anni.
Usiamo variabili proposizionali diverse per rappresentare ogni parte della frase e determiniamo gli appropriati connettivi logici. Precisamente poniamo: a=puoi andare sulle
montagne russe, b=sei alto meno di un metro e sessanta e c=hai compiuto 16 anni.
Come nellesempio precedente, il se pu`o essere espresso come una implicazione. Quindi
possiamo tradurre la frase data con la seguente espressione logica: (b c) a.
I connettivi logici sono molto usati nella ricerca lungo liste di informazioni, come per
esempio nella ricerca di pagine web. Queste ricerche sono dette ricerche booleane poich`e
impiegano tecniche di logica proposizionale. In esse sono usati i seguenti connettivi:
AN D per trovare quei record che contengono entrambi i termini della ricerca;
OR per trovare quei record che contengono almeno uno dei due termini della ricerca
(e quindi anche entrambi);
N OT per escludere quei record che contengono quel particolare termine della ricerca.
Come vedremo nel seguente esempio, un attento uso di questi connettivi `e importante
nelle ricerche booleane di informazioni di particolare interesse.
Esempio 1.9 Nel Web, molti motori di ricerca supportano la ricerca booleana. Per esempio, usando la ricerca booleana per trovare le pagine web riguardanti le universit`a del New
Mexico, possiamo scrivere NEW AN D MEXICO AN D UNIVERSITIES. Come risultato
avremo le pagine che contengono tutte e tre le parole NEW, MEXICO, e UNIVERSITIES.
Otterremo quindi tutte le pagine che ci interessano ma anche altre come per esempio quelle
che contengono le NEW UNIVERSITES nel MEXICO (le quali non sono di nostro interesse).
Se cerchiamo le pagine web riguardanti le universit`a del New Mexico e dellArizona
possiamo scrivere (NEW AN D MEXICO OR ARIZONA) AN D UNIVERSITIES (si ricordi
che loperatore AN D ha precedenza sulloperatore OR). Come risultato avremo tutte le
pagine contenenti la parola UNIVERSITIES e o entrambe le parole NEW e MEXICO oppure
la parola ARIZONA. Ancora una volta otterremo anche delle pagine che non ci interessano.
Infine, supponiamo di cercare pagine web riguardanti le universit`a del Mexico (e non
del New Mexico). Se scriviamo MEXICO AN D UNIVERSITIES il risultato della ricerca
7
includer`a anche le pagine che riguardano il New Mexico. Per evitare ci`o potremmo scrivere
(MEXICO AN D UNIVERSITIES) N OT NEW. Come risultato avremo quelle pagine contenenti le parole MEXICO e UNIVERSITIES ma non la parola NEW. Potremmo quindi
perdere le pagine contenenti le NEW UNIVERSITIES nel MEXICO.
I computer rappresentano le informazioni usando bit. Un bit ha due possibili valori: 0
e 1. Ci`o spiega il significato della parola bit (binary digit): 0 e 1 sono le cifre usate nella
rappresentazione binaria di un numero. Un bit pu`o essere usato anche per rappresentare il
valore di verit`a. Precisamente si usa 0 per rappresentare F e 1 per rappresentare V. Una
variabile si dice booleana se il suo valore `e V o F. Quindi una variabile booleana pu`o essere
rappresentata usando un bit (o meglio, lo spazio di memoria necessario in un computer per
rappresentare una variabile booleana `e un bit).
Le operazioni fra bit in un computer corrispondono ai connettivi logici. Sostituendo V
con 1 e F con 0 nelle tavole di verit`a degli operatori , e otteniamo i risultati mostrati
nella Tabella 7 per le operazioni fra bit corrispondenti. Come in molti linguaggi di programmazione, useremo anche le notazioni OR, AN D e XOR per rappresentare rispettivamente
gli operatori , e .
xy xy xy
Tabella 7
Le informazioni sono spesso rappresentate da successioni di bit (bit string), cio`e da successioni di zeri e uni. In tal caso si possono usare operazioni fra bit string per manipolare le
informazioni rappresentate da esse.
Definizione 1.7 Una bit string `e una successione di zero o pi`
u bit. La lunghezza di una bit
string `e data dal numero dei suoi bit.
Per esempio 1010111001 `e una bit string di lunghezza dieci.
Le operazioni fra bit possono estendersi ad operazioni fra bit string della stessa lunghezza.
Precisamente, le operazioni OR, AN D e XOR fra due bit string della stessa lunghezza
8
producono la bit string che si ottiene applicando le operazioni OR, AN D e XOR fra ogni
coppia di bit corrispondenti delle due bit string. Mostriamo ci`o con un esempio dove usiamo
i simboli , e per rappresentare rispettivamente OR, AN D e XOR.
Esempio 1.10 Determinare OR, AN D e XOR fra le bit string 0110110110 e 1100011101.
Applicando gli operatori bit per bit abbiamo:
0110110110 1100011101 = 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 =
1110111111;
0110110110 1100011101 = 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 =
0100010100;
0110110110 1100011101 = 0 1 1 1 1 0 0 0 1 0 1 1 0 1 1 1 1 0 0 1 =
1010101011.
Equivalenze proposizionali
Una tecnica importante nei ragionamenti matematici `e quella di sostituire una proposizione
con unaltra pi`
u semplice ma con lo stesso valore di verit`a.
Definizione 2.1 Dicesi tautologia una proposizione composta che ha sempre il valore di
verit`
a V qualunque sia il valore di verit`
a delle proposizioni che appaiono in essa.
Dicesi assurdo una proposizione composta che ha sempre valore di verit`
a F qualunque sia
il valore di verit`a delle proposizioni che appaiono in essa.
Esempio 2.1 Possiamo costruire esempi di tautologie e assurdi usando solo una proposizione, che indichiamo con p. Come si vede in Tabella 8, i valori di verit`a delle proposizioni
composte p p e p p sono rispettivamente sempre V e F indipendentemente dal valore
di verit`a di p.
p p p p
Tabella 8
Definizione 2.2 Le proposizioni p e q si dicono logicamente equivalenti se p q `e una
tautologia. La notazione p q indica che p e q sono logicamente equivalenti.
9
Un modo per verificare se due proposizioni sono logicamente equivalenti `e dato dal calcolo
delle loro tavole di verit`a. Precisamente p e q sono equivalenti se e solo se le colonne risultanti
nelle loro rispettive tavole di verit`a coincidono. Illustriamo ci`o in alcuni esempi.
Esempio 2.2 Le proposizioni composte (p q) e p q sono equivalenti.
Basta calcolare le loro tavole di verit`a e verificare che esse coincidono (si veda la Tabella
9).
p q (p q)
p q
F
F
Tabella 9
Esempio 2.3 Le proposizioni composte p q e p q sono equivalenti.
Basta calcolare le loro tavole di verit`a e verificare che esse coincidono (si veda la Tabella
10).
p q p q
Tabella 10
10
q r p (q r) p q p r (p q) (p r)
Tabella 11
La Tabella 12 contiene equivalenze interessanti. Con le parole V ERA e F ALSA indichiamo rispettivamente una proposizione sempre vera oppure sempre falsa.
Lassociativit`a per la disgiunzione mostra che lespressione p q r `e ben definita, nel
senso che non ha importanza se prima applichiamo la disgiunzione fra p e q e poi al risultato applichiamo la disgiunzione con r oppure se applichiamo la disgiunzione fra p e q r.
Analogamente p q r `e ben definita. Generalizzando, se p1 , p2 , . . . , pn sono proposizioni,
le scritture p1 p2 . . . pn e p1 p2 . . . pn sono ben definite. Si osservi che le regole di
De Morgan si estendono nel seguente modo:
(p1 p2 . . . pn ) (p1 p2 . . . pn ),
(p1 p2 . . . pn ) (p1 p2 . . . pn ).
11
p V ERA p
p F ALSA p
Identita0
p V ERA V ERA
p F ALSA F ALSA
Domination
ppp
ppp
Idempotenza
(p) p
Doppia negazione
pq qp
pq qp
Commutativita0
(p q) r p (q r)
(p q) r p (q r)
Associativita0
p (q r) (p q) (p r)
p (q r) (p q) (p r)
Distributivita0
(p q) p q
(p q) p q
De Morgan
Tabella 12
Altre ovvie equivalenze logiche sono quelle della Tabella 13.
p p V ERA
p p F ALSA
(p q) (p q)
Tabella 13
Equivalenze come quelle delle Tabelle 12 e 13 sono utili nella costruzione di ulteriori equivalenze logiche. Limportanza di queste ultime `e dovuta al fatto che spesso in una proposizione
composta `e utile cambiare una proposizione componente con una ad essa equivalente (cio`e
avente lo stesso valore di verit`a). Vediamo ci`o nei due esempi seguenti. In essi viene anche
utilizzata la propriet`a transitiva delle equivalenze: se p q e q r allora p r.
12
Predicati e quantificatori
13
14
Lesempio 3.3 mostra quindi che una quantificazione pu`o essere espressa in pi`
u di un
modo.
Esempio 3.4 Sia P (x) =x + 1 > x. Qual`e il valore di verit`a di xP (x), essendo linsieme
dei numeri reali luniverso del discorso?
Poich`e P (x) `e vera per ogni numero reale x, il valore di verit`a di xP (x) `e V.
Esempio 3.5 Sia Q(x) =x < 2. Qual`e il valore di verit`a di xQ(x), essendo linsieme
dei numeri reali luniverso del discorso?
Q(x) non `e vera per ogni numero reale x (per esempio Q(5) `e falsa. Quindi il valore di
verit`a di xQ(x) `e F.
Esempio 3.6 Sia P (x) =x2 < 10. Qual`e il valore di verit`a di xP (x), essendo luniverso
del discorso dato da tutti gli interi positivi e minori od uguali a 4?
Si osservi che il valore di verit`a di xP (x) coincide con quello di P (1)P (2)P (3)P (4)
poich`e luniverso del discorso coincide con linsieme dei numeri 1, 2, 3 e 4. Essendo F il valore
di verit`a di P (4) sar`a anche F quello di xP (x).
Molti enunciati matematici asseriscono che nelluniverso del discorso esiste (almeno) un
elemento che gode di una certa propriet`a. Un tale enunciato si esprime mediante la quantificazione esistenziale di una funzione proposizionale. Precisamente, sia P (x) una funzione
proposizionale. Diremo quantificazione esistenziale di P (x) la proposizione Esiste un elemento x nelluniverso del discorso tale che P (x) `e vera. La quantificazione esistenziale di
P (x) si denota con la scrittura xP (x). Spesso, invece di dire esiste un x tale che P (x) si
dice per qualche x P (x).
Esempio 3.7 Sia P (x) =x > 3. Qual`e il valore di verit`a di xP (x), essendo linsieme
dei numeri reali luniverso del discorso?
Si ha, per esempio, che P (4) `e V. Allora anche xP (x) `e V.
Esempio 3.8 Sia Q(x) =x = x+1. Qual`e il valore di verit`a di xQ(x), essendo linsieme
dei numeri reali luniverso del discorso?
Poich`e Q(x) `e falsa per ogni numero reale x, il valore di verit`a di xQ(x) `e F.
Esempio 3.9 Sia P (x) =x2 > 10. Qual`e il valore di verit`a di xP (x), essendo luniverso
del discorso dato da tutti gli interi positivi e minori od uguali a 4?
Si osservi che il valore di verit`a di xP (x) coincide con quello di P (1)P (2)P (3)P (4)
poich`e luniverso del discorso coincide con linsieme dei numeri 1, 2, 3 e 4. Essendo V il
valore di verit`a di P (4) sar`a anche V quello di xP (x).
In Tabella 14 sono riassunti i significati dei quantificatori universale ed esistenziale.
15
Funzione
proposizionale
Quando e0 vera?
Quando e0 falsa?
xP (x)
xP (x)
Tabella 14
Se luniverso del discorso contiene un numero finito di elementi, per determinare il valore
di verit`a di xP (x) oppure di xP (x) si pu`o procedere calcolando il valore di verit`a di P (x)
per ogni x nelluniverso del discorso procedendo in modo simile agli Esempi 3.6 e 3.9.
Certe espressioni logiche sono molto complicate. In tal caso conviene tradurle nel linguaggio comune. Vediamo i seguenti esempi.
Esempio 3.10 Tradurre in forma pi`
u comprensibile la seguente espressione
x[C(x) y(C(y) F (x, y))],
tenendo presente che C(x) =x ha un computer, F (x, y) =x e y sono amici e che luniverso
del discorso per entrambe le variabili x e y `e linsieme degli studenti della tua scuola.
Lenunciato dice che per ogni studente x della tua scuola, x ha un computer oppure c`e
uno studente y che ha un computer e x ed y sono amici. In altre parole, ogni studente
della tua scuola ha un computer oppure `e amico di uno studente della tua scuola che ha un
computer.
Esempio 3.11 Tradurre in forma pi`
u comprensibile la seguente espressione
xyz[(F (x, y) F (x, z) (y 6= z)) F (y, z)],
tenendo presente che F (x, y) =x e y sono amici e che luniverso del discorso per tutte e
tre le variabili x, y e z `e linsieme degli studenti della tua scuola.
Lenunciato dice che c`e uno studente x della tua scuola tale che per ogni studente y e
per ogni studente z diverso da y, se x e y sono amici e x e z sono amici, allora y e z non sono
amici. In altre parole, esiste almeno uno studente i cui amici non sono mai amici fra loro.
Si osservi che la proposizione di questo esempio `e sempre falsa a meno che non si supponga
x 6= y e x 6= z.
16
Esempio 3.12 Supponiamo che luniverso del discorso per tutte le variabili di questo esempio sia linsieme dei numeri reali.
Lenunciato
xy(x + y = y + x)
dice che x + y = y + x per tutti i numeri reali x e y. Questa `e la propriet`a commutativa
delladdizione nei numeri reali.
Lenunciato
xy(x + y = 0)
dice che per ogni numero reale x esiste almeno un numero reale y tale che x + y = 0. Cio`e
ogni numero reale ha almeno un opposto.
Infine
xyz(x + (y + z) = (x + y) + z)
`e la propriet`a associativa delladdizione nei numeri reali.
Negli esempi seguenti mostrano come esprimere espressioni del linguaggio comune in
espressioni logiche.
Esempio 3.13 Tradurre in espressioni logiche le seguenti frasi: Qualche studente di questa
classe `e stato in Francia, Ogni studente di questa classe `e stato o in Francia o in Inghilterra.
Luniverso del discorso per la variabile x `e linsieme degli studenti di questa classe. Siano
F (x) =x `e stato in Francia e I(x) =x `e stato in Inghiterra. Allora Qualche studente
di questa classe `e stato in Francia pu`o essere scritta come xF (x), mentre la frase Ogni
studente di questa classe `e stato o in Francia o in Inghilterra si traduce in x(F (x) I(x)).
Esempio 3.14 Tradurre in espressione logica la frase Ognuno ha un solo miglior amico.
Luniverso del discorso per le variabili x, y e z `e linsieme di tutte le persone. Sia
B(x, y) =y `e il miglior amico di x. La frase dellesempio afferma che per ogni persona x
esiste unaltra persona y tale che y `e il miglior amico di x e che se z `e una terza persona,
diversa sia da x che da y, allora z non `e il miglior amico di x. In definitiva, possiamo scrivere
la traduzione della nostra frase `e
xyz[B(x, y) (((z 6= x) (z 6= y)) B(x, z))].
Esempio 3.15 Tradurre in espressione logica la frase Se qualcuno `e di sesso femminile ed
`e genitore, allora `e una madre.
Luniverso del discorso, sia per x che per y, `e linsieme di tutte le persone. Siano F (x) =x
`e di sesso femminile e G(x) =x `e genitore. Infine poniamo M (x, y) =x `e madre di y.
La traduzione della nostra frase `e
x((F (x) G(x)) yM (x, y)).
17
Esempio 3.16 Tradurre in espressione logica la frase Esiste una donna che ha volato con
ogni compagnia aerea del mondo.
Siano d, v e c le variabili nei seguenti rispettivi universi del discorso: insieme delle
donne, insieme dei voli e insieme delle compagnie aeree. Poniamo P (d, v) =d ha preso v e
Q(v, a) =v `e un volo di a. La traduzione della nostra frase `e
dav(P (d, v) Q(v, a)).
Esempio 3.17 Tradurre in espressione logica la definizione
lim f (x) = L
xa
incontriamo uno di questi y, xyP (x, y) `e vera; se per qualche x non incontriamo nessuno
di questi valori di y, xyP (x, y) `e falsa.
In modo simile si pu`o procedere per xyP (x, y) e xyP (x, y).
La Tabella 15 riassume tutti i possibili casi per quantificazioni in cui le funzioni proposizionali hanno due variabili.
Proposizione
Quando e0 vera?
Quando e0 falsa?
xyP (x, y)
yxP (x, y)
xyP (x, y)
xyP (x, y)
xyP (x, y)
yxP (x, y)
Tabella 15
Esempio 3.22 Sia Q(x, y, z) =x + y = z. Determinare il valore di verit`a delle quantificazioni xyzQ(x, y, z) e zxyQ(x, y, z).
Si osservi che xyzQ(x, y, z) si pu`o tradurre nella seguente espressione Per ogni numero reale x e per ogni numero reale y esiste un numero reale z tale che x + y = z sia vera.
Supponiamo che ad x e ad y siano assegnati due valori. Allora esiste un numero reale z tale
che x + y = z. Quindi il valore di verit`a di xyzQ(x, y, z) `e V.
Si noti limportanza dellordine della quantificazione. Infatti la seconda quantificazione
zxyQ(x, y, z) equivale a dire Esiste un numero reale z tale che per ogni numero reale x
e per ogni numero reale y luguaglianza x + y = z `e vera. Ovviamente un tale z non pu`o
esistere, quindi il valore di verit`a di zxyQ(x, y, z) `e F.
Consideriamo la negazione dellespressione Ogni studente di questa classe ha superato
il corso di Formazione discreta I. Questa espressione `e una quantificazione universale, cio`e
xP (x), dove P (x) =x ha superato il corso di Formazione discreta I. La negazione di
questa quantificazione `e Non `e vero che ogni studente di questa classe ha superato il corso
di Formazione discreta I, la quale equivale alla Esiste almeno uno studente di questa classe
20
che non ha superato il corso di Formazione discreta I, cio`e xP (x). Abbiamo quindi visto
lequivalenza
xP (x) xP (x).
Analogamente si prova lequivalenza
xP (x) xP (x).
Le negazioni dei quantificatori sono riassunte nella Tabella 16.
Quando e0 falsa?
xP (x)
xP (x)
P (x) e0 falsa
per ogni x.
xP (x)
xP (x)
P (x) e0 vera
per ogni x.
Tabella 16
Regole di inferenza
Una congettura `e una proposizione il cui valore di verit`a `e sconosciuto. Una congettura,
di cui si `e dimostrata la verit`a, diventa un teorema.
Introduciamo alcune regole di inferenza per la logica proposizionale. La tautologia
(p (p q)) q `e la base delle regole di inferenza. Essa `e detta modus ponens. Essa viene
scritta nel modo seguente (col simbolo denotiamo la parola quindi):
p
pq
q
Con questa notazione, le ipotesi sono scritte in colonna e la conclusione al di sotto della
linea. Il modus ponens dice che: data unimplicazione, se essa `e vera e la sua ipotesi `e pure
vera, allora anche la sua conclusione `e vera.
Esempio 4.1 Supponiamo vere sia limplicazione Se oggi nevica, andremo a sciare che la
sua ipotesi `e oggi nevica. Chiaramente la conclusione dellimplicazione andremo a sciare
deve essere vera.
Esempio 4.2 Limplicazione Se n `e divisibile per 3, allora n2 `e divisibile per 9 `e vera.
Quindi se supponiamo vero che n sia divisibile per tre abbiamo, per il modus ponens, che n
`e divisibile per 9.
In Tabella 17 sono riportate le pi`
u importanti regole di inferenza. Esse possono essere
facilmente dimostrate attraverso le tavole di verit`a.
Esempio 4.3 Determinare su quale regola di inferenza si basa il seguente ragionamento In
questo momento siamo sotto i zero gradi, quindi o in questo momento siamo sotto i zero
gradi oppure sta piovendo.
Siano p =In questo momento siamo sotto i zero gradi e q =In questo momento sta
piovendo. Il ragionamento ha la forma
p
pq
Quindi la regola dinferenza usata `e lAddizione.
Esempio 4.4 Determinare su quale regola di inferenza si basa il seguente ragionamento:
In questo momento vi sono pi`
u di 30 gradi e sta piovendo. Quindi, in questo momento sta
piovendo.
Poniamo p =In questo momento vi sono pi`
u di 30 e q =In questo momento sta
piovendo. Il ragionamento ha la forma
22
pq
p
Quindi la regola dinferenza usata `e la Semplificazione.
Regola di inferenza
Tautologia
Nome
p
pq
p (p q)
Addizione
pq
p
(p q) p
Semplificazione
((p) (q)) (p q)
Congiunzione
p
pq
q
[p (p q)] q
Modus ponens
q
pq
p
[q (p q)] p
Modus tollens
[(p q) (q r)] (p r)
Sillogismo ipotetico
[(p q) p] q
Sillogismo disgiuntivo
(p q) (q p)
Contronominale
p
q
pq
pq
qr
pr
pq
p
q
pq
q p
Tabella 17
Esempio 4.5 Determinare su quale regola di inferenza si basa il seguente ragionamento: Se
oggi piove non accenderemo il barbecue. Se oggi non accendiamo il barbecue, lo accenderemo
domani. Perci`o, se oggi piove, accenderemo il barbecue domani.
23
Poniamo p =Oggi piove, q =Oggi non accendiamo il barbecue e r =Domani accenderemo il barbecue. Il ragionamento ha la forma
pq
qr
pr
Quindi la regola dinferenza usata `e il Sillogismo ipotetico.
Diremo che un ragionamento `e valido se quando tutte le ipotesi sono vere allora la conlusione `e vera. Quindi, mostrare che q `e conseguenza delle ipotesi p1 , p2 , . . . , pn equivale a
provare che la seguente implicazione sia vera
(p1 p2 . . . pn ) q.
Se tutte le ipotesi usate in un ragionamento valido sono vere, si ottiene una conclusione
corretta. Si noti che un ragionamento valido pu`o portare ad una conclusione errata se durante
le argomentazioni sono state usate una o pi`
u proposizioni false. Per esempio, consideriamo
il seguente ragionamento: Se 101 `e divisibile per 3, allora 1012 `e divisibile per 9. 101
`e divisibile per 3. In conclusione 1012 `e divisibile per 9. Esso `e un ragionamento valido
basato sul modus ponens. Ma la conclusione `e errata in quanto 1012 = 10201 non `e divisibile
per 9. Il motivo `e che nel corso del ragionamento `e stata usata la proposizione falsa 101 `e
divisibile per 3.
Come mostrano i seguenti esempi, una dimostrazione potrebbe necessitare di molte regole
di inferenza.
Esempio 4.6 Siano date le seguenti ipotesi: Questo pomeriggio non c`e molto sole e fa pi`
u
caldo di ieri, Se andremo a nuotare allora c`e molto sole, Se non andremo a nuotare,
faremo un giro in canoa e Se faremo un giro in canoa, saremo a casa prima del tramonto.
Provare che dalle precedenti ipotesi segue la conclusione Saremo a casa prima del tramonto.
Poniamo: p =Questo pomeriggio c`e molto sole, q =Questo pomeriggio fa pi`
u caldo
di ieri, r =Andremo a nuotare, s =Faremo un giro in canoa e t =Saremo a casa prima
del tramonto. Allora le nostre ipotesi diventano rispettivamente: p q, r p, r s e
s t. La conclusione `e t. Proviamola un passo alla volta.
Passo
1. p q
2. p
3. r p
4. r
5. r s
6. s
7. s t
8. t
Spiegazione
Ipotesi
Semplificazione che usa il passo 1
Ipotesi
Modus tollens che usa i passi 2 e 3
Ipotesi
Modus ponens che usa i passi 4 e 5
Ipotesi
Modus ponens che usa i passi 6 e 7
24
Esempio 4.7 Siano date le seguenti ipotesi: Se mi mandi una e-mail, finir`o di scrivere il
programma, Se non mi mandi una e-mail, andr`o a dormire presto e Se vado a dormire
presto, mi sveglier`o riposato. Provare che dalle precedenti ipotesi segue la conclusione Se
non finir`o di scrivere il programma, mi sveglier`o riposato.
Poniamo: p =Tu mi mandi una e-mail, q =Finir`o di scrivere il programma, r =Andr`o
a dormire presto e s =Mi sveglier`o riposato. Allora le nostre ipotesi diventano rispettivamente: p q, p r e r s. La conclusione `e q s. Proviamola un passo alla
volta.
Passo
1. p q
2. q p
3. p r
4. q r
5. r s
6. q s
Spiegazione
Ipotesi
Contronominale del passo 1
Ipotesi
Sillogismo ipotetico che usa i passi 2 e 3
Ipotesi
Sillogismo ipotetico che usa i passi 4 e 5
Si osservi che la proposizione [(p q) q] p non `e una tautologia, infatti essa `e falsa
quando p `e falsa e q `e vera. Purtroppo, vi sono molti ragionamenti che la trattano come una
tautologia portando allerrore di affermare per vera la conclusione.
Esempio 4.8 Verificare se il seguente ragionamento `e valido: Se hai svolto ogni esercizio
di quel libro, allora hai imparato la matematica discreta. Tu hai imparato la matematica
discreta. Perci`o hai svolto ogni esercizio di quel libro.
Poniamo p =Hai svolto ogni esercizio di quel libro e q =Hai imparato la matematica
discreta. Allora il ragionamento di sopra `e di questa forma: se p q e q, allora p. Questo
ragionamento `e chiaramente sbagliato in quanto tu potresti aver imparato la matematica
discreta svolgendo gli esercizi di un libro diverso da quello indicato, oppure seguendo un
corso.
Esempio 4.9 Siano date le proposizioni p =Il resto della divisione intera di n per 3 `e 1
e q =Il resto della divisione intera di n2 per 3 `e 1. Limplicazione p q `e vera, infatti
essa equivale a dire che Se il resto della divisione intera di n per 3 `e 1, allora il resto della
divisione intera di n2 per 3 `e 1. Possiamo dire che se q `e vera, allora p `e vera? Sicuramente
no. Infatti basta porre n = 2.
La proposizione [(p q) p] q non `e una tautologia, poich`e essa `e falsa quando p
`e falsa e q `e vera. Lerrore che si commette consiste nel negare lipotesi.
Esempio 4.10 Siano p e q le proposizioni date nellEsempio 4.8. Se limplicazione p q
`e vera e p `e vera, possiamo dire che q `e anchessa vera? In altre parole, supposto vero
che Se hai svolto ogni esercizio di quel libro, allora hai imparato la matematica discreta,
25
possiamo dire che Se non hai svolto ogni esercizio di quel libro, allora non hai imparato
la matematica discreta? Chiaramente no. Infatti potresti aver imparato la matematica
discreta anche senza aver svolto esercizi di quel libro. Questo `e un ragionamento scorretto
della forma [(p q) p] q.
` corretto assumere che se
Esempio 4.11 Siano p e q le proposizioni date nellEsempio 4.9. E
p `e vera allora q `e vera? Anche in questo caso la risposta `e no. Basti considerare n = 2.
Molti ragionamenti sbagliati si commettono cadendo in un circolo vizioso, cio`e nella
dimostrazione della verit`a di una proposizione p si assume che fra le proposizioni supposte
vere come ipotesi si trovi p stessa o, come spesso accade, una proposizione equivalente a p.
Esempio 4.12 Vogliamo provare il seguente teorema: n `e un intero pari se n2 `e un intero
pari. Usiamo il seguente ragionamento: Supponiamo che n2 sia un intero pari. Allora
n2 = 2k per qualche intero k. Sia n = 2m per qualche intero m. Allora n `e pari.
La dimostrazione precedente `e errata. Infatti ho provato che n `e pari supponendo per
ipotesi che n = 2m, cio`e che n `e pari.
Si noti che lenunciato del teorema `e corretto. Solamente la dimostrazione `e sbagliata.
Si invita il lettore a produrre una dimostrazione corretta.
Abbiamo finora considerato regole di inferenza per proposizioni. Consideriamo ora alcune
regole di inferenza per proposizioni quantificate.
Universal instantiation `e la regola di inferenza che partendo dal presupposto xP (x)
permette di concludere che P (c) `e vera nel caso in cui c appartiene alluniverso del discorso
per la variabile x. Questa regola viene usata quando dal supposto Tutti gli uomini sono
mortali concludiamo che Socrate `e mortale, essendo Socrate un uomo, cio`e un elemento
particolare delluniverso del discorso.
Universal generalization `e la regola di inferenza che dice che se P (c) `e vera per ogni
elemento c delluniverso del discorso, allora xP (x) `e vera. Questa regola non vale se viene
provato che solo per uno od alcuni particolari valore di c vale P (c).
Existential instantion `e la regola di inferenza che permette di concludere che esiste almeno un elemento c nelluniverso del discorso per cui P (c) `e vera qualora sappiamo che la
proposizione xP (x) `e vera. Si osservi che in questo caso non possiamo indicare quale sia lo
specifico valore di c per cui P (c) sia vera ma solamente possiamo affermare che esso esiste.
Existential generalization `e la regola di inferenza usata per concludere che xP (x) `e vera
qualora sia stato trovato un elemento c nelluniverso del discorso per cui P (c) `e vera.
Le precedenti regole sono riassunte nella Tabella 18.
26
Regola di inferenza
Nome
xP (x)
P (c) se c U
Universal instantiation
Universal generalization
xP (x)
P (c) per qualche c U
Existential instantiation
Existential generalization
Tabella 18
Esempio 4.13 Mostrare come le premesse Ogni studente di questa classe ha superato il
corso di Formazione discreta I e Giovanni `e uno studente di questa classe implicano la
conclusione Giovanni ha superato lesame di Formazione discreta I.
Poniamo: D(x) =x `e uno studente di questa classe e C(x) =x ha superato il corso di
Formazione discreta I. Le premesse o ipotesi sono x(D(x) C(x)) e D(Giovanni). La
conclusione `e C(Giovanni). I seguenti passi mostrano la dimostrazione.
Passo
1. x(D(x) C(x))
2. D(Giovanni) C(Giovanni)
3. D(Giovanni)
4. C(Giovanni)
Spiegazione
Ipotesi
Universal instantiation del passo 1
Ipotesi
Modus ponens che usa i passi 2 e 3
Si osservi che le dimostrazioni matematiche spesso includono passi dove sono usate contemporaneamente regole di inferenza per proposizioni quantificate e non quantificate. Per
esempio luniversal instantiation e il modus ponens sono spesso usate insieme. Quando
queste due regole di inferenza sono combinate, le ipotesi x(P (x) Q(x)) e P (c), dove c `e
un elemento delluniverso del discorso, mostrano che la conclusione Q(c) `e vera.
Molti teoremi in matematica affermano che una propriet`a vale per tutti gli elementi di
un certo insieme (per esempio linsieme dei numeri interi positivi o quello dei numeri reali).
Lenunciazione precisa di questi teoremi richiederebbe linclusione di un quantificatore universale, ma `e convenzione standard in matematica ometterlo. Per esempio, lenunciato Se
lintero n `e divisibile per 3, allora n2 `e divisibile per 9 dovrebbe essere scritto Per tutti
27
Allora
2 `e
Sia p la proposizione 2 `e irrazionale. Supponiamo che p sia vera.
2
esistono due interi a e b, senza fattori a comune, tali che 2 = ab . Ne segue 2 = ab2 . Da
cui, 2b2 = a2 . Quindi a `e pari. Inoltre, essendo a pari, a = 2c per qualche intero c. Cos`
2b2 = 4c2 , b2 = 2c2 . Ne segue che b2 , e quindi b, `e pari. Consideriamo ora la proposizione
r =siano a e b due interi senza fattori a comune. Abbiamo appena provato che r `e
vera (infatti a e b, essendo entrambi pari, hanno 2 come un fattore a comune). Daltronde
abbiamo visto che p r. In conclusione abbiamo provato che p (r r). Quindi p
`e falsa. Segue che p `e vera.
Una dimostrazione indiretta di una implicazione pu`o essere riformulata come una dimostrazione per assurdo. La verit`a di p q si dimostra provando in modo diretto quella
di q p. Cio`e, nella dimostrazione indiretta di p q supponiamo che q `e vera e
mostriamo che p deve anche essere vera. Per riscrivere la dimostrazione indiretta di p q
come una dimostrazione per assurdo, supponiamo che entrambi p e q siano veri. Allora
usiamo i passi della dimostrazione diretta di q p per provare che p `e vera. Questo
porta allassurdo p p, completando la dimostrazione per assurdo.
Esempio 4.19 Dimostrare per assurdo il teorema Se 3n + 2 `e dispari, allora n `e dispari.
Supponiamo che 3n+2 sia dispari ma che n non lo sia. Quindi n `e pari. Procedendo come
nellEsempio 4.15, possiamo provare che se n `e pari, allora 3n + 2 `e pari. Questo contraddice
lipotesi che 3n + 2 `e dispari completando la dimostrazione.
29
A volte un teorema afferma che alcune proposizioni p1 , p2 , . . . , pn sono mutuamente equivalenti, cio`e che p1 p2 . . . pn . Un modo per provare tutte queste equivalenze `e dato
dalla seguente tautologia
[p1 p2 . . . pn ] [(p1 p2 ) (p2 p3 ) . . . (pn p1 )].
Cio`e se si dimostrano vere le implicazioni p1 p2 , p2 p3 , . . . , pn p1 allora le proposizioni
p1 , p2 , . . . , pn sono tutte equivalenti fra loro.
Esempio 4.22 Dimostrare che, se n `e intero, le tre seguenti proposizioni sono equivalenti.
p1 : n 1 `e divisibile per 3 oppure n 2 `e divisibile per 3
p2 : n non `e divisibile per 3
p3 : n2 1 `e divisibile per 3.
Per quanto detto sopra, provare che le tre proposizioni sono mutuamente equivalenti
equivale alla verit`a delle seguenti implicazioni: p1 p2 , p2 p3 e p3 p1 .
Proviamo che p1 p2 `e vera. Supponiamo per il momento che n 1 sia divisibile per 3,
cio`e n 1 = 3k per qualche intero k. Vogliamo provare per assurdo che n non `e divisibile
per 3. Infatti, se n fosse divisibile per 3 avremmo n = 3h per qualche intero h, quindi
1 = n (n 1) = 3h 3k = 3(h k), cio`e 1 sarebbe divisibile per 3 il che `e assurdo.
Sia adesso n 2 divisibile per 3. Con analoghi ragionamenti si pu`o provare che se n fosse
divisibile per 3 allora 2 dovrebbe essere divisibile per 3, assurdo. Cos` limplicazione p1 p2
rimane completamente provata.
Limplicazione p2 p3 `e stata provata nellEsempio 4.20. Proviamo che p3 p1 `e vera.
Supponiamo che p1 sia falsa, cio`e che n `e divisibile per 3 (si osservi che, dato un intero n
vale sempre una ed un sola delle tre seguenti proposizioni: n `e divisibile per 3, n 1 `e
divisibile per 3 e n 2 `e divisibile per 3). Quindi n = 3k per qualche intero k. Segue
che n2 = 9k 2 = 3(3k 2 ), cio`e n2 `e divisibile per 3, quindi p3 `e falsa e limplicazione p3 p1 `e
provata.
Molti teoremi mirano a dimostrare lesistenza di un certo elemento avente una determinata propriet`a. Essi hanno la forma del tipo xP (x) essendo P un predicato. La dimostrazione di una proposizione di questo tipo si dice dimostrazione di esistenza. Vi sono
diversi modi per produrre dimostrazioni di questo tipo. A volte si determina un ben preciso
elemento c per cui P (c) `e vera (in tal caso parleremo di dimostrazione costruttiva). Esistono
anche dimostrazioni di esistenza che non sono costruttive. Cio`e non possiamo trovare un
elemento c per cui P (c) `e vera ma possiamo provare che xP (x) in qualche altro modo. In
questo caso, una delle dimostrazioni pi`
u usate `e quella per assurdo: supponiamo che xP (x)
`e falsa e ne ricaviamo un assurdo.
Esempio 4.23 Esempio di dimostrazione costruttiva. Dimostrare che per ogni intero positivo n esistono almeno n interi consecutivi che non sono numeri primi.
Lenunciato del teorema consiste nella seguente proposizione
31
32