Corso A
Corso di Laurea in Informatica
Anno 2005-06
Indice
Indice
Introduzione
3
3
5
6
10
12
15
18
18
22
27
Logica proposizionale
3.1 Sintassi
3.1.1 Il linguaggio proposizionale
3.1.2 Analisi sintattica
3.1.3 Esercizi
3.2 Semantica
3.2.1 Tavole di verit`a
3.2.2 Esercizi
3.2.3 Validit`a e conseguenza
3.2.4 Esercizi
3.3 Sull0 implicazione
28
28
29
31
39
41
42
44
45
50
52
56
57
4.2
Algebre di Boole
4.2.1 Esercizi
4.3 Algebra delle proposizioni
4.4 Rapporti tra proposizioni e insiemi
67
70
71
76
Relazioni
5.1 Prodotto cartesiano
5.2 Relazioni
5.2.1 Esercizi
5.3 Relazioni d0 ordine
5.4 Relazioni di equivalenza
5.5 Funzioni
81
81
82
85
86
90
93
Forme normali
6.1 Definibilit`a dei connettivi
6.1.1 Esercizi
6.2 Forme normali disgiuntive
6.3 Forme normali congiuntive
6.4 Esercizi
97
97
99
100
101
106
Alberi di refutazione
7.1 Il metodo
7.2 Correttezza e completezza
7.3 Forme normali
7.4 Esercizi
108
108
115
119
120
Linguaggi predicativi
122
ii
8.1
8.2
8.3
8.4
8.5
Alfabeto
Termini e formule
Variabili libere e vincolate
Interpretazioni
Esercizi
124
124
128
131
134
Leggi logiche
9.1 Esercizi
9.2 Quantificatori e dimostrazioni
136
145
145
10
Sillogismi
10.1 Sillogismi categorici
10.2 Diagrammi di Venn
155
156
165
11
Alberi di refutazione
11.1 Regole per i quantificatori
11.1.1 Esercizi
11.2 Applicazione ai sillogismi
11.2.1 Esercizi
170
170
177
177
180
12
Il principio di induzione
12.1
I numeri naturali
12.2
Il principio di induzione
12.3
L0 induzione empirica
12.4
Il ragionamento induttivo
12.5
Esercizi
12.6
Definizioni ricorsive
12.6.1 Esercizi
12.7
Il principio del minimo
12.8
Varianti dell0 induzione
12.9
Errori e paradossi
12.10 Definizioni induttive
12.10.1 Esercizi
181
181
185
191
195
197
200
206
207
214
219
221
229
iii
Introduzione
Lo scopo di questo corso `e quello di rendere familiari con le forme di ragionamento tipiche degli argomenti matematici; in informatica in particolare interessano soprattutto quelli che mirano a trovare la soluzione di un problema,
a dimostrare che `e una soluzione e a presentarla come un algoritmo.
Un algoritmo `e un insieme articolato e connesso di istruzioni per risolvere
un problema; gli algoritmi non sono scritti in un linguaggio di programmazione, ma inizialmente nel linguaggio matematico o addirittura in quello
naturale, e in questo devono essere formulati e riconosciuti tali, prima che la
loro descrizione guidi alla traduzione nei relativi programmi.
La maggior parte degli algoritmi che sostengono le prestazioni dei calcolatori non sono numerici ma riguardano manipolazioni di simboli (ad esempio
lordinamento di una lista, o la fusione di due liste in una), quindi la prima
consapevolezza - e competenza - da acquisire `e che il linguaggio matematico
non `e solo quello dei numeri, ma abbraccia qualsiasi argomento che si possa
riferire ad elementi strutturati.
I ragionamenti relativi devono avere ed hanno lo stesso rigore di quelli
numerici, e si svolgono con lausilio di un simbolismo appropriato, che `e
quello della logica matematica (= logica formale moderna).
In vista della precisione richiesta, che non ammette rilassamenti ne licenze, `e bene realizzare che ogni ragionamento si pu`o rappresentare in forme
standardizzate di passaggi, e imparare a farlo, usando regole logiche e la
propriet`a fondamentale dei numeri naturali che `e il principio di induzione.
Il corso `e lequivalente di quelli che nelle universit`a americane si chiamano
di Introduction to Proofs, che contengono in genere anche elementi di matematica discreta (strutture finite, combinatoria). Tali corsi sono concepiti
come ponte tra la scuola secondaria e il college, rivolti a studenti che hanno
appreso la matematica come un insieme di ricette e di calcoli, senza aver mai
imparato a seguire e tanto meno a fare una dimostrazione. Soprattutto non
hanno coscienza del fatto che le dimostrazioni sono presenti ovunque, `
a la
Moli`ere, in particolare ogni volta che si stabilisce in modo giusto e preciso
cosa fa e cosa deve fare un algoritmo.
Nella scuola italiana qualche esperienza con le dimostrazioni si acquisisce
con la geometria, ma limitatamente alle sue costruzioni, nulla relativamente
allaritmetica o ad altre strutture simboliche e senza approfondire le ragioni di tale forma di ragionamento tipicamente matematica. Ne tale problema
sar`a indagato in questo corso introduttivo: lo studio delle dimostrazioni e lo1
biettivo della familiarit`a con esse sono perseguiti qui non in vista di spiegare
il senso dellimpostazione deduttiva delle teorie, ma solo per abituare a vedere le connessioni tra i vari risultati, la loro mutua dipendenza e derivabilit`a,
il che aiuta anche a ricordarli meglio.
Capire le dimostrazioni presuppone comunque la comprensione degli argomenti trattati, e costituisce quindi unoccasione di ripasso di nozioni elementari di aritmetica che sono alla base del pensiero informatico.
Nel testo, il segno !!! a margine segnala che si deve prestare particolare
attenzione.
!!!
Gli esercizi sono di due tipi; alcuni ripetitivi, per soddisfare le richieste di
studenti che vogliono tanti esempi sui quali applicare le tecniche o verificare
i concetti imparati; gli altri servono per approfondimento e non sono meno
importanti, anzi; tutti sono parte del programma.
I riferimenti in nota del tipo Horstmann, p. 186 rimandano al testo del
corso di Programmazione C. S. Horstmann, Java 2 .
Le parti scritte in corpo minore sono letture con informazioni integrative.
Il segno 2 `e usato per indicare la fine di una dimostrazione, al posto del
tradizionale QED.
2.1
Predicati e relazioni
Nella terminologia logica si introducono predicati (o propriet`a) e relazioni; i primi corrispondono ai verbi intransitivi e alla copula essere, le
seconde ai verbi transitivi.
Si dice che una propriet`a `e goduta da un soggetto, o che un soggetto ha
una determinata propriet`a o che soddisfa un predicato. Si dice anche che
una propriet`a `e predicata di un soggetto, espressione dalla quale si vede il
collegamento tra i due termini.
Con la rosa `e profumata o la rosa profuma si esprime il fatto che
la rosa ha una propriet`a, quella di essere profumata. La frase la rosa ha
profumo invece usa il verbo avere, che ha un soggetto e un complemento
oggetto; in logica si dice che sussiste una relazione tra la rosa e il profumo, o
che rosa e profumo stanno in una relazione, che `e la relazione di possesso.
Tutti i verbi si potrebbero standardizzare nella forma della attribuzione
di uno stato a uno o pi`
u termini, e questo corrisponderebbe ad avere un solo verbo, la copula essere, nelle due versioni essere qualcosa per i verbi
intransitivi e essere nella relazione . . . con per i verbi transitivi. Questo
`e il motivo per cui nella trattazione formale successiva (cap. 8) si user`a la
dizione unica predicati per propriet`a e relazioni, distinguendo quelli a un
argomento (propriet`a) da quelli a pi`
u argomenti (relazioni). Il numero di argomenti `e il numero di entit`a a cui si applica il predicato. Ma informalmente
si preferisce distinguere tra predicati in senso stretto (a un solo argomento),
o predicati monadici, e relazioni (a pi`
u argomenti).
La frase Giovanni dorme pu`o diventare Giovanni ha la propriet`a di
stare dormendo (o Giovanni `e dormiente, Giovanni sta dormendo, Giovanni `e nello stato di sonno).
Giovanni possiede un Piaggio 50 diventa la relazione di possesso sussiste tra Giovanni e un Piaggio 50, o meglio come vedremo la relazione di possesso sussiste tra Giovanni e una cosa, e questa cosa `e un Piaggio 50; Giovanni ama Maria, cos` come Maria `e amata da Giovanni1 , vuol dire che
la relazione di amore sussiste tra Giovanni e Maria (ma non necessariamente
tra Maria e Giovanni, perche la relazione di amore non `e simmetrica).
Le frasi matematiche elementari, uguaglianze e disuguaglianze, `e uguale
a, `e minore di, rientrano in questa tipologia. Cos` quelle insiemistiche con
appartiene a, cio`e `e un elemento di.
1
La distinzione tra forma attiva e passiva `e inessenziale, salvo dal punto di vista
psicologico.
Alcune frasi possono essere rese sia mediante relazioni che mediante predicati; dipende da come si definiscono le relazioni e i predicati. In Giovanni
`e amico di Mario si pu`o considerare la propriet`a essere amico di Mario e
attribuirla a Giovanni, oppure la relazione essere amico di e affermare che
sussiste tra Giovanni e Mario.
Non si pu`o dire che una sia giusta e laltra no; dipende dal contesto; se
dopo la prima osservazione si vuole aggiungere che Giovanni piange perche
Mario `e malato, e bisogna quindi citare di nuovo Mario, si deve usare il
nome Mario e allora `e meglio la versione relazionale, perche in quella con il
predicato in nome Mario scompare, nella versione formalizzata, assorbito
dal simbolo per il predicato: essere amico di Mario in quanto predicato,
nellanalisi logica, `e una unit`a linguistica non scomponibile, anche se espressa
in italiano da una successione di parole tra le quali compare Mario.
Le relazioni a due argomenti, come quelle viste negli esempi, si chiamano
binarie. Le relazioni non sono solo binarie: il punto C giace tra A e B `e
un esempio di una relazione ternaria, o tra tre termini.
2.1.1
Termini
Da questo esempio si vede la necessit`a di chiarire ancora almeno tre aspetti: come rendere cosa, come rendere la congiunzione delle due frasi, e come
rendere questa cosa, che nella seconda frase stabilisce un collegamento con
la prima.
2.2
Connettivi
Si noti luso della o nella nostra frase, di nuovo scambiabile con e: si voleva
dire che non abbiamo menzionato ne . . . ne e non abbiamo menzionato a meno che;
avremmo potuto dire che non abbiamo menzionato ne ne . . . ne ne a meno che, usando
proprio ne . . . ne; luso di o suggerisce unaltra versione equivalente: una particella
che sia ne . . . ne o a meno che non labbiamo menzionata.
logiche in quanto legano due frasi, ma hanno sfumature importanti che si perdono
nella formalizzazione: ad esempio siccome piove, prendo lombrello, o prendo
lombrello perche piove potrebbero essere espresse dallasserzione unica la pioggia
`e la causa del mio prendere lombrello, che coinvolge peraltro la delicata parola
causa; le frasi contengono tuttavia una determinazione temporale implicita (sta
piovendo), o anche una qualitativa (un riferimento forse a un particolare tipo di
pioggia - a dirotto) che non le rende del tutto equivalenti a quando piove, prendo
lombrello o a la pioggia `e la causa del mio prendere lombrello.
Esistono parimenti frasi che ne assommano diverse; la stessa siccome piove,
prendo lombrello invece che una frase pu`o essere considerata un argomento, poiche in essa si afferma un fatto, che piove, oltre a un legame condizionale. Potrebbe
corrispondere ad un esempio di modus ponens (si vedr`a a suo tempo): Se piove,
prendo lombrello. Piove. Quindi prendo lombrello.
per
per
per
per
per
per
la negazione
la congiunzione
la disgiunzione inclusiva
la disgiunzione esclusiva
il condizionale se . . . allora
il bicondizionale se e solo se
e in che senso, o se sono sufficienti, o quante ce ne potrebbero essere. Unaltra riguarda lequivalenza, affermata per alcuni esempi precedenti, tra frasi
diverse espresse con particelle diverse.
Queste strutture forniranno inoltre un ricco campo di scrittura di algoritmi non numerici ma simbolici, applicati a liste o alberi o altre strutture di
dati.
Il significato delle particelle logiche `e lo stesso a prescindere dal lessico, e
per studiarlo occorre non fissarsi su un linguaggio particolare; la trattazione
deve valere per tutti, quindi useremo lo stesso artificio matematico di usare lettere per indicare entit`a non precisate, che nelle applicazioni dovranno
essere asserzioni sensate.
La formalizzazione del linguaggio naturale non `e qualcosa di meccanico e di
compiuto per lintera gamma delle potenzialit`a espressive. Esistono argomenti
controversi e ancora oggetto di discussioni e di proposte per una formalizzazione
soddisfacente - che rientrano in studi pi`
u avanzati.
La restrizione alle frasi dichiarative `e uno di questi, dal momento che i comandi
ad esempio hanno un ruolo apparentemente importante nella programmazione.
Abbiamo visto qualche difficolt`a con siccome e il suo significato causale. Allo
stesso modo `e discutibile se `e necessario che . . . sia da considerare una particella
logica: `e necessario che al giorno segua la notte (o al giorno segue necessariamente la notte) non sembra equivalente a al giorno segue la notte e neanche
a al giorno segue sempre la notte, che `e equivalente alla precedente se segue,
privo di determinazioni temporali, assorbe il sempre; anche necessariamente 2
+ 2 = 4 forse dice di pi`
u di 2 + 2 = 4, ma non `e del tutto chiaro che cosa.
Ancora, `e possibile sostenere che il costrutto `e vero che . . . `e pleonastico,
in quanto `e vero che piove `e equivalente a piove, ma `e altrettanto possibile
sostenere che non `e possibile farne a meno.
Altre locuzioni della lingua naturale non formalizzabili le vedremo in seguito.
2.2.1
Esercizi
2.3
Variabili
Gli esempi dellesercizio 1 mostrano che le semplificazioni sono troppo drastiche se si vogliono usare solo i connettivi tra frasi complete; quelle collegate
restano complesse e non analizzate. Torniamo perci`o a quanto lasciato in
sospeso, a come rappresentare una cosa e questa cosa. Nella grammatica, un ruolo fondamentale `e svolto dai pronomi, che si presentano in grande
variet`a, come uno, chiunque, ogni, qualche e simili.
I pronomi servono a formare nuove frasi collegandone alcune che hanno
un riferimento in comune; nella frase se uno ha un amico, `e fortunato si
individuano due proposizioni componenti uno ha un amico e `e fortunato.
12
4
La possibilit`
a di questa espressione `e allorigine di una diversa analisi del linguaggio,
che ha portato alla prima logica formale della storia, nellopera di Aristotele, come vedremo
trattando i sillogismi.
13
le lettere a, b, c, . . .
le lettere x, y, . . .
P (x).
14
2.4
Quantificatori
Luso delle variabili o della loro versione con pronomi presenta aspetti delicati per trattare i quali il formalismo finora introdotto non `e abbastanza
discriminante.
Se si dice A Giovanni piace il Piaggio 50 si intende che a Giovanni
piacciono tutti i Piaggio 50, anche se probabilmente desidera averne solo
uno; se si usa R(y, x) per la relazione a y piace x la frase diventerebbe
uguale alla precedente, pur avendo un altro senso (in particolare pu`o essere
vera, mentre la precedente falsa).
Nella frase se uno ha un amico, `e fortunato ci sono due tipi di uno,
il primo uno `e il soggetto, presente tacitamente anche come soggetto di
`e fortunato, e il secondo `e lun di ha un amico5 . Il primo uno
significa chi, nel senso di chiunque, il secondo significa qualche. La
stessa parola uno, e le corrispondenti variabili x e y possono cio`e avere sia
un senso universale che uno particolare.
Anche se il senso della frase `e ovvio, per chiarezza `e meglio dire chiunque
abbia qualche amico `e fortunato. Cos` si potrebbe dire A Giovanni piace
un qualunque Piaggio 50 o A Giovanni piacciono tutti i Piaggio 50 o A
Giovanni piacciono i Piaggio 50. La variet`a di costrutti linguistici disponibili nelle lingue naturali ha la funzione di evitare possibili ambiguit`a in altre
frasi di non immediata decifrazione.
Un esempio di frase ambigua, se presa isolatamente, `e uno che segue il
corso di Logica si addormenta. Il professore spera che voglia solo dire che
si conosce uno studente che tende ad addormentarsi, ma magari gli studenti
intendono che tutti si addormentano sempre.
Luso delle variabili da sole non risolve le ambiguit`a, anzi le potrebbe
accrescere, se vengono a mancare le differenze di significato dei pronomi
specifici; in se x ha y come amico, x `e fortunato, se y fosse presa in senso
universale, come la x, allora la frase significherebbe che chi `e amico di tutti
`e fortunato, che `e discutibile, piuttosto `e un santo.
Un altro esempio `e il seguente: nelle due frasi di argomento aritmetico
un numero moltiplicato per se stesso d`a 1
e
5
Non c`e differenza tra uno e un; si potrebbe dire in entrambi i casi una persona,
ristabilendo luniformit`
a.
15
quantificatore universale
quantificatore esistenziale
e
e questi segni si premettono alle formule con variabili per segnalare che, nel
loro raggio dazione determinato dalle parentesi, le variabili stesse devono
essere intese nel senso di tutti ovvero nel senso di qualcuno.
La frase uno che ha un amico `e fortunato diventa, schematizzata,
x(yA(x, y) F (x)).
Luso delle parentesi sar`a codificato quando si studier`a il formalismo. Per
ora basti osservare che quando un quantificatore si riferisce a una variabile
fissandone il senso, universale o particolare, in una frase, tutta la frase che
contiene quelle occorrenze della variabile, nellesempio yA(x, y) F (x), va
racchiusa tra parentesi.
Quando si leggono frasi gi`a formalizzate, i quantificatori x e x si leggono
usualmente sempre nello stesso modo: per tutti gli x (o per ogni x) e
esiste un x tale che (o esistono x tali che), anche quando non `e la lettura
pi`
u elegante. Invece in italiano ci sono diversi modi di esprimersi.
Alcune espressioni della lingua naturale hanno tuttavia significati colloquiali che non hanno interesse logico e che comunque non sono esprimibili
nel formalismo. Anzi bisogna fare attenzione a non lasciarsi influenzare. Ad
esempio qualche viene spesso usato per dire pochi, per indicare un certo
numero ma non grande, e spesso maggiore di uno, che se `e uno si dice uno.
16
17
2.5
Esempi
2.5.1
4. Maria ama i figli di Giovanni, che significa che Maria ama tutti i figli
di Giovanni, si formalizza con
x(F (x, g) A(m, x))
e non con x(A(m, x) F (x, g)); questa significa che tutti sono figli di
Giovanni, e che Maria li ama tutti; il che implica che Giovanni sia Dio,
e forse Maria la Madonna.
Per la formalizzazione corretta, pu`o essere utile vedere nella frase un caso di quantificatore ristretto, ai figli di Giovanni, leggendola al passivo:
Tutti i figli di Giovanni sono amati da Maria.
5. Non tutte le ciambelle riescono col buco.
Si scelga un predicato C per essere una ciambella e una relazione
B(x, y) per x `e un buco di y. Quindi si trasforma la frase eliminando non tutte a favore di qualche ciambella non riesce col buco.
Riuscire con buco o avere il buco possono essere trattate come
equivalenti: la prima versione allude al processo di fabbricazione che
finisce male, la seconda al risultato. Allora
y(C(y) xB(x, y)).
6. Ogni rosa ha le sue spine.
Sia R il predicato essere una rosa e S(x, y) la relazione x `e una spina
di y.
x(R(x) yS(y, x)).
Si noti che se S(x, y) `e la relazione x `e una spina di y, S(y, x) si
legge y `e una spina di x. C`e grande libert`a nelluso delle variabili:
yS(y, x) si potrebbe scrivere anche zS(z, x); in italiano hanno la
stessa traduzione x ha qualche spina. Quello che importa `e non usare
la stessa variabile quando devono essere distinte: se si scrive xS(x, x)
si dice che c`e una rosa che `e una spina.
19
20
dalla matematica
1. La frase dati due numeri, uno minore dellaltro, esiste un terzo numero
compreso tra i due, vera nel campo dei razionali e in quello dei reali,
falsa negli interi, pu`o essere resa da
xy(x < y z(x < z z < y)).
La congiunzione x < z z < y si pu`o abbreviare, secondo luso
matematico, con x < z < y.
Non esiste un quantificatore che quantifichi sulle coppie; ci si comporta
come se la frase fosse dato un primo numero e dato un secondo numero
. . . . Ma un primo e un secondo servono solo a facilitare lespressione, si sarebbe potuto dire anche dato un numero e dato un numero
. . . , con qualche difficolt`a nel seguito per i riferimenti appropriati.
Si faccia attenzione che neanche la presenza di due vuol dire che i
numeri devono essere considerati diversi; tale forma comune di espressione distingue il modo, il momento in cui i numeri sono presentati, o
pensati, ma non `e escluso in generale che si presenti lo stesso numero
due volte.
Nellesempio 10 precedente, a Natale uno fa anche regali a se stesso, se
si vuole bene.
Dati due numeri significa fatta due volte la scelta di un numero, e
le scelte possono cadere sullo stesso numero. In termini probabilistici,
si tratta di scelte con reimmissione; oppure si deve considerare che la
scelta di un numero non lo toglie certo dallinsieme. Dati due numeri,
esiste la loro somma si pu`o scrivere
22
xyz(z = x + y)
ma esiste anche la somma di ogni numero con se stesso; x e y possono
prendere tutti i valori in tutte le combinazioni possibili, quindi anche
valori uguali.
Quando tuttavia si mette come sopra la condizione uno minore dellaltro - come nella frase proposta - allora si esclude che possano essere
uguali perch`e la relazione minore di non `e riflessiva. Tuttavia lo si
esclude solo attraverso una deduzione, non con la semplice scrittura:
se x e y denotano lo stesso numero, e bisogna considerare anche questo
caso per verificare se la frase `e vera, in x < y z(x < z z < y)
lantecedente x < y risulta falso (come nellesempio dei tedeschi).
Con un terzo di nuovo si vuol dire semplicemente un numero, e che
sia diverso dai primi due segue automaticamente se compreso significa strettamente compreso; altrimenti, se la relazione dordine fosse
intesa come allora potrebbe anche essere uguale a uno dei due; non
`e questo il senso della frase, che vuole esprimere la densit`a dellordine
dei numeri reali - e anche dei razionali.
Se nella stessa formula il segno di relazione `e interpretato su di una
relazione riflessiva, come
xy(x y z(x z z y)),
o pi`
u in generale se R `e riflessiva allora . . . , ovvero
xR(x, x) xy(R(x, y) z(R(x, z) R(z, y))),
allora la formula `e banalmente vera per ogni relazione7 .
2. La relazione R `e riflessiva, che significa che ogni elemento sta nella
relazione R con se stesso, si scrive
xR(x, x),
come abbiamo fatto sopra.
7
23
3. La relazione R `e simmetrica, che significa che se la relazione R sussiste tra uno primo e un secondo elemento allora sussiste anche tra il
secondo e il primo, si scrive
xy(R(x, y) R(y, x)).
4. La relazione R `e transitiva, che significa che se R sussiste tra un
primo elemento e un secondo, e tra questo e un terzo, allora sussiste
anche tra il primo e il terzo, si scrive,
xyz(R(x, y) R(y, z) R(x, z)).
5. Come non esiste un quantificatore sulle coppie, cos` non esiste un quantificatore che esprima esiste esattamente un . . . , o esiste un solo . . . . Tale locuzione si realizza mediante luguaglianza come nel
seguente esempio.
La frase dati due numeri, esiste un solo numero che `e la loro somma
si formalizza come
xyz(z = x + y u(u = x + y u = z)).
6. In generale Esiste un solo x tale che P (x) si formalizza come
x(P (x) y(P (y) x = y)).
7. In modo analogo si pu`o esprimere la locuzione esistono esattamente
due elementi tali che . . . (esercizio).
8. Non si riesce invece con nessun giro di formule del formalismo che
stiamo usando ad esprimere la maggior parte degli elementi . . . o
quasi tutti . . . .
9. Analogamente non si riesce ad esprimere tanti.
10. La frase dati due numeri diversi tra loro, esiste un numero che `e
propriamente compreso tra i due numeri dati si rappresenta con
xy(x 6= y z(x < z < y y < z < x)).
24
11. La frase ogni numero positivo ha una radice quadrata, vera nei reali,
falsa nei razionali, si rappresenta come
x(0 < x y(x = y 2 )),
dove con y 2 si indica la funzione di elevamento al quadrato.
12. un numero `e divisibile per un altro numero se e solo se esiste un terzo
numero che moltiplicato per il secondo d`a il primo.
Scriviamo x|y per y `e divisibile per x o x divide y e usiamo il solito
segno di moltiplicazione:
xy(x|y z(y = x z)).
13. Esistono due numeri primi consecutivi.
Per questa frase complicata procediamo in due passi; usiamo unabbreviazione pr(x) per x `e primo e scriviamo
xy(x = y + 1 pr(x) pr(y))
riservandoci di sostituire pr(x) con la sua scrittura corretta data nel
prossimo esercizio.
Che i numeri siano due non risulta dallo scrivere xy ma da x = y + 1
che implica x 6= y (vedremo che lo si deduce facilmente dagli assiomi
dei numeri naturali); si potrebbe anche scrivere:
x(pr(x) pr(x + 1)),
dando per scontato, come sopra, che x 6= x + 1.
14. Un numero `e primo se e solo se `e maggiore di 1 ed `e divisibile solo per
1 e per se stesso.
Per esprimere questa che `e la definizione di un nuovo predicato usiamo
un nuovo simbolo pr(x) e scriviamo
x(pr(x) x > 1 z(z|x z = 1 z = x)).
25
2.6
Esercizi
27
Logica proposizionale
La logica proposizionale studia quello che si pu`o dire sulle frasi considerando
solo la struttura determinata dai connettivi; si considerano cio`e frasi formate
da frasi pi`
u semplici per mezzo dei connettivi.
Introdotti i simboli per i connettivi, occorre dare le loro precise regole
duso - alcune delle quali abbiamo gi`a anticipato negli esempi - sia dal punto
di vista sintattico (dove scriviamo ad esempio per formare la negazione
di unasserzione?), sia dal punto di vista semantico (come interpretiamo il
significato delle frasi composte, in funzione delle frasi componenti?).
3.1
Sintassi
La necessit`a di fornire regole rigide per la formazione delle frasi `e data dalla
volont`a di evitare le ambiguit`a possibili nelle lingue naturali. Alcune ambiguit`a si riferiscono proprio alla distribuzione dei connettivi; supponiamo
ad esempio di leggere un problema rappresentato dallinsieme delle seguenti
disequazioni:
x2 + 4x + 3 < 0
e x < 3 o x > 2.
Nel primo caso la risposta `e (2, +), nel secondo caso `e (2, 1).
Naturalmente lambiguit`a, che nel parlato si risolve con le pause, nella
scrittura matematica si risolve con le parentesi, il primo caso essendo
(x2 + 4x + 3 < 0 e x < 3) o x > 2
e il secondo caso
x2 + 4x + 3 < 0 e (x < 3 o x > 2).
La stessa soluzione delle parentesi1 adotteremo per le formule logiche.
3.1.1
Il linguaggio proposizionale
Le parentesi sono state anche aggiunte al linguaggio naturale - almeno nella saggistica,
meno in letteratura - con unaltra funzione, quella di racchiudere un inciso (una frase
parentetica appunto) non di articolare una frase complessa.
2
Con stringa sintende una lista o una successione finita. Non `e necessario entrare nei particolari del tipo di rappresentazione dei dati che si sceglie, finche non si deve
implementare.
3
Quando introdurremo la semantica formale diventer`a preciso.
29
La ragione di questo termine, non usato altrove in matematica, se non in logica, `e che
queste variabili indicano elementi di una struttura che `e anchessa un linguaggio, e che
contiene a sua volta variabili (le lettere) che devono essere interpretate su frasi; meta
significa sopra, oltre, e deriva dal greco, dove significava piuttosto dopo; ma da che
sono stati chiamati metafisica i libri di Aristotele che seguivano quelli di fisca, `e venuta
questa variante di significato.
5
Per i linguaggi formali si chiede sempre che lalfabeto e le sue diverse categorie di
simboli siano insiemi decidibili , cio`e tali che lappartenenza o meno ad essi di un simbolo
possa essere decisa da un algoritmo.
6
Tutte queste propriet`
a diventeranno esercizi sul principio di induzione nel paragrafo
12.
30
4. ((p) (q)) `e una proposizione perche ottenuta dalle proposizioni atomiche (p) e (q) con una applicazione della clausola induttiva relativa a
.
5. (((p) (q))) `e una proposizione perche ottenuta dalle proposizioni
atomiche (p) e (q) con una prima applicazione della clausola induttiva
relativa a e una seconda applicazione della clausola relativa a .
6. ((p) non `e una proposizione perche:
In ogni proposizione il numero di parentesi sinistre `e uguale al numero
di parentesi destre.
7. (pq) non `e una proposizione perche non `e atomica e non contiene nessun
connettivo.
Se una proposizione `e della forma (A) o della forma (A B), e sono
rispettivamente il suo connettivo principale, e A e B le sottoproposizioni
immediate.
Si dice che (A) `e una negazione, citando il suo connettivo principale, la
negazione di A - e si legge non A; si dice che (A B) `e una congiunzione,
la congiunzione di A e B - e si legge A e B; A e B sono le proposizioni
congiunte in (AB); analogamente per la disgiunzione7 (AB) - che si legge
A o B; (AB) si pu`o leggere o A o B; (A B) si dice un condizionale e si legge di solito se A allora B; A si chiama antecedente, e B conseguente;
(A B) si dice bicondizionale - e si legge A se e solo se B.
3.1.2
Analisi sintattica
Una proposizione `e una lista di simboli, ma `e anche passibile di una rappresentazione con una diversa struttura. A ogni proposizione `e associato
un albero di costruzione, o di analisi sintattica 8 , che `e un albero etichettato
finito binario.
Un albero binario9 `e un insieme parzialmente ordinato10 X con una relazione con le seguenti propriet`a. `e una relazione riflessiva, transitiva
7
31
.&
.&
32
(p)
((q))
(p)
(q)
La sua altezza `e quattro.
Le etichette dei nodi dellalbero di costruzione di una proposizione sono le
sue sottoproposizioni. Le lettere che compaiono nelle (proposizioni atomiche
nelle) foglie sono le lettere che occorrono nella proposizione; si dice che un
simbolo occorre in una proposizione se `e un elemento della lista (che `e la
proposizione); le occorrenze di un simbolo in una proposizione sono i vari
posti della lista in cui il simbolo si presenta. Se p, . . . , q sono le lettere che
occorrono nella proposizione A, si scrive anche A[p, . . . , q]. Qualche volta
si usa questa notazione anche se p, . . . , q sono solo alcune delle lettere che
occorrono in A, o viceversa se le lettere che occorrono in A sono incluse tra
le p, . . . , q; invece di introdurre notazioni distinte apposite, la differenza sar`a
chiarita dal contesto o da esplicite precisazioni.
Le parentesi sono essenziali per individuare il connettivo principale di una
proposizione, e quindi per costruire il suo albero sintattico. Per individuare
il connettivo principale, si usa un contatore di parentesi15 .
Il contatore scansisce la lista da sinistra verso destra, e scatta di +1
quando incontra una parentesi sinistra, di 1 quando incontra una parentesi
destra. Condizione necessaria affinche una parola sia una proposizione `e che
33
il contatore, inizializzato a 0, torni a 0 solo alla fine della parola. Perche poi !!!
la parola sia una proposizione bisogna che gli altri simboli siano distribuiti
in mezzo alle parentesi in modo corretto.
Ad esempio per
(((p) ((q))) ((p)))
il contatore assume i valori:
0 1 2 3 2 3 4 3 2 1 2 3 2 1 0.
Per individuare il suo possibile connettivo principale, si elimina la coppia di
parentesi esterne, e si mette di nuovo in funzione il contatore su
((p) ((q))) ((p))
notando che esso assume questa volta i valori
0 1 2 1 2 3 2 1 0 1 2 1 0
tornando a 0 la prima volta quando arriva alla fine di
((p) ((q))),
e a destra c`e un connettivo binario.
(Siccome il contatore `e stato applicato ad una parola che non `e una proposizione - se anche quella originaria lo `e, per leliminazione delle due parentesi
- non sorprende il suo comportamento16 .)
La parola ((p) ((q))) `e candidata ad essere una sottoproposizione; il
connettivo che compare nel prossimo posto a destra `e candidato a essere
il connettivo principale; lipotesi cio`e `e che se il procedimento va a buon fine
la proposizione sia della forma (A B). Se anche la parte restante
((p))
`e una proposizione si sar`a trovato che la parola data `e la disgiunzione di
((p) ((q)) e di ((p)).
Poiche questultima si vede facilmente che `e una proposizione, proseguiamo lanalisi di
15
Horstmann, p. 76.
Invece di prendere nota di dove il contatore torna a 0 sulla parola ridotta, si pu`o
ovviamente prendere nota di dove torna a 1 in quella originaria.
16
34
((p) ((q))).
Il contatore applicato a questa assume i valori
0 1 2 1 2 3 2 1 0
e applicato a
(p) ((q))
i valori
0 1 0 1 2 1 0
tornando la prima volta a 0 alla fine di (p), individuando a destra il connettivo , che lega (p) e ((q)). In questo modo si arriva a costruire lalbero
sintattico.
Invece
(((p) (q())) ((p)))
non `e una proposizione, nonostante il contatore si comporti come nel caso
precedente (esercizio).
Oltre ai casi che si presentano nel precedente esempio, un altro possibile
`e il seguente. Data la parola
(((p) ((p) (q))))
il contatore assume i valori
0 1 2 3 2 3 4 3 4 3 2 1 0
ma se si tolgono le parentesi esterne e si riapplica il contatore, esso torna a 0
solo alla fine. In questo caso il connettivo, che deve esserci perche `e ovvio che
non si tratta di formula atomica, non pu`o che essere la negazione, allinizio.
Infatti in questo caso c`e. Se non ci fosse, la parola sarebbe della forma ((A)),
che non `e una proposizione.
Alcune parentesi sono sovrabbondanti, ma solo quelle della coppia pi`
u
esterna e quelle nelle proposizioni atomiche, dove sono usate sia per uniformit`a sia per sottolineare la differenza tra una lettera come elemento dellalfabeto e la lettera come proposizione17 . Ma ora per comodit`a di scrittura e
17
Tra simboli dellalfabeto e parole c`e una differenza di tipo logico. Nei linguaggi
naturali si presentano alcune eccezioni, ma solo le vocali a, e, i, o sono usate
come parole; tuttavia `e raro che si parli dellalfabeto; quando lo si fa, si scrive appunto
e e non e.
35
Data quindi una parola le cui parentesi non rispettano le condizioni per
essere una proposizione (s` per`o la parit`a, il fatto che il numero di parentesi
sinistre sia uguale a quello delle parentesi destre, il fatto che in ogni punto
che non sia lultimo il numero di sinistre `e maggiore o uguale di quello delle
destre, e tutte le propriet`a che si mantengono quando si eliminano alcune
coppie di parentesi corrispondenti) le parentesi si rimettono secondo questo
procedimento: prima si rimettono le parentesi a sinistra e a destra delle
lettere18 ; quindi si prende in esame la negazione, se occorre nella parola; si
esamina unoccorrenza della negazione che non abbia immediatamente alla
sua destra unaltra negazione19 . Alla sua destra c`e una parentesi sinistra altrimenti si pu`o dire che quella parola non proviene dalla eliminazione di
coppie di parentesi da una genuina proposizione (brevemente, che non `e una
proposizione). Sia la parola alla sua destra che termina con la parentesi
destra che chiude la parentesi sinistra. Per trovare la parentesi destra che
chiude la parentesi sinistra si usa di nuovo il contatore in modo ovvio. !!!
Allora si rimette una parentesi sinistra alla sinistra della negazione, se non
18
36
c`e gi`a, e una parentesi destra a destra di , se non c`e gi`a, ottenendo ();
si ripete per ogni occorrenza di , quindi si passa ai connettivi binari e per
ciascuno di essi, indicato con , nellordine di priorit`a, si considerano le pi`
u
corte sottoparole e a sinistra e a destra di che sono chiuse tra due
parentesi sinistre e destre, e si introduce una parentesi ( a sinistra di e ) a
destra di , se non ci sono gi`a, ottenendo ( ), e cos` via.
Per occorrenze dello stesso connettivo si conviene lassociazione a destra,
cio`e ad esempio con A B C si intende A (B C).
Esempi
Data p q p, la reintroduzione delle parentesi avviene attraverso
questa successione di passi:
1
p (q (r))
p (q ((r)))
37
p ((q ((r))))
(p ((q ((r)))))
p
q
p
q.
38
Esercizi
40
7. Definire le proposizioni nel seguente modo: Ogni lettera p `e una proposizione; se A `e una proposizione, anche (A) `e una proposizione; se
`e un connettivo binario e A e B sono proposizioni, anche (A) (B) `e
una proposizione.
Definire il nuovo procedimento per decidere se una parola `e una proposizione e costruire lalbero sintattico.
Discutere eventuali vantaggi e svantaggi della definizione alternativa.
3.2
Semantica
La semantica ha a che fare con le interpretazioni, grazie alle quali le proposizioni, con la sostituzione di frasi alle lettere, vengono ad assumere un senso
(che a noi non interessa, lo bypassiamo) e diventano vere o false. Tale attribuzione finale di valori di verit`a `e per noi loperazione di interpretazione, che
viene studiata in astratto per vedere se abbia propriet`a generali, indipendenti
dalle interpretazioni concrete.
I valori di verit`a saranno rappresentati dallinsieme20 {0, 1}. Ci si colloca
con tale scelta nellottica della logica classica a due valori.
Nellinsieme {0, 1} `e necessario introdurre un minimo di struttura21 : la
pi`
u semplice consiste in convenire che 0 < 1 e usare la sottrazione come se 0
e 1 fossero numeri interi, con | x | a indicare il valore assoluto.
Uninterpretazione `e una funzione22 i : L {0, 1}; una valutazione `e
una funzione v : P {0, 1} che soddisfa le seguenti condizioni23 :
v((A))
v((A B))
v((A B))
v((A B))
v((A B))
v((A B))
=
=
=
=
=
=
1 v(A)
min{v(A), v(B)}
max{v(A), v(B)}
| v(A) v(B) |
max{1 v(A), v(B)}
1 | v(A) v(B) | .
20
Altre notazioni per i valori di verit`a sono {V, F }, {T, F }, {>, }, {True, False}.
Vedremo in seguito che si pu`
o considerare unalgebra di Boole.
22
La notazione con la freccia sar`a spiegata in seguito; per ora si intenda che a ogni lettera
corrisponde un valore di verit`
a, e per la valutazione v che a ogni proposizione corrisponde
o 0 o 1.
23
Si noti che in v((A)) e in altre espressioni analoghe ci sono due tipi di parentesi, che
andrebbero tipograficamente distinte; quelle interne sono le parentesi della proposizione,
quelle esterne servono per la notazione funzionale v(x).
21
41
=
=
=
=
=
=
1 + v(A)
v(A) v(B)
v(A) + v(B) + v(A) v(B)
v(A) + v(B)
1 + v(A) (1 + v(B))
1 + (v(A) + v(B)).
Tavole di verit`
a
A
0
1
la tavola di verit`a della congiunzione:
A
0
0
1
1
24
B
0
1
0
1
AB
0
0
0
1
Per chi non sa cosa significa, sar`a spiegato in seguito, limportante `e che 1 + 1 = 0.
42
AB
0
1
1
1
B
0
1
0
1
B
0
1
0
1
AB
0
1
1
0
B
0
1
0
1
AB
1
1
0
1
B
0
1
0
1
AB
1
0
0
1
Quando si deve trovare il valore di verit`a di una proposizione, o di un numero finito di esse, sotto uninterpretazione, `e sufficiente considerare i valori
assunti dalle lettere che vi compaiono, quindi le interpretazioni diventano
assegnazioni di valori 0 o 1 ad un numero finito di lettere, e per ogni proposizione ce ne `e un numero finito. Data una proposizione, il calcolo dei suoi
valori di verit`a per ogni possibile interpretazione si pu`o organizzare in una
tabella con i valori progressivi attribuiti alle sottoproposizioni (individuate
dallanalisi sintattica), come nei seguenti esempi:
43
Se A `e p p q:
p
0
0
1
1
q p p p
0 1
0
1 1
0
0 0
0
1 0
0
p p q
1
1
1
1
Se A `e p r p (q r):
p
0
0
0
0
1
1
1
1
q
0
0
1
1
0
0
1
1
r p q r p (q r) p r
0 1
1
1
0
1 1
1
1
1
0 1
0
0
0
1 1
1
1
1
0 0
1
0
1
1 0
1
0
1
0 0
0
0
1
1 0
1
0
1
A
1
1
1
1
0
0
0
0
Esercizi
44
pqr prs
(p q) r p (r s)
p (q p).
2. Spiegare quale `e la disgiunzione usata nella programmazione, in considerazione del fatto che ivi si adotta la valutazione pigra: quando viene valutata una disgiunzione, e la prima condizione `e vera, la seconda
condizione non viene esaminata25 .
3. Trovare le tavole di verit`a corrispondenti a a meno che, anche se.
4. Scrivere la tavola di verit`a per le particelle logiche ne . . . ne e non
(`e vero che) sia . . . sia . . . .
5. Costruire la tavola di verit`a per se . . . allora . . . , altrimenti . . . .
Avvertenza. Si faccia attenzione che il costrutto if . . . then nei linguaggi di programmazione `e usato piuttosto come ; se lo statement
`e falso listruzione non viene eseguita: ad esempio se si esegue
if importo saldo then saldo := saldo - importo,
lenunciato dellassegnazione verr`a eseguito solo se limporto da prelevare `e minore o uguale al saldo26 .
3.2.3
Validit`
a e conseguenza
Horstmann, p. 212.
Horstmann, p. 186.
45
27
46
47
Per verificare queste leggi, dove A, B, . . . sono qualunque, si devono prima verificare le stesse nel caso particolare che A, B, . . . siano atomiche (ad
esempio p p per la legge dellidentit`a), e poi sfruttare il fatto che se A[p]
`e una tautologia e B `e qualunque, allora anche il risultato della sostituzione
di B a p in A `e una tautologia (vedi esercizi).
Per le leggi che nella tabella sono scritte come condizionali e non bicondizionali, si vedr`a in seguito che limplicazione inversa in generale non sussiste
(salvo alcuni casi, ad esempio per linverso della riduzione allassurdo debole
A (A A), che rientra nellaffermazione del conseguente).
Lassociativit`a della congiunzione giustifica che si possa scrivere senza
ambiguit`a, indipendentemente dalle convenzioni sulle parentesi, A B C
per (indifferentemente) A (B C) o (A B) C, o in generale A1 . . . An
(e lo stesso per la disgiunzione). A (B C) e (A B) C sono diverse
(si disegni il loro albero sintattico) ma si dice che sono uguali a meno di
equivalenza logica.
Anche le seguenti sono leggi logiche:
A B A B
(A B) (A B) (B A)
A B (A B) (B A)
A B (A B) (A B).
Si noti che le due leggi per forniscono un esempio di come una particella
logica possa essere espressa con diversi giri di frase equivalenti; queste equivalenze in genere mostrano cosa significa che frasi diverse vogliono dire la
stessa cosa.
Per mezzo di esse, dalle leggi elencate sopra se ne derivano altre; ad
esempio dal modus ponens e dallesportazione, con la prima, si ricava
A (A B) B
sillogismo disgiuntivo.
48
A, A B
,
B
il sillogismo disgiuntivo da
A, A B
B
o da
A, A B
,
B
leliminazione della congiunzione da
AB
AB
e
A
B
e lintroduzione della disgiunzione da
A
B
e
AB
AB
e altre ancora possibili.
Le regole e la loro rappresentazione grafica si interpretano nel seguente
modo. Le leggi corrispondenti permettono di asserire che se sono vere le
proposizioni sopra la riga, o premesse della regola, allora `e vera anche la
proposizione sotto la riga, o conclusione. Regole dinferenza di questo genere
si dicono corrette se le premesse implicano logicamente la conclusione - quindi
le regole sopra elencate sono corrette.
Per mezzo delle regole di inferenza si deduce una proposizione da unaltra,
o da altre date, che si chiamano assunzioni; si dice che una proposizione B si
deduce da unaltra A se A |= B e se questo fatto `e riconosciuto e certificato
da una spiegazione.
49
Esercizi
3.3
Sullimplicazione
Abbiamo distinto il condizionale, che `e un connettivo, o il nome di una proposizione della forma A B, dallimplicazione, che `e una relazione tra
proposizioni, e non si scrive A B ma |= A B. A implica B significa
il condizionale A B `e una tautologia.
52
53
` difficile trovare qualcosa di positivo in comune tra queste diverse accezioni del
E
se . . . allora. In particolare il caso che ha sollevato maggiori discussioni `e lultimo,
come considerare il condizionale se antecedente e conseguente sono entrambe false.
Una cosa in comune ce lhanno, ed `e che in tutte le accezioni lunico modo
per dichiarare il condizionale falso `e quello di riscontrare antecedente vera e conseguente falsa, anche per il significato materiale: se la Terra `e rotonda, allora il
Sole `e freddo si considera falso.
Allora il significato parziale comune si pu`o esprimere riempiendo la tavola di
verit`a con i valori che sono di fatto quelli di (A B):
!!!
Un condizionale `e corretto [secondo Crisippo] se la negazione della
sua conclusione `e incompatibile con la sua premessa (Sesto Empirico,
Schizzi pirroniani , II, 110-2).
Si ottiene cos` quella che gli antichi chiamavano implicazione materiale:
Secondo lui [Filone di Megara] ci sono tre modi in cui un condizionale
pu`o essere vero, e uno in cui pu`o essere falso. Perche un condizionale `e vero quando inizia con una verit`a e termina con una verit`a,
come se `e giorno, `e chiaro. Ed `e vero anche quando inizia con una
falsit`a e termina con una falsit`a, come se la terra vola, la terra ha
ali. Analogamente, `e vero un condizionale che inizia con una falsit`a
e termina con una verit`a, come se la terra vola, la terra esiste. Un
condizionale `e falso soltanto quando inizia con una verit`a e termina
con una falsit`a, come se `e giorno, `e notte (Sesto Empirico, Contro i
matematici , VIII, 113).
Con questa scelta per la tavola di si giustifica la regola del modus ponens, che
`e quello che interessa, per luso che se ne fa nei discorsi con se . . . allora.
Il motivo per cui il condizionale `e difficile e controverso `e che non gli si pu`o
associare una rappresentazione mentale immediata di quello che descrive. Quando
si ascolta A B, le rappresentazioni nella mente del fatto descritto da A e di quello
descritto da B vengono fuse in ununica rappresentazione, del fatto descritto da A
B, affiancandole o integrandole; anche con A B le due rappresentazioni possono
essere compresenti, con lattenzione che si sposta dalluna allaltra e viceversa,
come se si guardassero alternativamente due quadri vicini. Con il condizionale non
`e possibile avere una rappresentazione del fatto descritto da A B, combinando
quelle relative ad A e B. Non esiste una rappresentazione unica della falsit`a di
A. Vengono meno perci`o gli ausili dellimmaginazione e della sensibilit`a; lunico
modo per dominare il condizionale `e quello di imparare bene fino a interiorizzarle
54
le sue condizioni duso, sia il calcolo dei valori di verit`a sia le leggi e le regole che
lo concernono.
La definizione del condizionale tuttavia non `e solo adeguata per svolgere le
dimostrazioni, grazie alla giustificazione del modus ponens, ma `e anche comoda
(nella scelta di dare il valore vero quando lantecedente `e falsa) per la costruzione
generale dei linguaggi formali, e la trattazione dei quantificatori universali ristretti,
come abbiamo visto.
55
sizionale, in quanto sono composizione mediante connettivi di formule atomiche, solo che queste ultime invece di lettere sono espressioni che contengono
anche x. Si potrebbe dire che si tratta di un linguaggio proposizionale applicato. Ogni volta che si d`a a x un valore, nelluniverso fissato, `e come
assegnare il valore vero o falso alle componenti atomiche. Parleremo per
semplicit`a anche in questo caso per ora di proposizioni, per non complicare
la terminologia, quando applicheremo risultati della logica proposizionale,
oppure le chiameremo formule, in analogia alle formule matematiche.
4.1
57
58
X Y = {x U | x X x Y }.
X Y si legge: X intersezione Y o X intersecato con Y o lintersezione
di X e Y .
Unione. Lunione di X e Y `e linsieme degli elementi di U che appartengono
ad almeno uno dei due insiemi X e Y :
X Y = {x U | x X x Y }
X Y si legge: X unione Y o X unito a Y o lunione di X e Y .
Lintersezione di X e Y `e il pi`
u grande insieme che `e contenuto sia in X
sia in Y , nel senso che
X Y X3
X Y Y
e
se Z X e Z Y allora Z X Y
mentre lunione di X e Y `e il pi`
u piccolo insieme che contiene sia X sia Y ,
nel senso che
X X Y
Y X Y
e
se Y X e Z X allora Y Z X.
Per dimostrare X Y X ad esempio, si osservi che se x X Y allora
x X x Y , ma x X x Y x X, quindi x X. Inoltre
x X x Y x Y , quindi X Y Y . In modo analogo per le altre.
Si faccia attenzione che in italiano lunione `e descritta anche con la congiunzione: lunione di X e di Y contiene gli elementi di X e di Y .
3
Si noti che non occorrono parentesi perche non `e possibile interpretare questa formula
come X (Y X) in quanto si avrebbe unoperazione tra un insieme e una proposizione
- un errore di tipo, si dice in logica. Qualche volta le parentesi di mettono per agevolare
la lettura.
59
=
=
=
Vp(x)
Vp(x) Vq(x)
Vp(x) Vq(x) .
In particolare si ha VxX = X.
Si pu`o osservare allora che le operazioni non sono tutte indipendenti, ad
esempio:
X \ Y = X ( Y ).
Infatti
X \Y
= {x | x X x 6 Y }
= {x | x X x Y }
= {x | x X ( Y )}
= X ( Y ).
= {x U |p(x) p(x)},
o
= {x U |x 6= x}.
Se si denotasse questo insieme U e si definisse V = {x V | x 6= x} si
avrebbe U = V perche i due insiemi hanno gli stessi elementi, nessuno per
entrambi.
Caratteristica dellinsieme vuoto `e che per ogni x, in qualunque U , x 6 .
Due insiemi X e Y la cui intersezione sia vuota, X Y = , cio`e non
abbiano alcun elemento in comune, si dicono disgiunti .
Le relazioni tra le operazioni insiemistiche sono espresse da un gruppo di
leggi.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
X X =X
idempotenza dell0 intersezione
X X =X
idempotenza dell0 unione
X Y =Y X
commutativit`
a dell0 intersezione
X Y =Y X
commutativit`
a dell0 unione
X (Y Z) = (X Y ) Z
associativit`
a dell0 intersezione
X (Y Z) = (X Y ) Z
associativit`
a dell0 unione
X (Y Z) = (X Y ) (X Z)
distributivit`
a di rispetto a
X (Y Z) = (X Y ) (X Z)
distributivit`
a di rispetto a
X (X Y ) = X
assorbimento
X (X Y ) = X
assorbimento
( X) = X
doppio complemento
(X Y ) = ( X) ( Y )
legge di De M organ
(X Y ) = ( X) ( Y )
legge di De M organ
=U
U =
X ( X) =
legge dell0 inverso per
X ( X) = U
legge dell0 inverso per
X U =X
legge dell0 elemento neutro per
X U =U
X =
X =X
legge dell0 elemento neutro per .
61
XX
X
XU
X X Y
X Y X
e propriet`a come
27
28
29
30
31
32
33
se X Y e Y Z allora X Z
X Y se e solo se X Y = X
X Y se e solo se X Y = Y
X Y se e solo se X ( Y ) =
X Y se e solo se X Y = U
se X Y e X Z allora X (Y Z)
se Y X e Z X allora (Y Z) X.
X Y = Y X.
Dimostrazione Se x X Y , allora x X x Y ; ma per la
commutativit`a della congiunzione si ha allora x Y x X, quindi
x Y X. Il viceversa, partendo da x Y X, `e analogo.
X Y = Y X.
Dimostrazione Se x X Y allora x X x Y . La conclusione
segue come sopra per la commutativit`a della disgiunzione. Oppure
usiamo la distinzione di casi: se x X, allora x Y x X per la
tautologia A B A. Se x Y allora per la tautologia A A B
62
si ha x Y x X. Quindi x X x Y x Y x X e
X Y Y X. Il viceversa `e analogo.
X (Y Z) = (X Y ) (X Z).
X = X.
Dimostrazione Se x X , allora x X x , ma x 6 quindi
per il sillogismo disgiuntivo x X. Il viceversa segue dalla 25.
24
X U.
Dimostrazione x U (x X x U ) - quale legge logica
interviene?
23
X.
Dimostrazione Per ogni x, x x X `e vera, qualunque sia X,
perche lantecedente `e falso.
17
X ( X) = U .
Dimostrazione Per ogni x, x X (x X) `e vera per la legge del
terzo escluso. Cos` si dimostra , il viceversa `e 24.
30
X Y se e solo se X ( Y ) = .
Dimostrazione Da sinistra a destra. Se x X allora x Y ; se ora
esistesse un x X ( Y ) si avrebbe una contraddizione x Y e x
Y . La dimostrazione `e per assurdo, ma di questa forma particolare:
per dimostrare A B si assume A B. Da questa si deriva una
contradizione, quindi (A B), cio`e A B.
Il viceversa per esercizio.
63
Come si vede dagli esempi, alcune propriet`a delle operazioni sono diretta conseguenza delle omonime propriet`a dei connettivi corrispondenti; dal
terzo esempio relativo alla 5 si vede anche che in dimostrazioni di questo
tipo fa comodo, per saltare qualche passaggio, fare appello ad altre delle
leggi elencate - pi`
u semplici, o intuitive o gi`a dimostrate. Pi`
u in generale,
una volta dimostrate alcune delle suddette leggi in modo diretto, `e possibile
derivare le altre in stile algebrico, usando quelle gi`a dimostrate e le leggi
delluguaglianza.
Con leggi delluguaglianza si intendono le propriet`a riflessiva, simmetrica
e transitiva di =, rappresentate dalle formule
x=x
x=yy=x
x = y y = z x = z,
e le propriet`a di sostituzione, che sono di due tipi:
t = s f (t) = f (s),
dove t ed s sono termini del linguaggio in uso, e f (x) un altro termine contenente la x, e
t = s (p(t) p(s)),
dove p(x) sta per una proposizione qualunque contenente x.
Queste leggi sono tacitamente usate nei passaggi di trasformazione di
formule algebriche, o di proposizioni di qualunque linguaggio che contenga
luguaglianza. I passaggi da unuguaglianza ad unaltra presuppongono il
modus ponens: da t = s a f (t) = f (s) grazie a t = s f (t) = f (s).
Nel caso delle leggi insiemistiche in esame le variabili sono X, Y, . . . invece
che x, y . . ., perche tali leggi non si riferiscono agli elementi ma ai sottoinsiemi.
Esempi
1. La 15 segue dalla 14 e dalla 11 con i passaggi
=U
( ) = U
= U
U = .
64
n
[
Ai = {x U | per qualche i, 1 i n, x Ai }
i=1
o anche
Sn
i=1
Ai , o semplicemente
65
Ai .
Ai = {x U | per ogni i, 1 i n, x Ai }
i=1
o anche
Tn
i=1
Ai , o semplicemente
Ai .
n
\
Ai ) B =
i=1
n
\
(Ai B)
i=1
n
[
Ai ) B =
i=1
n
[
(Ai B).
i=1
Pi`
u in generale ancora, si definisce lunione
S
S
{Ai | i I}
iI Ai o
per una famiglia di insiemi indiciata5 da I ponendo che
S
x iI Ai se e solo se esiste un i I per cui x Ai ,
e analogamente per lintersezione. La definizione come si vede `e la stessa,
con i I al posto di 1 i n.
5
Si chiama cos` e si indica anche con {Ai }iI un insieme i cui elementi corrispondono
ciascuno ad un elemento di un insieme I, detto insieme degli indici. Si veda alla fine del
paragrafo 5.
66
4.2
Algebre di Boole
3
4
5
6
7
8
16
17
18
21
X Y =Y X
X Y =Y X
X (Y Z) = (X
X (Y Z) = (X
X (Y Z) = (X
X (Y Z) = (X
X X =
X X = U
X U =X
X =X
Y)Z
Y)Z
Y ) (X
Y ) (X
commutativit`
a dell0 intersezione
commutativit`
a dell0 unione
associativit`
a dell0 intersezione
associativit`
a dell0 unione
Z)
distributivit`
a di rispetto a
Z)
distributivit`
a di rispetto a
legge dell0 inverso per
legge dell0 inverso per
legge dell0 elemento neutro per
legge dell0 elemento neutro per .
X =X X
X
X
X
X
X
=X U
= X (X X)
= (X X) (X X)
= (X X)
=X X
67
per la 18
per la 17
per la 7
per la 16
per la 21.
X =X X
20
X =
(esercizio)
X
X
X
X
19
X U =U
= X (X X)
= (X X) X
= X X
=
per la 16
per la 5
per la 1
per la 16.
(esercizio).
Se X Y = e X Y = U allora X = Y .
Dimostrazione
X =X U
= X (Y Y )
= (X Y ) (X Y )
= (X Y )
= (Y Y ) (X Y )
= (Y X) Y
= U Y
= Y
usando anche la 3.
11
per la 18
per la 17
per la 7
per l0 ipotesi
per la 16
per la 7
per l0 ipotesi
per la 18,
X = X
Dimostrazione Siccome X X = e X X = U , per la 36 ora
vista con X al posto di Y da 16 e 17 si ha X = X.
68
13
(X Y ) = X Y
Dimostrazione Per applicare la 36, facciamo vedere che
( X Y ) (X Y ) = U
e
( X Y ) (X Y ) = .
La prima segue da questi passaggi (abbreviati, esplicitarli tutti per
esercizio, serve anche la 19 di sopra):
( X Y ) (X Y ) = ( X X Y ) ( Y X Y )
=U U =U
e la seconda (utilizzando 20) da:
( X Y ) (X Y ) = ( X Y X) ( X Y Y )
= = .
37 X Y = X se e solo se X Y =
Dimostrazione
X =X U
per la 18
= X (Y Y )
per la 17
= (X Y ) (X Y ) per la 5
quindi se X Y = allora X = X Y .
Viceversa se X = X Y
U = X X
per la 17
= X (X Y )
= ( X X) ( X Y ) per la 6
= U ( X Y )
per la 17
= X Y
per la 18
Quindi = X Y per la 13 e la 15 (esercizio).
69
9 X (X Y ) = X
Dimostrazione Si noti che
X (X Y ) = (X X) (X Y ) = X (X Y )
per la 1 e la 5, per cui la 9 e la 10 si dimostrano insieme.
Per la 37 e la 13
X (X Y ) = X se e solo se X ( X Y ) =
ma X ( X Y ) = (X X) Y = Y = , per
lassociativit`a, la commutativit`a e la 20.
4.2.1
Esercizi
1. Dimostrare
A (B (C \ A)) = A B
A B (A B) = A B
A (C (A B)) = A (C B)
(A \ B) (B A) = A
(A (B C)) ( B A) = (A B) (A C).
2. Dimostrare le propriet`a 22 - 33 della relazione , a partire dagli assiomi,
usando 28 come definizione di 6 .
3. Lo stesso, usando una volta 29, una volta 30 e una volta 31 come
definizione di
4. Dimostrare, a partire dagli assiomi delle algebre di Boole, tutte le altre
leggi sopra elencate per le operazioni di unalgebra di insiemi.
6
70
4.3
0
dove `e < e x + y = max{x, y} e x y = min{x, y}.
7
71
b
-
%
0
rif lessiva
simmetrica
transitiva.
[A] = {B | A B}
e si ha che
[A] = [B] se e solo se A B
(esercizio).
Date due proposizioni A e B, esse o sono logicamente equivalenti o no.
Nel primo caso, [A] = [B]. Nel secondo caso le due classi [A] e [B] sono
disgiunte: se infatti ci fosse un elemento C in comune, vorrebbe dire che
A C e che B C, ma allora per la transitivit`a si avrebbe A B e
[A] = [B].
A si dice un rappresentante della classe [A]; ogni classe ha pi`
u rappresentanti, anzi infiniti. Se B [A] allora B A quindi [A] = [B] e B `e un altro
rappresentante di [A]. In particolare ad esempio [A] = [AA] = [AAA] . . .
Si possono definire tra queste classi le seguenti operazioni:
[A]
= [A]
[A] [B] = [A B]
[A] + [B] = [A B].
Le definizioni sono ben poste, in questo senso. Si tratta di operazioni sulle
classi, ma la loro definizione fa riferimento ad un particolare rappresentante
delle classi. Ad esempio [A] `e definita con A e non ad esempio con A.
Se si cambia il rappresentante di una classe, si vuole che il risultato, che `e
una classe, sia lo stesso.
In effetti `e cos` per le operazioni sopra definite. Ad esempio se A1 A
e B1 B, siccome A1 B1 A B (esercizio - si veda anche paragrafo
6.1) si ha [A1 ] [B1 ] = [A B], cos` come [A] [B] = [A B], quindi
[A1 ] [B1 ] = [A] [B].
Si giustifica in questo modo la dizione a meno di equivalenza con cui una
proposizione `e considerata uguale ad ogni altra ad essa logicamente equivalente, o almeno indistinguibile da quelle, ai fini della trattazione semantica.
Date queste definizioni, le precedenti equivalenze danno allora origine alle
uguaglianze:
73
inverso
inverso
elemento neutro
elemento neutro
O anche da [A]+[B] = [B]; a seconda dei casi converr`a usare luna o laltra definizione.
74
Viceversa se
x (y) = 0
allora
x=x1
x = x (y + (y))
x = (x y) + (x (y))
x = x y.
Esercizio. Dimostrare lequivalenza con la (versione corrispondente della) 29.
Dallequivalenza booleana delle due definizioni di si deriva la seguente
propriet`a logica, che
A A B se e solo se |= A B.
Una dimostrazione logica di questo fatto ricalca la dimostrazione algebrica
di sopra.
Allora la seguente `e una deduzione del fatto che |= A B segue da
A A B:
A A
(A B) A
(A A) (B A
B A
A B.
Ogni proposizione di questa lista o `e una tautologia o segue logicamente dalle
precedenti e da A A B, quindi lultima `e una tautologia.
Viceversa, se |= A B, quindi A B `e una contraddizione
A A (B B)
A (A B) (A B)
A A B.
Esercizio. Dimostrare in modo analogo che A A B se e solo se |= B A.
La corrispondenza tra le deduzioni algebriche e quelle logiche `e fondata
sulla corrispondenza tra [A] [B] e |= A B.
75
Il fatto che per ogni A, 0 [A] 1 corrisponde al fatto che una contraddizione implica qualsiasi proposizione, e una tautologia `e implicata da
qualsiasi proposizione.
La relazione booleana ha le seguenti propriet`a, che se a b allora
b a e per ogni c, c a c b e c + a c + b (esercizio).
Queste propriet`a corrispondono per limplicazione al fatto che se |= A
B allora |= B A e per ogni C, |= C A C B e |= C A C B
(esercizio).
La propriet`a transitiva di corrisponde alla transitivit`a del condizionale,
mentre la propriet`a di sostituzione t = s f (t) = f (s) corrisponde ad
unanaloga propriet`a logica: se in una proposizione si sostituisce una sottoproposizione con una equivalente, il risultato `e una proposizione equivalente
a quella iniziale.
Conviene indicare loperazione di rimpiazzamento di una sottoproposizione B con C in una proposizione A, con la notazione: A[B//C].
Si ha allora che
se B C allora A A[B//C].
Nellesempio di sopra A A (A B) A poiche A A B.
Nella dimostrazione, per trattare i vari casi, si fa uso dei seguenti fatti
Per ogni A e B,
se A B, allora
se A1 A2 e B1 B2 , allora
A B
A1 B1 A2 B2
4.4
I rapporti tra algebra degli insiemi con operazioni insiemistiche, logica proposizionale con connettivi e algebra boleana sono molteplici e bidirezionali.
Sostanzialmente largomento `e sempre lo stesso, con varianti formali, e a seconda delle preferenze si pu`o adottare luno o laltro dei tipi di simbolismo
coinvolti; la familiarit`a con luno aiuta anche nello svolgimento dellaltro, ma
il ragionamento `e identico.
Abbiamo visto come, per dimostrare le leggi dellalgebra degli insiemi
(cio`e identit`a valide per tutti i sottinsiemi di un qualunque insieme non vuoto
76
U ), procedendo direttamente in base alla definizione di uguaglianza tra insiemi (X = Y se e solo se X Y e Y X) ci si riconduca ad applicare leggi
logiche a proposizioni costruite su atomiche della forma x X, x Y, . . .
Si possono anche al contrario derivare le leggi logiche dalle leggi dellalgebra
degli insiemi.
In generale due proposizioni (con o senza la x) logicamente equivalenti9
hanno lo stesso insieme di verit`a in ogni U .
Supponiamo infatti che p(x) sia equivalente a q(x). Allora siccome p(x)
q(x) e q(x) p(x) sono sempre vere, Vp(x)q(x) e Vq(x)p(x) sono entrambi
uguali a U ; ma siccome Vp(x)q(x) = ( Vp(x) ) Vq(x) , se questo `e uguale a
U allora Vp(x) Vq(x) ; stabilito nello stesso modo il viceversa, partendo da
Vq(x)p(x) , si ha Vp(x) = Vq(x) .
Vale anche il viceversa; diciamo che una proposizione p(x) `e valida in U
se Vp(x) = U ; allora se Vp(x) = Vq(x) in U si ha che p(x) q(x) `e valida in U .
Basta ripercorrere allindietro i precedenti passaggi.
Supponiamo allora di voler dimostrare |= (p q) p q.
Pensiamo ad un insieme qualunque U (che non c`e bisogno di precisare,
in accordo col fatto che usiamo leggi valide per insiemi qualunque). Consideriamo i sottoinsiemi Vp = {x U | p } e Vq = {x U | q }. Per definizione di
insieme di verit`a, x Vp p, cio`e Vp `e definito ponendo che x Vp `e vero se
e solo se p `e vero. Se p non contiene x, p o `e vera o `e falsa, indipendentemente
da x. In tal caso Vp = {x U | p } o `e o `e U .
Dalla definizione di insieme di verit`a e dalla legge insiemistica
(Vp Vq ) = ( Vp ) ( Vq ),
cio`e
x (Vp Vq ) se e solo se x ( Vp ) ( Vq ),
segue, siccome x (Vp Vq ) se e solo se (p q), e analogamente per
x ( Vp ) ( Vq ), che
(p q) p q
9
Nel senso che p(x) e q(x) hanno sempre lo stesso valore di verit`a calcolato a partire
dalla attribuzione di 0 e 1 alle loro componenti atomiche, anche se contengono x.
77
`e vero qualsiasi siano p e q, la cui verit`a o falsit`a non gioca alcun ruolo nella
dimostrazione10 .
Un altro modo pi`
u semantico `e il seguente. Siccome p e q non contengono
la x, gli insiemi Vp = {x U | p } e Vq = {x U | q } come abbiamo detto
sono o o U .
Possiamo interpretare allora (Vp Vq ) = ( Vp ) ( Vq ) o direttamente
(p q) p q nellalgebra 2, riscrivendola formalmente come
(x + y) = x y,
che `e una legge valida in 2. Questo significa che comunque si sostituiscano i
valori 0 o 1 a x e y luguaglianza vale, e questo `e un altro modo di dire che
comunque si diano a p e q i valori 0 o 1 si ottiene che (p q) e p q
hanno lo stesso valore, cio`e la tavola del bicondizionale (p q) p q
ha tutti 1 nella colonna finale.
Un ragionamento semantico del genere pu`o sostituire il modo di procedere
formale diretto, in cui una deduzione algebrica viene trasformata in una logica,
come negli esempi visti sopra; occorre prestare attenzione alle insidie delle analogie
formali quando `e coinvolta la relazione .
Consideriamo la seguente dimostrazione booleana di una propriet`a di x y che
formalmente corrisponde alla massimalit`a dellintersezione:
se z x e z y allora z x y.
Algebricamente, nel senso delle algebre di Boole, se
z (x) = 0
e
z (y) = 0
allora
z (x) + z (y) = 0
z (x + y) = 0
z (x y) = 0
z x y.
10
Si vede in particolare che le leggi logiche dimostrate per il linguaggio proposizionale
costruito astrattamente sulle lettere, valgono anche per proposizioni contententi variabili.
78
Questo `e il motivo per cui non usiamo questo segno per indicare limplicazione |= A
B, che booleanamente corrisponde allasserzione x y.
79
x y = x + y.
Si ha che x y = 1 se e solo se x y (esercizio).
La legge proposizionale |= (C A) (C B) (C A B) si ottiene
dimostrando che
((z x) (z y)) (z (x y)) = 1
nel seguente modo:
(z x) (z y) = (z + x) (z + y)
= z + (x y)
=z xy
quindi
(z x) (z y) = z (x y).
Ma si noti che se a = b allora a b e quindi a b = 1, e anche b a = 1.
Quindi risulta dalla dimostrazione anche il viceversa, e in effetti
|= (C A) (C B) (C A B).
80
Relazioni
5.1
Prodotto cartesiano
Non spieghiamo lartificio con cui si definisce la coppia ordinata; risulta tuttavia che
x e y non sono elementi di hx, yi, e infatti si chiamano componenti, o proiezioni.
2
Con retta numerica si intende di solito linsieme dei numeri reali; tuttavia a seconda
del contesto pu`
o anche significare un altro sistema numerico. Ricordiamo che gli insiemi
dei numeri naturali, interi, razionali e reali si indicano usualmente con N, Z, Q, R. Se
la retta numerica `e N o Z, il piano `e il reticolo infinito dei punti a coordinate naturali, o
intere.
3
Non `e neanche associativo, anche se X (Y Z) e (X Y ) Z possono essere messi
in corrispondeza biunivoca e identificati; quindi con una opportuna definizione delle terne
81
5.2
Relazioni
YO
/ X
ZO
/Z
hx, y, zi si pu`
o definire il prodotto a tre fattori X Y Z, e anche quello a n fattori con
le n-uple come elementi.
82
NO
/N
Con x | y indichiamo che esiste uno z tale che xz = y, e diciamo che x divide y o `e un
divisore di y o che y `e divisibile per x, o y `e un multiplo di x. Con questa definizione x | 0
perche x0 = 0, mentre escludiamo 0 | 0, che pure rientrerebbe nella definizione, perche
quando si introduce la divisione si vuole lunicit`a del quoziente z in xz = y, mentre 0z = 0
per ogni z.
83
ZO
/Z
ZO
/Z
Le coppie ordinate che sono elementi di una relazione si chiamano anche punti, in
analogia ai punti del piano.
84
QO
/Q
Esercizi
Z Z | xy = 12 }?
5.3
Relazioni dordine
86
87
I numeri complessi invece non possono essere ordinati in modo che la relazione dordine
sia compatibile con le operazioni, ad esempio nel senso che se x y allora x + z y + z.
88
ty
x
t
zt
Esempio Lordine dei numeri naturali e quello dei numeri interi sono
ordini discreti.
Un ordine si dice denso se dati due qualunque elementi distinti x e y, con
x y, esiste uno z tale che x z y.
Esempio Lordine dei razionali e quello dei reali sono ordini densi.
Una relazione dordine totale di un insieme U si dice un buon ordine
se ogni X U non vuoto ha minimo. Un insieme con un buon ordine si dice
bene ordinato.
Esempi
Tipici insiemi bene ordinati sono {0, . . . , n} con la relazione e linsieme
N = {0, . . . , n, . . .} con la stessa relazione.
Linsieme degli interi non `e bene ordinato da . Linsieme dei razionali
non `e bene ordinato da .
89
Il fatto che linsieme dei naturali sia bene ordinato significa che al di l`a
della catena formata da 0 e dal successore di 0, e dal successore del successore
di 0 e cos` via, non ci sono altri elementi, come sarebbe ad esempio in una
struttura del genere:
t0
s s
s s r qq
e questo `e importante per le propriet`a dei naturali che studieremo nel paragrafo 12.
La struttura ordinata disegnata sopra ha un massimo, e certo non pu`o
essere fatta cos` una struttura con le propriet`a dei numeri naturali. Ogni
elemento deve avere un successore e ogni elemento diverso da 0 un predecessore. Al di l`a di tutti i numeri raggiungibili da 0 ci potrebbe essere ancora
ad esempio una struttura ordinata come quella degli interi; ma se ci fossero
elementi non standard ci sarebbe una catena discendente
0
t t t
t t
t
t
s s s s r qq q q q r r s
linsieme non sarebbe bene ordinato; il sottoinsieme formato dalla catena
discendente da destra non avrebbe minimo.
5.4
Relazioni di equivalenza
90
Esempi
1. La relazione di uguaglianza `e una equivalenza.
2. Nellinsieme U = {a, b, c, d, e} la relazione
R = {ha, ai, hb, bi, hc, ci, hd, di, he, ei,
ha, bi, hb, ai, ha, ci, hc, ai, hb, ci, hc, bi,
hd, ei, he, di}
`e una relazione di equivalenza, rappresentata dal seguente diagramma.
UO
e
d
c
b
a
c e/ U
b
d
91
Usiamo questo segno per distinguere la somma delle classi dalla somma degli interi.
92
5.5
Funzioni
93
1
,
x
definisce
f : Q \ {0} Q
x 7 x1
14
Se
94
p
|x|} non `e una funzione.
cX (x) =
se x X
se x
6 X,
1
0
96
Forme normali
6.1
Definibilit`
a dei connettivi
q
0
0
1
1
0
0
1
1
r
0
1
0
1
0
1
0
1
?
1
1
1
1
0
0
0
0
B
0
1
0
1
AB
1
0
0
0
Se c`e una sola riga con valore 1, la proposizione costruita come detto sopra `e della
forma A1 , dove A1 `e una congiunzione. Si pu`o dire tuttavia che anche in questo caso la
proposizione associata alla tavola `e una disgiunzione, pensando che A1 A1 A1 .
98
Esercizi
99
6.2
100
(p q) (p q)
ha due modelli, i1 (p) = 0 e i1 (q) = 1, e i2 (p) = 1 e i2 (q) = 0.
Tale possibilit`a di lettura dei modelli sussiste peraltro anche per le forme
normali disgiuntive non regolari, considerando per`o le interpretazioni come
definite in modo arbitrario sulle lettere che non occorrono in alcuni disgiunti:
(p q) p
ha tre modelli: da p q viene i1 (p) = 0 e i1 (q) = 1, e da p viene i(p) = 1,
che per`o ne riassume due: i2 (p) = 1 e i2 (q) = 1, e i3 (p) = 1 e i3 (q) = 0.
Qualche volta, sempre per le forme non regolari, disgiunti diversi hanno
modelli in comune; e ovviamente se in una congiunzione occorre sia una
lettera sia la sua negazione quella congiunzione non ha modelli.
6.3
Un altro modo di associare a una tavola una proposizione scritta solo con
i connettivi , e `e il seguente, dove sono scambiati i ruoli di 0 e 1 e
di congiunzione e disgiunzione: si cerca ora una proposizione che sia falsa
esattamente nei casi prescritti dalla tavola data. In riferimento allo stesso
esempio di prima, la proposizione deve essere falsa solo ed esattamente in
corrispondenza alle ultime quattro righe della tavola, sar`a perci`o una congiunzione A5 A6 A7 A8 , e ogni Ai sar`a la disgiunzione di tre letterali,
ogni letterale positivo o negativo a seconda che nella riga in questione la !!!
lettera abbia il valore 0 oppure 1. Quindi:
(p q r) (p q r) (p q r) (p q r).
Per confermare che questa proposizione ha la tavola data come sua tavola di
verit`a occorre questa volta ricordare che una congiunzione `e falsa se e solo
se una delle proposizioni congiunte `e falsa, e che una disgiunzione `e falsa se
e solo se tutte le proposizioni disgiunte sono false.
Una proposizione che sia una congiunzione di disgiunzioni di letterali si
dice in forma normale congiuntiva.
Esempio La forma normale congiuntiva di p q, applicando il procedimento descritto, `e p q, che `e forma congiuntiva, se si considera, come si
considera, la congiunzione in senso generalizzato; p q `e dunque in forma
sia congiuntiva sia disgiuntiva.
101
Come sopra, risolvendo a parte anche il caso in cui nella tavola non ci
siano 0, si ha:
Teorema 6.3.1 Per ogni proposizione A esiste una proposizione con le stesse
lettere che `e in forma normale congiuntiva ed `e equivalente ad A.
Le forme normali, non necessariamente regolari, sono convenienti per verificare in modo efficiente (alla sola scansione e ispezione della lista) la validit`a !!!
logica o linsoddisfacibilit`a, ma ciascuna forma `e adeguata solo per una delle
due propriet`a.
Teorema 6.3.2 Una proposizione in forma normale congiuntiva `e una tautologia se e solo se in ogni sua clausola c`e una lettera che occorre sia positiva
sia negata.
Una proposizione in forma normale disgiuntiva `e insoddisfacibile se e solo
se in ogni suo disgiunto c`e una lettera che occorre sia positiva sia negata.
Dimostrazione. Per le forme congiuntive, una clausola in cui occorra una
lettera e la negazione della stessa lettera `e una tautologia, e una congiunzione
`e una tautologia se e solo se lo sono le sue componenti. Una clausola in cui
non si verifichi la presenza di una lettera e della sua negazione pu`o assumere
il valore 1 se a tutti i letterali si assegna il valore 1 interpretando a 1 le lettere
dei letterali positivi e a 0 le lettere dei letterali negativi.
Un ragionamento analogo vale per le forme disgiuntive. 2
Si noti che due proposizioni equivalenti non debbono necessariamente
avere le stesse lettere, ad esempio q (p p) `e equivalente a q, e p
p `e equivalente a q q (sono tutte due tautologie); quando si controlla
che per ogni interpretazione le due proposizioni hanno lo stesso valore si
considerano interpretazioni definite sullinsieme pi`
u ampio di lettere, ma si
possono trascurare in una proposizione i valori delle lettere non occorrenti.
Le proposizioni in forma normale che si ottengono da una tavola non sono
sempre le pi`
u semplici possibili. Se ad esempio il criterio che interessa `e quello
della lunghezza, la forma p q, `e preferibile alla forma normale disgiuntiva
regolare che si ottiene dalla tavola del condizionale. A p q si pu`o passare
dalla forma normale disgiuntiva regolare (p q) (p q) (p q) con i
seguenti passaggi:
102
(p q) (p q) (p q)
(p (q q)) (p q)
p (p q)
(p p) (p q)
p q
applicando le leggi distributive e la semplificazione delle tautologie (si noti
che la seconda proposizione non `e in forma normale).
Come mostra lesempio, esistono quindi diverse forme normali disgiuntive
(e lo stesso per le congiuntive) equivalenti a una data proposizione; si parler`a
perci`o solo impropriamente della forma normale disgiuntiva (o congiuntiva)
di una proposizione A, ma si user`a ugualmente tale dizione, intendendola a
meno di equivalenza logica; si chiamer`a in tal modo una qualunque forma
normale disgiuntiva (o congiuntiva) che sia equivalente ad A4 , e si potr`a
anche scrivere, se conveniente, dnf(A) (rispettivamente cnf(A)).
Il risultato generale che ogni proposizione `e equivalente a una proposizione in forma normale disgiuntiva o congiuntiva si pu`o ottenere anche applicando un algoritmo forma normale di trasformazioni successive come
nellesempio di sopra per il condizionale.
Il procedimento `e il seguente:
eliminare , e
spostare verso linterno con le leggi di De Morgan
cancellare le doppie negazioni, con la legge della doppia negazione
cancellare le ripetizioni, con le leggi di idempotenza
applicare ripetutamente le leggi distributive.
Lultima indicazione pu`o sembrare vaga, ma si pu`o rendere pi`
u precisa e
deterministica. Con i passi precedenti si `e ottenuta una proposizione equivalente che `e formata a partire da letterali con applicazioni ripetute di
e , anche se non necessariamente nellordine che produce una forma normale. Supponiamo di volerla trasformare in forma normale congiuntiva (per
4
Non necessariamente con le stesse lettere, come mostra lesempio delle due forme
normali disgiuntive p (q q) p.
103
104
(p q) (p q)
(p (p q)) (q (p q)).
Il primo congiunto si trasforma in
(p p) (p q),
il secondo in
(q p) (q q),
quindi la proposizione in
(p p) (p q) (q p) (q q),
da cui si possono ancora eliminare le tautologie, ottenendo
(p q) (q p).
Non `e detto che questo procedimento, che ha il merito di far vedere
la terminazione del compito, se lo si segue come filo dArianna, sia sempre il pi`
u efficiente; pu`o essere utilmente integrato con lapplicazione in
itinere delleliminazione delle ripetizioni, e con leliminazione delle tautologie dalle congiunzioni, e della contraddizioni dalle disgiunzioni, ogni volta
che sia possibile; sono utili le leggi di assorbimento ed equivalenze come !!!
(A B) A B; oppure ci sono scorciatoie come quando, volendo mirare a una forma congiuntiva, si incontra una sottoproposizione della forma
(A B) (C B) che conviene rimpiazzare direttamente con (A C) B.
Esempio Trasformare (p q) (q p) in forma normale congiuntiva.
Con la distributivit`a (e la commutativit`a) si ottiene subito
p (q q)
e quindi p.
Applicando invece lalgoritmo forma normale si ottiene
((p q) q) ((p q) p).
Il secondo congiunto `e equivalente a p per assorbimento; il primo `e equivalente a (p q) (q q), quindi a p q, e in definitiva
(p q) p,
105
6.4
Esercizi
Alberi di refutazione
7.1
Il metodo
La risposta alle domande semantiche, sulla verit`a logica o sulla insoddisfacibilit`a delle proposizioni, si pu`o dare con metodi pi`
u efficienti della ricerca
esaustiva offerta dalla costruzione delle tavole di verit`a, che `e di complessit`a
esponenziale. Uno di questi `e il metodo degli alberi di refutazione 1 . Il nome
deriva dal fatto che sono impostati, per rispondere alla domanda sulla verit`a
logica, secondo la ricerca del controesempio: si cerca di scoprire se esiste
uninterpretazione che falsifichi la proposizione. Il metodo ha la propriet`a che
o la trova, se esiste, e quindi fornisce uninterpretazione in cui la negazione
della proposizione `e vera (controesempio: la proposizione `e falsa) oppure !!!
mostra che non `e possibile che esista, e quindi la proposizione `e una tautologia.
Pi`
u in generale, il metodo serve a stabilire se esista o no uninterpretazione
che soddisfa una proposizione composta, non partendo dal basso dalle possibili interpretazioni delle lettere (bottom up) ma dallalto, dalla proposizione
data, scendendo verso le sottoproposizioni componenti (top down); nel processo, si accumulano condizioni necessarie che lipotetica interpretazione, se
esiste e soddisfa la radice, dovrebbe pure soddisfare - nel senso di quali
altre proposizioni essa dovrebbe soddisfare o no - fino alle condizioni necessarie riguardanti le proposizioni atomiche; queste, se non sono incompatibili tra di loro, si traducono in condizioni sufficienti per la definizione
dellinterpretazione.
Gli alberi di refutazione possono dunque essere usati anche per rispondere
alle altre domande semantiche, ad esempio quella sulla soddisfacibilit`a.
Si chiamano in generale calcoli logici i metodi per rispondere ai quesiti
logici sulla verit`a, linsoddisfacibilit`a, la conseguenza, metodi che sono procedure guidate dalla sintassi, e che si articolano in applicazioni iterate di
regole che producono strutture come sequenze o alberi di proposizioni, che si
chiamano derivazioni o dimostrazioni.
Gli alberi di refutazione sono alberi etichettati con proposizioni. Identifichiamo per comodit`a di scrittura i nodi con le loro etichette. Nella radice
`e una proposizione, di cui si vuole sapere se esiste un modello. Lalbero `e
1
Altri nomi usati, insieme a qualche variante di presentazione, sono quelli di alberi
semantici , oppure di tableaux semantici.
108
C
Se A `e B C, alla fine di ogni ramo non chiuso passante per A si
aggiunge alla foglia una diramazione con due nodi B e C, come nello
schema:
[B C]
..
.
F
. &
B
F
. &
B
C
Se A `e B e B non ha connettivi, non si fa nulla.
Se A `e della forma B e B `e C, al fondo di ogni ramo non chiuso
passante per A si appende alla foglia il successore C, come nello schema:
[C]
..
.
C
Se A `e della forma B e B `e B1 B2 , alla fine di ogni ramo non chiuso
passante per A si aggiungono alla foglia due nodi in serie B1 e B2 ,
come nello schema:
[(B1 B2 )]
..
.
B1
B2
con lovvia generalizzazione se B `e una disgiunzione generalizzata.
Se A `e della forma B e B `e B1 B2 , alla fine di ogni ramo non
chiuso passante per A si appendono alla foglia due successori in serie
110
B1
B2
Se A `e della forma B e B `e B1 B2 , alla fine di ogni ramo non chiuso
passante per A si aggiunge alla foglia una diramazione con due nodi
B1 e B2 , come nello schema:
[(B1 B2 )]
..
.
F
. &
B1
B2
Ovviamente se per il nodo in considerazione non passa alcun ramo non chiuso,
non si fa nulla. Dalla formulazione `e chiaro che quando tutti i rami sono
chiusi il procedimento termina, anche se non tutte le proposizioni sono state
considerate, e in tal caso lalbero si considera terminato e si dice chiuso.
Non diamo le regole per il bicondizionale (esercizio) perche non sarebbero altro che ladattamento di quelle che derivano dal fatto che p q `e
equivalente a (p q) (q p). Lo stesso per , ma si preferisce eliminare
prima questi connettivi (comunque, si diano le regole per - esercizio), e
questa `e lunica preparazione o trasformazione che si fa sulle proposizioni;
altrimenti si prendono cos` come sono, e questo `e un vantaggio del metodo, !!!
nessun preprocessing.
Si leggano con attenzione le regole, cogliendone tutte le informazioni e i
vincoli: ad esempio, quando si lavora su di un nodo, si aggiungono proposizioni su tutti i rami passanti per quel nodo, ma non sugli altri.
!!!
111
Esempio
1. Consideriamo la proposizione ((p q) p q) che mettiamo nella
radice dellalbero
((p q) p q)
2. Lavorando su di esso, che `e la negazione di un condizionale, otteniamo
[((p q) p q)]
(p q) p
q
3. Lavorando su (p q) p otteniamo
[((p q) p q)]
[(p q) p]
p q
p
4. Lavorando prima su q, senza alcun effetto, e poi su p q
[((p q) p q)]
[(p q) p]
[q]
[p q]
p
. &
p
q.
112
[(p q) p]2
[q]3
[p q]4
p
. &
p
q.
Esempio
((p q) (p q) q)1
(p q)3
(p q)4
q2
q
.&
p
q
.&
chiuso
p
q
chiuso
113
p
perche anchesso chiuso.
Avvertenza Non si confondano gli alberi di refutazione con gli alberi !!!
sintattici. Lalbero sintattico si una proposizione contiene solo le sottoproposizioni di quella data, lalbero di refutazione anche altre. Ad esempio
pq pq
.&
pq
pq
.&
.&
p
q
p
q
`e lalbero sintattico di p q p q. Il suo albero di refutazione `e invece
pq pq
.&
(p q)
pq
p
p
q
q
dove, oltre a una struttura diversa, compaiono proposizioni come p, q,
(p q).
In alcune presentazioni gli alberi di refutazione sono alberi i cui nodi
sono proposizioni etichettate con i simboli V ed F , per vero e falso. La
114
7.2
Correttezza e completezza
Il primo problema con ogni algoritmo `e quello della terminazione, in particolare per gli algoritmi di decisione; se lalgoritmo non si ferma sempre, con
una risposta, dopo un numero finito di passi, non ci si pu`o affidare ad esso
per decidere le questioni che interessano (nel senso di lanciarlo e stare ad
aspettare).
Lemma 7.2.1 (Terminazione) La costruzione dellalbero di refutazione inizializzato con una proposizione termina sempre in un numero finito di passi.
Dimostrazione. Se ad ogni stadio si lavora su una proposizione di quelle che
hanno altezza massima n tra quelle non ancora considerate, lapplicazione
delle regole fa s` che dopo un numero finito di passi tutte quelle di altezza
n siano state considerate, e laltezza massima delle proposizioni non ancora
considerate sia quindi < n. Infatti le proposizioni introdotte nellalbero con
le regole hanno tutte altezza minore della proposizione che governa la regola,
salvo il caso di B C, per cui si introducono B e C, e B pu`o avere la
stessa altezza di B C (quando? esercizio); ma la successiva applicazione
di una delle regole per proposizioni negate a B, che si pu`o eseguire subito,
la sostituisce con proposizioni di altezza minore.
Anche se dunque nel corso del procedimento il numero di proposizioni
nei nodi dellalbero cresce con il crescere dellalbero, diminuisce quello delle
proposizioni di altezza massima, e dopo un numero finito di passi ci saranno
solo proposizioni di altezza minima, senza connettivi, non ancora considerate,
e a quel punto il processo termina, se non `e terminato prima per la chiusura
dellalbero. 2
115
116
117
B
118
B
se interessa la domanda A |= B.
7.3
Forme normali
Gli alberi di refutazione permettono di ottenere altre informazioni sulle proposizioni a cui si applicano. Se A `e una proposizione soddisfacibile, e quindi
lalbero di refutazione con radice A non si chiude, una forma normale disgiuntiva di A si pu`o ottenere nel seguente modo: per ogni ramo terminato
e non chiuso, si faccia la congiunzione di tutti i letterali che sono nodi del !!!
ramo, quindi si faccia la disgiunzione di queste congiunzioni. Le propriet`a
dimostrate della correttezza e della completezza garantiscono che questa disgiunzione `e proprio equivalente a A (esercizio).
Esempio
(p q) q (p q)
. &
(p q) q (p q)
p
p
q
q
q.
Lalbero non `e chiuso e la forma normale disgiuntiva della radice `e (p q)
q (p q); i tre modelli dati dai tre rami non chiusi sono
i1 (p) = 0, i1 (q) = 1,
i2 (q) = 1,
i3 (p) = 1, i3 (q) = 0
dove il secondo sta per due interpretazioni, di cui una per`o coincide con la
119
7.4
Esercizi
(p q) p q
(p q) p q
(p q r) r (p q) p.
4. Trovare con gli alberi di refutazione la forma normale disgiuntiva e i
modelli delle seguenti proposizioni:
p q (p q)
p q (p q r)
(p (q (p r))) (p (q p)).
5. Con gli alberi di refutazione trovare la forma normale congiuntiva delle
seguenti proposizioni:
p q (p q r)
(p q r) p (p r)
(p (q (p r))) (p (q p)).
121
Linguaggi predicativi
Finora abbiamo considerato, nellalgebra degli insiemi, solo formule contenenti una variabile x, a cui abbiamo associato, in ogni universo U , un insieme
di verit`a.
Gli insiemi di verit`a si incontrano invero quasi solo in matematica, dove `e
proprio tipico lo studio di insiemi definibili. Ad esempio dopo aver introdotto
la definizione dei numeri primi ci si chiede come `e linsieme dei numeri primi
(se finito o infinito), si elaborano algoritmi per trovare i suoi elementi, se
ne studiano sottoinsiemi. Studiare il concetto di numero primo significa
studiare linsieme dei numeri definiti dal concetto primo.
Tuttavia la definizione dei numeri primi richiede i quantificatori. Le
definizioni riguardanti le propriet`a delle relazioni coinvolgono quantificatori.
In generale tutte le frasi che intervengono in matematica coinvolgono quantificatori che devono essere padroneggiati correttamente per fare dimostrazioni
corrette.
Supponiamo di stare ragionando su questioni di aritmetica, e di voler ad
esempio dimostrare che
il successore di un numero pari `e dispari.
Il primo passo della versione aritmetica `e quello di scrivere:
se x `e pari, allora x + 1 `e dispari.
Questa abbiamo visto che `e una delle funzioni delle variabili, quella di indicare
un elemento generico. Quindi occorre sostituire i termini tecnici con le loro
definizioni, continuando con
se x `e divisibile per 2, allora x + 1 non `e divisibile per 2.
La frase x `e divisibile per 2 si formalizza con y(x = 2 y), che traduce:
esiste un numero che moltiplicato per 2 d`a x; tale numero `e indicato con
y, perche non lo conosciamo, e non possiamo conoscerlo se non conosciamo
x, o finche non conosciamo x; non possiamo dire che y `e x/2 perche a rigore
non abbiamo loperazione di divisione, se stiamo considerando solo i numeri
naturali (la si introduce proprio cos`, come inversa della moltiplicazione, ma
in generale insieme a un resto)1 .
1
122
La frase successiva x + 1 `e dispari significa che tutti i numeri z moltiplicati per 2 sono diversi da x + 1.
In italiano, si direbbe correttamente:
se per qualche y si ha x = 2y, allora per nessun z si ha x + 1 = 2z.
Nel gergo matematico, si scrive soltanto
se x = 2y, allora x + 1 6= 2z,
ma la scrittura precisa `e
y(x = 2y) z(x + 1 6= 2z).
Vero `e che i quantificatori devono essere eliminati per svolgere le dimostrazioni
che richiedono manipolazioni algebriche di formule, e si dovr`a arrivare, come
vedremo, a
x = 2y x + 1 6= 2z,
ma laver scritto i quantificatori aiuta a ricordare come devono essere trattate
le variabili.
In questo caso, dato x, anche y `e determinato e fissato; invece x+1 6= 2z `e
unaffermazione relativa a tutti gli z (a tutti i numeri da pensare presi come
valori di z) e va dimostrato come si dimostrano le affermazioni universali,
riferite a z. Ad esempio per assurdo, oppure per induzione, tecnica che
vedremo in seguito.
Si noti che anche in italiano si passa spesso, nei ragionamenti, da frasi
che contengono i quantificatori qualche, tutti, o equivalenti, a frasi con
uno, o equivalenti, vale a dire di quelle che prese isolatamente sarebbero
ambigue. Ad esempio, per giustificare laffermazione chi segue il corso di
Logica non impara niente si potrebbe argomentare nel seguente modo, prima
eliminando un quantificatore universale e infine ripristinandolo: chiunque
segue il corso di Logica (prima o poi) si addormenta; uno che segue il corso di
Logica si addormenta; uno che si addormenta perde qualche spiegazione; uno
che perde una spiegazione non capisce neanche il resto; quindi uno che segue
il corso di Logica non capisce la materia, quindi, come volevasi dimostrare,
tutti quelli che seguono il corso di Logica non imparano niente. Vedremo in
seguito lorganizzazione in un formato standard di queste mosse logiche.
I quantificatori si tolgono nel corso di un argomento per poter lavorare
solo a livello proposizionale o algebrico; tale eliminazione `e soggetta a precisi
123
vincoli che vedremo. Nelle definizioni invece occorre scrivere tutti i necessari
quantificatori nel modo corretto; non `e lecito ometterne alcuni.
Per una trattazione rigorosa dei quantificatori occorrono altre precisazioni,
che si possono dare meglio nel contesto di un linguaggio formale, adatto alla
formalizzazione di tutte le frasi, che presentiamo in maniera analoga a quanto
fatto per il linguaggio proposizionale.
8.1
Alfabeto
8.2
Termini e formule
Si potrebbe anche dire: data una n-upla di termini, dove le componenti di una
n-upla non sono necessariamente distinte.
124
125
...
7
7
?
00 x0 y 0 . . .
7
000 x00 y 00 . . .
7
0000
..
.
126
xP (x)
yQ(y)
xyR(x, y)
127
P (x)
Q(y)
Q(y)
yR(x, y)
R(x, y).
Esempi
1. Tipiche formule atomiche di argomenti aritmetici e algebrici sono x
1 = 0, x y + x = x (y + 1), x + (y + z) = (x + y + z), x < x + 1, e in
generale t1 = t2 e t1 t2 o t1 < t2 dove t1 e t2 sono termini.
2. Le identit`a booleane sono altri esempi di formule atomiche, ma si sono
anche incontrate altre formule pi`
u complesse del linguaggio insiemistico,
ad esempio le definizioni
x(x X Y x X x Y )
X Y x(x X x Y )
o teoremi come
x(x X x X x Y ),
che prima avevamo scritto senza quantificatori universali per labitudine
che c`e nellesposizione matematica di ometterli quando si tratta di
identit`a (cio`e di formule valide per ogni x).
In queste formule X, Y, . . . non sono variabili, ma simboli predicativi a
un posto; x X `e una scrittura alternativa per la notazione predicativa
X(x)5 .
3. La funzione y = x3 `e iniettiva e suriettiva.
x1 x2 (x1 6= x2 x31 6= x32 ) yx(y = x3 )
4. Un enunciato del linguaggio aritmetico che afferma che la relazione
y = 2 x `e una relazione funzionale e iniettiva `e il seguente:
xy(y = 2xz(z = 2x z = y))x1 x2 (x1 6= x2 2x1 6= 2x2 ).
5
Si pu`
o anche considerare come un simbolo di relazione tra insiemi, quando si studiano
questioni pi`
u avanzate che coinvolgono insiemi di insiemi, insiemi i cui elementi sono
insiemi, e non si fa una distinzione logica tra individui ed insiemi; tutte le variabili variano
su insiemi e si possono trovare formule come x y y z.
128
8.3
129
che richiede di essere letto con attenzione. Quando nella costruzione di una
formula si premette ad A un quantificatore con la variabile x, questo quantificatore vincola tutte le occorrenze di x che sono libere in A, e solo quelle. !!!
Proprio per come `e stato ottenuto, `e chiaro che il quantificatore esistenziale
nellesempio vincola loccorrenza di x che prima era libera, cio`e lultima, e
solo quella. Lazione del quantificatore esistenziale premesso x scavalca la !!!
parte d. . .e in
dx(x2 + 1 > 0)ex < 0,
dove non ci sono occorrenze libere di x, per agire su x < 0 dove x occorre
libera. Le occorrenze vincolate di x in d. . .e, essendo gi`a vincolate, sono
insensibili allazione di un altro quantificatore. In effetti, `e come se fosse
scritto ad esempio
z(z 2 + 1 > 0) x < 0,
e si ottenesse perci`o
x(z(z 2 + 1 > 0) x < 0),
che `e un modo di scrivere lenunciato pi`
u chiaro, ed equivalente. Se si legge la
frase in italiano si vede bene che non c`e interferenza tra le occorrenze libere
e vincolate di x, perche si possono usare locuzioni diverse; esiste un numero
tale che, mentre ogni numero elevato al quadrato e aumentato di 1 `e maggiore
di 0, lui `e negativo8 . Ancor meglio, conviene leggere: mentre ogni numero
elevato al quadrato e aumentato di 1 `e maggiore di 0, esiste un numero che
`e negativo. Infatti un altro modo di evitare difficolt`a interpretative `e quello
di andare a piazzare il nuovo x dove `e richiesto, cio`e scrivendo
x(x2 + 1 > 0) x(x < 0).
Vedremo in seguito che tali trasformazioni equivalenti sono legittime.
Infine un quantificatore relativo ad una variabile x si pu`o premettere
anche a una formula che non contenga alcuna occorrenza di x libera, ad
esempio xy(y 2 + 1 > 0) o x(y < 0). La definizione di formula non
lo esclude9 . In questi casi leffetto del primo quantificatore `e nullo, la sua
presenza superflua, e la formula ottenuta equivalente a quella originaria.
8
Si `e usato qui mentre come congiunzione, per sottolineare la non connessione tra le
due parti della frase.
9
Non lo esclude perche sarebbe stato complicato inserire la condizione sulle occorrenze
libere nella definizione stessa iniziale.
131
8.4
Interpretazioni
Qualcuno potrebbe non essere daccordo che lenunciato `e vero, perche il suo amico
`e un cane, e se luniverso `e luniverso delle persone, ly non `e verificato dal cane; se si
vuole inserire anche gli animali nel discorso, allora luniverso deve essere modificato di
conseguenza a tutti gli esseri viventi.
11
Non si intende che queste conoscenze siano effettive, ma solo determinate in linea di
principio.
132
133
134
8.5
Esercizi
1. Scrivere in linguaggio predicativo tutte le definizioni relative alle relazioni dordine del paragrafo 5.3 (massimo, maggiorante, . . . ).
2. Quali sono gli insiemi di verit`a in N di
y(2y = x z(2z = y))
e
y(2y = x y(2y = x)) ?
3. Quali sono gli insiemi di verit`a in N di
y(xy = 2 z(yz = 2))
e
y(xy = 2 y(xy = 2)) ?
135
Leggi logiche
136
Nella verifica di questa e delle successive leggi logiche, come gi`a nella precedente della
forma A A, supporremo per semplicit`a che si tratti di enunciati, solo per mostrare in
modo pi`
u facile lidea soggiacente.
3
La legge vale naturalmente anche se x non occorre libera in A, ma in tal caso non dice
nulla, si riduce a A A.
137
138
divide y, allora (2x)|y significa che 2x divide y, 1|y che 1 divide y, 0|y che
0 divide y, u|y che u divide y, ma z(y = z z) significherebbe che y `e un
quadrato.
Quando si applica la legge di particolarizzazione per dedurre A(t) da !!!
xA(x) perci`o, t per essere ammissibile non deve essere e non deve contenere
variabili quantificate in A e tali che qualche occorrenza libera di x cade nel
raggio dazione dei loro quantificatori. I termini chiusi sono sempre ammissibili.
Le applicazioni della legge sono frequenti; gli assiomi di una teoria sono in
genere enunciati che iniziano con un quantificatore universale (oppure sono
presentati come formule valide, supponendo tacitamente una possibilit`a di
sostituzione di termini qualsiasi alle variabili che `e di fatto unapplicazione
della particolarizzazione).
Si trovano sia esempi di applicazioni in cui t `e chiuso sia esempi in cui
contiene variabili.
Esempio
La legge boleana dellunicit`a dellelemento neutro delladdizione
x(x + y = x) y = 0
si pu`o dimostrare in questi due modi.
Applicando a x(x+y = x) la particolarizzazione con 0 si ottiene 0+y = 0
da cui con trasformazioni algebriche, utilizzando y + 0 = y, si arriva a y = 0.
Applicando invece a x(x+y = x) la particolarizzazione con y si ottiene
y + y = y, quindi 1 = y e y = 0.
Nellesempio la formula quantificata universalmente `e del tipo xA(x, y),
e y `e ovviamente ammissibile perche A(x, y) non contiene quantificatori.
Una legge simmetrica rispetto a quella di particolarizzazione, che si chiama
anche di generalizzazione esistenziale, o di indebolimento esistenziale, afferma che `e logicamente valida
A(t) xA(x),
con le stesse restrizioni su t.
Ad esempio, siccome y + (y) = 0 vale negli interi, si pu`o dedurre x(y +
x = 0); qui bisogna pensare che A(t) `e y + (y) = 0, con y per t, e che
`e ottenuta da y + x = 0 per sostituzione di y a x. Ma potrebbe essere
139
distributivit`
a di su
distributivit`
a di su
140
141
143
Si noti lo scambio dei quantificatori universali ed esistenziali nei due prefissi; lo scambio di solito non `e permesso, non `e valido in generale, ma capita
con prefissi diversi di due forme premesse equivalenti di una stessa formula.
Le regole viste, ed elencate nella tabella di sotto, sono sufficienti a trasformare ogni formula in forma prenessa.
xA xA
xA(x) A(t)
particolarizzazione (t ammissibile)
A(t) xA(x)
generalizzazione esistenziale
xA(x) yA(y)
rinomina
xA(x) yA(y)
rinomina
x(A B) xA xB
distributivit`
a di su
x(A B) xA xB
distributivit`
a di su
xA xB x(A B)
distributivit`
a parziale di su
x(A B) xA xB
distributivit`
a parziale di su
x(A B) xA xB
distributivit`
a parziale di su
x(A B(x)) A xB(x)
(x non libera in A)
x(A B(x)) A xB(x)
(x non libera in A)
x(A B(x)) A xB(x)
(x non libera in A)
x(A B(x)) A xB(x)
(x non libera in A)
x(A(x) B) xA(x) B
(x non libera in B)
x(A(x) B) xA(x) B
(x non libera in B)
xyA(x, y) yxA(x, y)
scambio dei quantif icatori
xyA(x, y) yxA(x, y)
scambio dei quantif icatori
Tuttavia alcune ulteriori leggi utili si derivano da esse con luso della
rinomina delle variabili vincolate. Ad esempio dalla distributivit`a di su
segue xA B x(A B) se x non libera in B, e analogamente dalla
distributivit`a di su segue xA B x(A B) se x non libera in B.
Per trasformare in forma prenessa xA(x) xB(x) si pu`o allora ottenere prima x(xA(x) B(x)); quindi poiche x `e libera in B(x) si sostitu144
9.1
Esercizi
9.2
Quantificatori e dimostrazioni
Una definizione generale di formula algebrica potrebbe essere formula atomica con
predicato = o < e termini complessi.
145
146
Se alla fine dovesse risultare che d `e uguale a c, vuol dire che si sono attributi due
nomi allo stesso elemento, che non `e inusuale, sia nella vita comune sia in matematica,
ogni volta che si dimostra che due termini sono uguali, ad esempio 0 = 0 + 0.
12
Ripasso di logica proposizonale: se da p e q segue una contraddizione C, p q C,
ne segue (p q), le due proposizioni sono incompatibili, ma quale salvare? (p q) `e
equivalente sia a p q sia a q p. Tuttavia dallo svolgimento della dimostrazione si
vede che in realt`
a si `e dimostrato lequivalente, per importazione/esportazione, p (q
C), da cui p (C q) e quindi p q (perche?), e la scelta `e dunque implicita
nellimpostazione della dimostrazione.
13
La dimostrazione termina poi scrivendo prima y(x = 2 y) y(x + 1 = 2 y) e
quindi poiche x era qualunque, x(y(x = 2 y) y(x + 1 = 2 y)).
147
Si pu`o tuttavia dimostrare che, nelle condizioni della regola applicata a !!!
yA(y), se B `e una formula che non contiene c, e se B `e conseguenza logica
di A(c) allora B `e conseguenza logica di yA(y) - nonostante A(c) non sia
conseguenza logica di yA(y).
La spiegazione, in breve, `e la seguente. Posto che B segua da A(c), dove
c non occorre in B, si ha
A(c) B.
Ma di c non si sa nulla, a parte il fatto A(c). Qualunque elemento denoti c
va bene, e soddisfa A(c) B. Questo sembra potersi esprimere come
c(A(c) B)
a parte lerrore sintattico di quantificare un simbolo che abbiamo chiamato costante. Ma se lavessimo chiamato variabile, se avessimo usato una
variabile w della nostra disponibilit`a illimitata di variabili, una che non occorresse altrimenti nella dimostrazione (in modo da non avere vincoli che non
ci devono essere, salvo A(w)), avremmo concluso
A(w) B
con w non in B, quindi
w(A(w) B)
e infine
wA(w) B.
Torneremo in seguito sul problema.
Ora ci limitiamo a far vedere che la regola di esemplificazione esistenziale
si pu`o giustificare con una serie di regole logiche usuali, nel senso che le sue
applicazioni possono essere sostituite da altri ragionamenti che non ne fanno
uso.
Consideriamo di nuovo lesempio di
y(x = 2 y) y(x + 1 = 2 y).
Poiche y non `e libera nel conseguente, si pu`o scrivere in modo equivalente
y(x = 2 y y(x + 1 = 2 y));
149
come nellesempio dellamico che rende felici, che pu`o essere qualunque, anche
ora si dice che y pu`o essere qualunque, purche soddisfi poi lantecedente
x = 2 y.
Allora la y di x = 2 y `e trattata in questa versione della dimostrazione
come una variabile universale. Data una y qualunque, occorre dimostrare
che
x = 2 y y(x + 1 = 2 y),
ovvero
x = 2 y y(x + 1 6= 2 y).
Il quantificatore del conseguente pu`o essere spostato nel prefisso, dopo aver
eseguito unopportuna rinomina, e la formula da dimostrare `e equivalente a
z(x = 2 y x + 1 6= 2 z);
quindi possiamo provare a dimostrare
x = 2 y x + 1 6= 2 z,
con tutte le variabili intese in senso universale.
Per assurdo, assumiamo la negazione del condizionale, quindi
x = 2 y x + 1 = 2 z,
e con gli stessi calcoli fatti sopra, con y e z al posto rispettivamente di c e d,
arriviamo a una contraddizione.
Abbiamo quindi
x = 2 y x + 1 6= 2 z,
e quantificando universalmente
xyz(x = 2 y x + 1 6= 2 z),
da cui con le leggi logiche pertinenti
x(y(x = 2 y) z(x + 1 6= 2 z)). 2
Si noti che di solito nel gergo matematico, dove non si usa indicare i
quantificatori, attraverso uninterpretazione (corretta) dellenunciato da dimostrare si imposta direttamente proprio
150
se x = 2 y, allora x + 1 6= 2 z.
Altro esempio. Per dimostrare
y(x = 4 y) y(x = 2 y)
si trasformi la formula nellequivalente
y(x = 4 y y(x = 2 y))
e si provi a dimostrare
x = 4 y y(x = 2 y).
Partendo da x = 4 y si fanno gli stessi passaggi di prima, x = (2 2) y,
x = 2 (2 y) e quindi con la generalizzazione esistenziale y(x = 2 y). 2
Un problema delle esemplificazioni esistenziali, non logico ma pratico, `e che non
c`e labitudine di usare coerentemente costanti, ma spesso si utilizzano le variabili.
In riferimento allesempio precedente, dato y(x = 2 y) si propone: sia y un
elemento tale che x = 2 y.
Luso di variabili `e legittimo, ma richiede diverse cautele.
La variabile y di sia y tale che A(y), a seguito di yA(y), non deve comparire
libera in eventuali altre formule gi`a utilizzate nella dimostrazione, e che pongono
vincoli sullelemento denotato da y, mentre di questo si sa solo, e si vuole usare solo
il fatto che soddisfa A(y). Nel caso in esame, y(x = 2y) `e la prima assunzione da
cui si parte, quindi non si presenta questo problema, altrimenti si deve usare una
nuova variabile e dire sia w tale che A(w) - o fare prima una rinomina di yA(y).
Questo ha anche il vantaggio, se la variabile `e insolita, di ricordare il suo status
speciale. Il termine usato per lesemplificazione esistenziale deve essere appunto un
termine, vale a dire unespressione che denota un elemento (sconosciuto salvo per
il fatto che deve soddisfare A) delle interpretazioni. Che il simbolo nuovo sia un
c non presente nellalfabeto, o un simbolo w presente nellalfabeto ma mai usato,
e si chiami di conseguenza costante o variabile non fa nessuna differenza, se lo si
gestisce in modo corretto. Se `e una variabile, questa variabile libera ha un senso
particolare, non universale, condizione che deve essere tenuta presente nel corso di
tutta la dimostrazione, finche essa non scompare.
La variabile introdotta in unesemplificazione esistenziale scompare nello stesso
modo come abbiamo visto scomparire la c, ad esempio per generalizzazione esistenziale14 .
14 `
151
La regola relativa alleliminazione temporanea del quantificatore esistenziale afferma dunque che si pu`o esemplificare unaffermazione esistenziale
yA(y) con A(c) o A(w) se per questa via si perviene a una conclusione
che non contiene la costante o non contiene libera la variabile usata per
lesemplificazione.
Tuttavia le cautele e le restrizioni per questa regola non sono ancora finite.
Finche la costante o la variabile introdotte come esemplificazione di un
quantificatore esistenziale non sono scomparse, largomento `e incompleto, e
non terminato, come in sospeso, per il riferimento a questo elemento sconosciuto. La costante o variabile pu`o scomparire o per passaggi proposizionali
15
152
153
Queste sottigliezze sono precisate e rese di agevole applicazione nei sistemi di regole che costituiscono i calcoli logici per i linguaggi predicativi, ad
esempio il calcolo della deduzione naturale, che rientrano negli argomenti non
propedeutici.
154
10
Sillogismi
I sillogismi sono forme di ragionamento studiate fin dallantichit`a che coinvolgono enunciati di linguaggi predicativi, ancorche di un tipo semplificato;
molti argomenti del linguaggio comune si presentano in tale forma, e rappresentano perci`o un utile esercizio, sia di formalizzazione sia di deduzione,
anche al di fuori della matematica.
Gli enunciati che intervengono nei sillogismi contengono solo predicati
monadici, a un posto, e inoltre sono di una forma particolare.
Gli enunciati presi in considerazione e combinati tra loro affermano sempre una delle seguenti circostanze: che tutti quelli che hanno una propriet`a
P hanno anche la propriet`a Q; che nessuno di quelli che hanno una propriet`a
P hanno la propriet`a Q; oppure che qualcuno che ha la propriet`a P ha anche
Q, o infine che qualcuno con la propriet`a P non ha Q.
Enunciati di questa forma si chiamano, nella tradizione logica, proposizioni categoriche1 .
A prima vista si direbbe che il loro studio costituisca unanalisi dei quantificatori, ma `e forse pi`
u corretto dire che mette in evidenza e sfrutta alcune
relazioni insiemistiche della sola intersezione, e precisamente
A B = A,
A B = ,
A B 6= ,
AB
A e B sono disgiunti
A e B non sono disgiunti.
ovvero
ovvero
ovvero
Tutti i P sono Q
Nessun P `e Q
Qualche P `e Q
Qualche P non `e Q
P
P
P
P
Q
Q=
Q 6=
6 Q
155
proposizioni2 : A ed E sono proposizioni affermative, rispettivamente universale ed esistenziale; I e O sono negative, rispettivamente universale ed
esistenziale.
Le parole tutti, nessuno, qualche diventavano superflue, sostituite
dalla sigla prefissa; scrivendo A : P Q si intendeva la frase tutti i P sono
Q, con I : P Q la frase qualche P `e Q, e cos` via. Il simbolismo logico
come si vede ha una lunga storia.
Siccome cera sempre solo una variabile individuale, non si `e sentita
lesigenza di indicarla. Il verbo era sempre il verbo essere; noi dobbiamo
distinguere i casi universali che richiedono condizionale e quelli particolari,
resi da una congiunzione.
10.1
Sillogismi categorici
P
S
S
M
M
P.
156
cui il nome di questi due predicati4 -, osservando che il termine medio deve
sempre comparire in entrambe le premesse - altrimenti si vede facilmente che
il sillogismo non `e valido5 - e che lordine delle premesse non `e rilevante (per
la terminologia, si chiama premessa maggiore quella che contiene S, e minore
laltra) si ottengono in tutto quattro figure:
SM
P M
SM
MP
MS
MP
MS
P M.
P
S
S
M
M
P,
ovvero
4
157
S(c)
Allora c e` un S e
M (c)
c e` un M.
N essun P e` M.
Se c e` un P allora c non e` un M, o
Se c fosse un P non sarebbe un M.
per contrapposizione
M (c) P (c)
Se c e` un M allora non e` un P.
da questo e da M (c)
P (c)
M a siccome c e` un M,
allora c non e` un P.
da questo e da S(c)
S(c) P (c)
Siccome c e` un S,
c e` un S che non e` un P.
x(S(x) P (x))
Qualche S non e` un P.
158
A:
O :
O:
P
S
S
M
M
P,
ovvero
A:
I :
I:
M S
M P
S P,
ovvero
con la dimostrazione:
159
Dimostrazione
Linguaggio predicativo Linguaggio naturale
x(M (x) P (x))
Qualche M e` P.
M (c) P (c)
M (c)
c e` un M.
P (c)
c e` un P.
M (c) S(c)
Se c e` un M allora c e` un S.
S(c)
Siccome c e` un M,
c e` un S.
S(c) P (c)
Siccome c e` un P
c e` un S che e` anche un P.
x(S(x) P (x))
Qualche S e` un P.
S M
M P
S P,
ovvero
x(S(x) M (x))
x(M (x) P (x))
x(S(x) P (x)),
160
Linguaggio predicativo
x(S(x) M (x))
S(x) M (x)
Linguaggio naturale
T utti gli S sono M.
U no che sia un S e` anche un M.
per transitivit`
a da 2 e 4
S(x) P (x)
U no che sia un S e` anche un P.
x(S(x) P (x))
S M
M P
S P,
ovvero
x(S(x) M (x))
x(M (x) P (x))
x(S(x) P (x)),
x(S(x) P (x)) sia vero (da x(S(x) P (x)) segue x(S(x) P (x)) verificato da un elemento non appartenente a S - non x(S(x) P (x)))7 .
Per verificare che un sillogismo non `e valido occorre trovare un controesempio, vale a dire uninterpretazione in cui le premesse sono vere e la conclusione falsa.
Ad esempio il sillogismo
x(S(x) M (x))
x(M (x) P (x))
x(S(x) P (x))
`e falsificato dalla seguente interpretazione: U = {a, b, c}, S = {a}, M =
{a, c}, P = {b, c}.
Un argomento in linguaggio naturale8 si dice corretto se `e un caso particolare di un sillogismo formale valido.
Si consideri il seguente argomento:
I progressisti sono sostenitori dello stato sociale
Alcuni ministri del governo sono sostenitori dello stato sociale
Quindi alcuni ministri sono progressisti.
Si chiede se `e corretto. Prima di proseguire, si prenda tempo (non troppo)
e si dia una risposta.
La maggior parte delle persone risponde s`. Un modo tradizionale di
convincere che invece non `e corretto `e quello di osservare: sarebbe come dire
che
siccome
I cavalli sono veloci
e
Alcuni asini sono veloci
allora
Alcuni asini sono cavalli.
7
162
P
S
S
M
M
P
sarebbe valido e allora anche il nuovo argomento, della stessa struttura formale, dovrebbe essere corretto. Ma questultimo ovviamente non lo `e.
Che non lo sia, e quindi che si sia esibito un controesempio, non `e mai del
tutto chiaro se gli esempi sono fatti in linguaggio naturale. Nessun insieme
definito nel linguaggio naturale ha i confini esattamente delimitati senza ambiguit`a. Per questo i controesempi devono essere insiemi astratti, dove gli
elementi e i non elementi sono individuati in maniera precisa e indiscutibile.
Nel caso in oggetto, un controesempio `e fornito da U = {a, b, c, d} con
S = {c, d}, P = {a, b} e M = {a, b, c}.
Un esempio dello stesso tipo `e il seguente. Linferenza
Nessun triangolo rettangolo `e equilatero
Qualche triangolo isoscele `e equilatero
Quindi qualche triangolo rettangolo non `e isoscele
`e corretta?
Dopo aver risposto . . . , si consideri che sarebbe come dire
Nessun cerchio quadrato `e equilatero
Qualche triangolo `e equilatero
Quindi qualche cerchio quadrato non `e un triangolo
conclusione che implica che esiste un cerchio quadrato. Oppure
Nessun cane `e un ruminante
Qualche quadrupede `e un ruminante
Quindi qualche cane non `e un quadrupede.
Il sillogismo
E:
I :
O:
S
P
S
M
M
P
163
E:
A :
E:
P
S
S
M
M
P
ovvero
x(P (x) M (x))
x(S(x) M (x))
x(S(x) P (x))
`e valido:
Dimostrazione
10.2
Diagrammi di Venn
'$
'$
'$
&%
&%
&%
S ( M ) =
SM =
S M 6=
S ( M ) 6=
M
M
M
M
M
M
P
'$
'$
P
'$
&%
&%
&%
Ora si interpreta quello che dice la figura, come conseguenza delle due premesse, confrontandolo con quello che afferma la conclusione. La conclusione
afferma che deve esserci una crocetta in S ( P ) e infatti la crocetta `e stata
disegnata in quellarea, come conseguenza delle due premesse; `e stata messa !!!
prima di guardare la conclusione.
Un altro sillogismo valido `e
E: P
I: S
O: S
M
M
P
ovvero
x(P (x) M (x))
x(S(x) M (x))
x(S(x) P (x)).
La prima premessa ci fa tratteggiare larea P M che deve essere vuota
167
'$
'$
'$
&%
&%
&%
M
P
P
ovvero
x(S(x) M (x))
x(M (x) P (x))
x(S(x) P (x)).
La prima premessa fa tratteggiare S ( M ) che `e vuota essendo S M .
La seconda premessa ci fa mettere una crocetta in M P , ma questa `e divisa
in due sottoaree M P S e M P ( S), e non sappiamo dove mettere
la crocetta. La si mette sulla linea di divisione delle due sottoaree, proprio !!!
per indicare che non si sa in quale parte metterla.
168
'$
'$
S
P
'$
+
&%
&%
&%
S
P
S
M
M
P
169
11
11.1
Alberi di refutazione
Regole per i quantificatori
B(c)
Se A Se A `e xB, allora alla fine di ogni ramo non chiuso passante per
A, per tutti i termini chiusi t1 , . . . , tn che occorrono in qualche enunciato
del ramo, e tali che B(ti ) non occorre gi`a nel ramo, si appendono alla
foglia n + 1 nodi in serie, prima B(t1 ), . . . , B(tn ) e poi ancora xB, !!!
come nello schema
[xB]
..
.
B(t1 )
170
..
.
B(tn )
xB
Se A `e xB, alla fine di ogni ramo non chiuso passante per A si
appende alla foglia il successore xB(x), come nello schema
[xB]
..
.
xB(x)
Se A Se A `e xB, alla fine di ogni ramo non chiuso passante per A si
appende alla foglia xB, come nello schema
[xB]
..
.
xB
Se lalbero `e inizializzato con un enunciato, tutti i nodi dellalbero sono
etichettati con enunciati, di un linguaggio possibilmente arricchito con nuove
costanti. Il ruolo dei letterali `e ora svolto dagli enunciati atomici e dalle
negazioni degli enunciati atomici.
La prima regola corrisponde allesemplificazione esistenziale, la seconda
alla particolarizzazione.
171
(xP (x) xQ(x))2
xP (x)4
xQ(x)3
Q(c)
P (c)
P (c) Q(c)
.
&
P (c)
Q(c)
chiuso
chiuso
`e chiuso.
Lalbero:
xP (x) x(P (x) yQ(y)) yQ(y)1
xP (x)2
yQ(y)4,8
P (c)
P (c) yQ(y)5
Q(c)
.&
P (c)
yQ(y)6
chiuso
Q(d)
173
P (d) yQ(y)
Q(d)
chiuso
yR(c, y)
R(c, c1 )
yR(c1 , y)
R(c1 , c2 )
yR(c2 , y)
..
.
Valgono per`o le propriet`a fondamentali di correttezza e completezza.
Teorema 11.1.1 (Correttezza) Se lalbero di refutazione con radice A si
chiude, allora A `e insoddisfacibile. 2
I precendenti esempi di alberi chiusi verificano il primo che x(P (x)
Q(x)) |= xP (x) xQ(x) e il secondo che xP (x)x(P (x) yQ(y)) |=
yQ(y).
174
P (c)
xP (x) xQ(x)
.
&
xP (x)
xQ(x)
P (c)
Q(d)
chiuso
allinfinito, e non `e detto che ci sia mai uno stadio in cui ci accorgiamo che
lalbero andr`a avanti a crescere allinfinito (altrimenti `e come se sapessimo
che non si chiude).
Un metodo con queste caratteristiche si dice metodo di semidecidibilit`a
e linsieme degli enunciati insoddisfacibili `e semidecidibile.
11.1.1
Esercizi
1. Verificare con gli alberi di refutazione tutte le leggi logiche finora incontrate.
2. Verificare con gli alberi di refutazione che xP (x)xQ(x) x(P (x)
Q(x)) e x(P (x) Q(x)) x(P (x) xQ(x)) non sono logicamente
veri.
3. Trovare con gli alberi di refutazione un controesempio a xP (x)
xQ(x) |= x(P (x) Q(x)).
11.2
Applicazione ai sillogismi
Gli enunciati che contengono solo predicati monadici e non contengono simboli funzionali formano un linguaggio monadico.
Rientrano in questa categoria le proposizioni categoriche che intervengono
nei sillogismi, ma anche molti altri enunciati pi`
u complicati.
Si pu`o dimostrare che lalbero con un enunciato monadico nella radice
termina sempre in un numero finito di passi.
Gli alberi di refutazione costituiscono perci`o un metodo effettivo per de- !!!
cidere se un enunciato monadico `e logicamente vero o no. Quindi la logica dei
linguaggi monadici `e decidibile, come quella proposizionale. In particolare
gli alberi permettono di decidere se un sillogismo `e valido o no.
Che un albero con un enunciato monadico nella radice termini sempre lo si
pu`o vedere nel seguente modo. Innanzi tutto bisogna preparare lenunciato,
se non `e ancora nella forma voluta, in modo che non presenti quantificatori incapsulati, o nidificati, cio`e nessun quantificatore cada dentro al raggio
dazione di un altro. Questa trasformazione `e possibile applicando le leggi
logiche sui quantificatori.
Ad esempio
xy(P (x) zQ(z) Q(y))
176
diventa
x(P (x) zQ(z) yQ(y))
quindi
x(P (x) zQ(z)) yQ(y)
e
xP (x) zQ(z) yQ(y).
Un esempio pi`
u difficile2 `e il seguente
xy(P (x) zQ(z) P (x) Q(y))
che diventa
x(P (x) zQ(z) y(P (x) Q(y)))
x(P (x) zQ(z) P (x) yQ(y))
x((P (x) zQ(z)) P (x) yQ(y))
x((P (x) zQ(z)) P (x) yQ(y))
x(((P (x) P (x)) (zQ(z) P (x))) yQ(y))
x((zQ(z) P (x)) yQ(y))
(x(zQ(z) P (x))) yQ(y)
(zQ(z) xP (x)) yQ(y)
zQ(z) xP (x) yQ(y).
Eseguita la trasformazione si adotta la seguente euristica di sviluppo !!!
dellalbero. Se alcuni enunciati inseriti nellalbero hanno un connettivo come
segno logico principale, si applicano ad essi e ai loro eventuali risultati le
regole proposizionali relative, finche si perviene alla situazione in cui tutti gli
enunciati non ancora considerati, se non sono atomici o negazioni di atomici,
iniziano con un quantificatore o con la negazione di un quantificatore.
2
Non vogliamo nascondere che il risultato non `e banale; per la dimostrazione occorre
sfruttare, come sintravvede dallesempio, le forme normali disgiuntive e congiuntive della
matrice, dopo aver messo lenunciato in forma prenessa.
177
x(S(x) P (x))4
M (c) P (c)2
M (c)
P (c)
178
S(c) M (c)5
(S(c) P (c))6
.&
S(c)
M (c)
.&
.&
S(c) P (c) S(c) P (c)
chiuso
chiuso
Due rami sono chiusi; gli altri due danno le stesse informazioni, in quanto
contengono entrambi M (c), P (c), S(c). Il controesempio fornito da questo
albero `e U = {c} con M = {c}, P = {c} e S = .
Questa non `e linterpretazione proposta a suo tempo come controesempio,
che era stata U = {a, b, c}, S = {a}, M = {a, c}, P = {b, c}, ma quesultima
si ottiene dalla presente aggiungendo a e b alluniverso; linterpretazione fornita dallalbero `e minimale, e lo `e sempre3 .
` raro che si trovi un solo modello di un enunciato, in realt`a non ce ne `e
E
mai uno solo, ma la dimostrazione di questo fatto `e complicata4 .
Il sillogismo:
x(M (x) S(x))
x(M (x) P (x))
x(S(x) P (x))
`e valido.
Lalbero:
x(M (x) S(x))2
Si potrebbe dire che `e minima, a meno di biiezioni che rispettano i predicati in gioco,
e si chiamano isomorfismi.
4
Viene in mente x(c = x), che sembrerebbe avere solo un tipo di modello, con un solo
elemento, ma non `e cos` perche linterpretazione di =, le cui propriet`a necessarie ma anche
sufficienti, se si esplicitano, sono le propriet`a riflessiva, simmetrica e transitiva, oltre alla
sostitutivit`
a, potrebbe essere solo una relazione di equivalenza.
179
x(S(x) P (x))3
M (c) P (c)
M (c)
P (c)
M (c) S(c)4
(S(c) P (c))5
.&
M (c)
S(c)
chiuso
.&
S(c) P (c)
chiuso
chiuso
`e chiuso.
11.2.1
Esercizi
Verificare con gli alberi di refutazione la validit`a o meno dei 256 sillogismi.
180
12
Il principio di induzione
xB(x)
Con le sole regole logiche si dimostrano solo enunciati veri in tutte le interpretazioni, non in una particolare.
Un insieme infinito peraltro non pu`o essere dato se non attraverso una
definizione, che ne mette in evidenza alcune propriet`a caratteristiche. Queste
sono assunte in genere come assiomi della struttura, e a partire da essi si
deducono altre propriet`a vere nella struttura stessa (e in tutte le eventuali
altre che soddisfano gli assiomi).
!!!
Le strutture numeriche classiche, che sono insiemi infiniti, hanno poi ciascuna qualche caratteristica particolare che permette di svolgere ragionamenti
tipici ed esclusivi2 , ad esempio la continuit`a per i numeri reali. La pi`
u semplice struttura numerica `e quella dei numeri naturali N.
12.1
I numeri naturali
I numeri naturali3
0, 1, 2, . . . , n, n0 , . . .
sono descrivibili in modo compatto e uniforme come se fossero tutti generati
da un primo che `e lo 0. Non `e raccomandabile usare allinizio le cifre 0, 1, . . . , 9
perche esse presuppongono la rappresentazione in una base, che `e argomento
di l`a da venire. Meglio scrivere:
1
Diciamo brevemente cos` per un enunciato che inizia con un quantificatore universale,
anche se non `e corretto; gli enunciati universali sono quelli che in forma prenessa hanno
solo quantificatori universali nel prefisso.
2
E questo vale anche per strutture finite, per cui sono pure disponibili tecniche particolari. Si veda ad esempio 12.7.
3
Consideriamo anche 0 tra i numeri naturali, benche non sia molto naturale rispetto
alla prima funzione dei numeri, quella di contare; talvolta i numeri naturali senza lo 0 sono
anche detti numeri di conto.
181
0, 00 , 000 , . . . , n, n0 , . . .
che rappresenta visivamente il fatto che ogni numero4 n, salvo lo 0, ha un successore indicato con n0 , e iterando il successore non si ottiene mai un numero
gi`a considerato, perche i successori di due numeri diversi sono diversi5 .
Queste propriet`a sono esprimibili con enunciati predicativi:
x(0 6= x0 )
xy(x 6= y x0 6= y 0 )
che costituiscono i primi assiomi dei numeri naturali6 .
Si `e abituati a dire che ogni numero si ottiene dal precedente con + 1,
ma loperazione di addizione compare, `e definita, solo nella pi`
u ricca struttura
che si ottiene sulla base della definizione fondamentale.
Quando si parte da zero7 per introdurre N, si vuol dire innanzi tutto che
N `e un insieme infinito; la definizione `e la seguente: un insieme X `e infinito
se esiste una iniezione di X su un sottoinsieme proprio di se stesso.
I tre assiomi sopra presentati esprimono questo fatto, con la funzione
iniettiva (terzo assioma) successore che manda tutto linsieme N (primo
assioma) nel suo sottoinsieme proprio N \ {0} (secondo assioma)8 .
Ora per`o N non `e solo un insieme infinito: ogni suo elemento si ottiene
da 0 iterando un numero finito di volte loperazione di successore. Non ci
sono altri elementi al di fuori di questa catena senza fine. La condizione non
sembra facile da esprimere, perche per parlare di iterare un numero finito
di volte il successore parrebbe necessario avere gi`a la nozione di numero
naturale.
4
Il fatto che n nella successione venga dopo i puntini, non significa che `e un numero
grande; n `e una variabile che indica un numero qualunque, e pu`o assumere anche i valori
0, 1,. . .
5
E lo 0 non ha nulla di magico ma `e solo il primo. Meglio ancora indicare la serie con
|, ||, |||, . . .
con la cosidetta rappresentazione unaria, usata ad esempio nelle macchine di Turing.
6
Vale anche xy(y = x0 ), che non scriviamo perche nei linguaggi predicativi si intende
che le funzioni sono totali, e quelle non ovunque definite si trattano con speciali artifici.
7
In tutti i sensi.
8
Dopo si vede che `e sopra: x(x 6= 0 y(x = y 0 )).
182
N `e contenuto in ogni insieme che sia infinito grazie alla stessa iniezione successore
e con lo stesso elemento non appartenente allimmagine delliniezione
183
parte del programma. Nel seguito ci limiteremo a familiarizzarci con le conseguenze dellassioma di induzione in una variet`a di esempi, e per far questo
daremo per note alcune propriet`a aritmetiche, algebriche e geometriche elementari.
In particolare useremo subito il fatto che dalla definizione delladdizione
(che daremo in seguito) segue che n0 = n + 1 e adotteremo questa notazione
per il successore.
Supporremo anche definita10 la relazione dordine totale con minimo 0.
12.2
Il principio di induzione
Dallassioma di induzione segue una regola dimostrativa che si chiama propriamente principio di induzione e che si pu`o schematizzare nel seguente
modo:
A(0)
x(A(x) A(x + 1))
xA(x).
Base
P asso induttivo
Per dimostrare xA(x) sono sufficienti due mosse: la prima consiste nel dimostrare A(0), e la seconda nel dimostrare x(A(x) A(x + 1)).
Si dice allora che xA(x) `e stata dimostrata per induzione su x, e A(x)
si chiama la formula dinduzione.
La base non si riferisce necessariamente solo a 0. Se a cadere verso destra
non `e il primo domino, ma il sesto
@
@
R
@
184
Base
P asso induttivo
Ipotesi induttiva
A(x + 1).
Come abbiamo osservato in precedenza, se si riesce a dedurre A(x + 1)
dallassunzione A(x) si stabilisce A(x) A(x + 1) senza alcuna assunzione
particolare, a parte gli assiomi che sono enunciati, e quindi si pu`o quantificare
universalmente x(A(x) A(x + 1)).
Una volta dimostrato il passo induttivo - e la base - la conclusione xA(x)
segue come bonus.
Errori umoristici non infrequenti:
da A(x), per sostituzione, A(x + 1)
oppure
da A(x), direttamente per generalizzazione xA(x).
Qualcuno giustifica questi errori alludendo a difficolt`a immaginarie dovute
a una pericolosa somiglianza tra quello che si deve dimostrare e quello che
si assume. Ma nella dimostrazione del passo induttivo la tesi xA(x) non
interviene per nulla. Quello che si assume nel passo induttivo, A(x), `e che A
valga per un elemento, ancorche non precisato; quello che si vuole dimostrare
185
!!!
in grande `e xA(x), cio`e che A vale per tutti gli elementi; in piccolo, nel passo
induttivo, si vuole solo dimostrare che A vale per un altro elemento, una bella
differenza, anche sintatticamente visibile, se si usassero i quantificatori.
Se ci sono difficolt`a, sono le difficolt`a tipiche della manipolazione di variabili e quantificatori.
Esempio Dimostrare per induzione11 che
1 + 2 + ... + n =
n(n+1)
.
2
n(n+1)
,
2
n(n+1)
2
+ (n + 1)
n(n+1)+2(n+1)
2
(n+1)(n+2)
2
che `e P (n + 1). 2
11
Uno dei primi algoritmi che si chiede di scrivere (Horstmann, p. 45) e quello per la
somma 1 + 2 + . . . + n.
12
Luso di n come variabile libera universale per i numeri naturali `e tipica della scrittura
matematica; se si usano i quantificatori introducendo la notazione logica `e meglio tornare
alla x. Il passo induttivo pu`
o comunque essere sempre presentato come dimostrazione di
A(n) A(n + 1).
13
Usiamo P perche `e una formula atomica.
186
n(n+1)
2
+ (n + 1),
1 + 2 + ... + n + (n + 1) =
(n+1)(n+2)
,
2
(n+1)(n+2)
,
2
+ (n + 1) =
187
(n+1)(n+2)
.
2
(n+1)(n+2)
,
2
P (n + 1) `e dimostrato. 2
Avvertenza P (n + 1) `e dimostrato dai passaggi di sopra non perche da essa !!!
segua unidentit`a; lo studente di logica sa che dal fatto che A B sia vero e B
sia vero non segue la verit`a di A.
I passaggi di sopra vanno letti allindietro partendo dallultima uguaglianza, e
tutte le uguaglianze scritte sono tra loro equivalenti (se si assume P (n)). P (n+1) `e
+(n+1) = (n+1)(n+2)
, che `e unidentit`a aritmetica.
conseguenza di P (n) e di n(n+1)
2
2
In questa impostazione, ci sono due movimenti logici allindietro: innanzi
tutto si parte dalla tesi da dimostrare P (n + 1), quindi si sviluppa una serie di
uguaglianze, che tuttavia, essendo collegate da equivalenza, vanno lette nellordine
inverso, dallultima identit`a fino a P (n + 1).
Nella dimostrazione del passo induttivo possono intervenire tutte le strategie dimostrative. Illustriamo un problema in cui interviene la distinzione dei
casi.
Esempio Dimostrare che
1 12 + 13 + . . . + (1)n1 n1
`e sempre strettamente positivo.
Sintende che si deve dimostrare che per ogni n 1
1 12 + 31 + . . . + (1)n1 n1 > 0.
Dimostrazione
Base: Per n = 1 la somma `e 1 e 1 > 0.
Passo induttivo: Consideriamo
1
1 21 + 31 + . . . + (1)n n+1
1
n+1
1
, una quantit`a positiva.
si ottiene da quella fino a n sommando n+1
1
1
Siccome per ipotesi induttiva anche (1 2 + 3 + . . . n1 ) > 0, si ha la
conclusione voluta.
Se n + 1 `e pari, la somma
1 12 + 13 + . . . +
1
n
1
n+1
si pu`o riscrivere
(1 21 ) + ( 13 14 ) + . . . + ( n1
1
)
n+1
per la propriet`a associativa, e quindi osservare che `e la somma di quantit`a tutte positive. 2
Si noti che lipotesi induttiva interviene solo in uno dei due casi in cui `e
distinta la dimostrazione del passo induttivo, ma comunque interviene.
Se si fosse voluto dimostrare che
1 12 + 13 + . . . + (1)i1 1i + . . .
1
2n
>0
che `e divisibile per 3 in quanto somma di addendi tutti divisibili per 3 (il
primo per ipotesi induttiva). 2
Ma si pu`o anche fattorizzare n3 n in (n 1)n(n + 1) e osservare che uno
dei tre consecutivi deve essere divisibile per 3. 2
Di solito quando sono disponibili due vie, una per induzione e una che
potremmo chiamare algebrica, la seconda d`a maggiori informazioni, in quanto
lega il problema dato con altri.
Nellultimo esempio abbiamo commesso un errore nellesposizione della
dimostrazione per induzione, un errore che lo studente non deve commettere, !!!
quello di aver trascurato di dimostrare la base.
La leggerezza in questo caso `e innocua, perche subito rimediabile: per
n = 0 n3 n vale 0 che `e divisibile per 3. Ma in altri casi pu`o essere fatale.
Si consideri ad esempio la seguente dimostrazione sul valore della somma
dei primi n pari:
2 + 4 + + 2n = n(n + 1) + 5.
Se indichiamo la somma con Sn = 2 + 4 + + 2n, `e facile verificare che
Sn = n(n + 1) + 5 Sn+1 = (n + 1)(n + 2) + 5
ma la formula `e falsa. Lo si vede subito per n = 0 ed n = 1. Si potrebbe
pensare che valga solo da un certo punto in poi, e si pu`o provare con altri
valori, ma sempre con esito negativo.
Viene il dubbio che sia sempre falsa, e cos` `e, ma questa affermazione
richiede a sua volta una dimostrazione (trattandosi di unaffermazione universale infinita: sempre, per ogni n, Sn 6= . . .)14 .
Una facile dimostrazione si trova se viene in mente di osservare che n(n +
1) + 5 `e sempre dispari, come somma di un pari e di un dispari, mentre
la somma di pari `e pari (ma le stesse considerazioni si potrebbero fare con
n(n + 1) + k, k > 0 qualunque).
12.3
Linduzione empirica
Come non si deve trascurare la base, cos` non si deve trascurare il passo induttivo. Se non si dimostra il passo induttivo, non c`e traccia di dimostrazione
14
E quindi si pu`
o dimostrare per induzione (esercizio).
190
Lesplorazione di un piccolo numero di casi non `e mai sufficiente a dimostrare xA(x); al massimo pu`o servire a trovare un controesempio, se si
`e fortunati. Linduzione empirica addirittura pu`o essere ingannevole quando
sono tanti i casi confermati; tanti `e sempre relativo; ad esempio il polinomio
f (n) = n2 + n + 41
`e tale che f (n) `e un numero primo per n = 0, 1, 2, . . . , 39 (verificare qualche
15
16
191
caso). La congettura che si potrebbe indurre che f (n) sia sempre primo `e
tuttavia smentita dal controesempio
f (40) = 402 + 40 + 41 = 402 + 80 + 1 = (40 + 1)2 = 412 .
Di fronte alla congettura che f (n) sia sempre primo, naturalmente viene
naturale lidea di controllare gli eventuali zeri e scomporre il polinomio (se
si sa che gli zeri permettono una scomposizione). Il tentativo di dimostrare
il passo induttivo invece fallisce per mancanza di idee.
Lesplorazione empirica `e utile tuttavia e raccomandabile quando non !!!
viene proposta una formula da dimostrare, ma la si deve trovare, quando
cio`e bisogna formulare una congettura - e poi dimostrarla.
Ad esempio se si vuole trovare una formula per
1
2
1
23
1
34
+ ... +
1
,
n(n+1)
1
2
1
2
n=2
1
2
1
23
2
3
n=3
1
2
1
23
1
34
3
4
n
si pu`o arrivare alla congettura che la risposta in generale sia n+1
, quindi
provare a dimostrarla (esercizio, e come ulteriore esercizio trovare e dimostrare
la formula in modo algebrico senza induzione).
192
1=1
1+3=4
1+3+5=9
1 + 3 + 5 + 7 = 16
n=2
n=3
n=4
n=5
12.4
Il ragionamento induttivo
Linduzione non `e solo una tecnica di dimostrazione, ma una tecnica di ragionamento, che porta a trovare il risultato. Bisogna imparare a ragionare !!!
per induzione.
Il ragionamento induttivo `e il ragionamento che costruisce una situazione
dinamica: simmagina un insieme di n elementi e ci si chiede: cosa succede
se se ne aggiunge un altro?
Consideriamo lesempio del numero di sottoinsiemi di un insieme; se U
ha 0 elementi, U = , lunico sottoinsieme di U `e U , che quindi ha un
sottoinsieme; se U = {a} ha un elemento, i suoi sottoinsiemi sono e {a} =
U ; se U = {a, b} ha due elementi, i suoi sottoinsiemi sono , {a}, {b}, {a, b}.
I conti empirici sono abbastanza complicati, da 2 in avanti; per essere
sicuri di avere elencato tutti i sottoinsiemi, occorre in pratica fare il ragionamento che presentiamo sotto, e che consiste nel considerare il passaggio da
un insieme con n elementi ad uno con n + 1; il ragionamento si pu`o e si deve
fare prima di avere la risposta; questa pu`o essere lasciata indicata, come
incognita funzionale, con la scrittura f (n) per il numero di sottoinsiemi di
un insieme con n elementi.
Il ragionamento necessario `e il seguente: supponiamo che un insieme con n
elementi abbia f (n) sottoinsiemi; se a un insieme U di n elementi si aggiunge
un a 6 U , tra i sottoinsiemi di U {a} ci sono quelli che non contengono a,
che sono quindi tutti i sottoinsiemi di U , e quelli che contengono a. Questi
tuttavia si ottengono tutti da sottoinsiemi di U aggiungendo a a ciascuno
di essi; o detto in altro modo, se a ciascuno di questi si sottrae a si ottengono tutti i sottoinsiemi di U . Quindi anche i sottoinsiemi di U {a} del
secondo tipo sono tanti quanti i sottoinsiemi di U . In formule linsieme dei
sottoinsiemi di U {a} `e dato da
{X | X U } {X {a} | X U },
e la cardinalit`a di questo insieme `e f (n) + f (n). Ne segue ovviamente che
194
f (n + 1) = 2f (n).
Una funzione definita in questo modo, per cui il suo valore per un numero
qualsiasi si ottiene eseguendo operazioni note sul valore della funzione per il
numero precedente, si dice che `e definita ricorsivamente. Funzioni di questo
genere si ottengono di solito quando si esegue un ragionemento induttivo.
Largomento delle funzioni definite ricorsivamente sar`a affrontato tra breve.
In alcuni casi casi, come lattuale, da equazioni ricorsive come quella di
sopra, che definiscono implicitamente una funzione, si ricava unespressione
esplicita.
Il ragionamento `e di nuovo induttivo; tenendo conto anche della condizione di base, f (0) = 1, si ricavano i seguenti valori
n=0
n=1
n=2
n=3
n=4
f (0) = 1
f (1) = 2
f (2) = 2 f (1) = 2 2
f (3) = 2 f (2) = 2 2 2 = 23
f (4) = 2 f (3) = 2 23 = 24
e quindi
f (n 1) = 2n 1,
da cui
1 + 2 + 22 + 23 + ... + 2n = 2n+1 1,
caso particolare della somma della progressione geometrica di ragione r
1 + r + r2 + . . . + rn =
12.5
r n+1 1
.
r1
Esercizi
Aritmetica
Si dimostri per induzione, e anche in altro modo se possibile:
1.
1
2
1
23
1
34
+ ... +
1
n(n+1)
2. 1 + 4 + 9 + . . . + n2 =
n
n+1
n(n+1)(2n+1)
6
3. 2 + 4 + . . . + 2n = ?
4. 2 + 6 + 12 + . . . + (n2 n) =
n3 n
3
5. 2 + 2 3 + 3 4 + . . . + n(n + 1) =
n(n+1)(n+2)
3
r n+1 1
.
r1
m
z}|{
00
0
11. Calcolare il posto del termine tn . . . nellenumerazione dei termini vista
nellesempio del paragrafo 8.2
196
Problemi divertenti
12. Ammettiamo di avere francobolli da 3 e da 5 centesimi. Far vedere che
qualsiasi tassa postale maggiore di 7 pu`o essere pagata con bolli da 3
e 5.
Suggerimento: prima si suppone che per n si sia usato almeno un bollo
da 5; poi, se si sono usati solo bolli da 3, si osserva che n deve essere
almeno 9.
Alternativa: distinguere i tre casi: n = 3k, n = 3k + 1, n = 3k + 2.
13. Lo stesso con
bolli da 2 e 3, tutti gli n maggiori di 1,
bolli da 3 e 7, tutti quelli maggiori di 11,
bolli da 2 e da 2k + 1, tutti quelli maggiori di 2k 1.
Esercizi di geometria
14. Quante rette passano per n punti (di cui mai tre allineati)?
Suggerimento: impostare un ragionamento induttivo se si aggiunge
un punto . . . .
15. Quante sono le diagonali di un poligono convesso di n lati?
16. Quante diagonali non intersecantesi occorrono per dividere un poligono
convesso di n lati in triangoli disgiunti?
17. La somma degli angoli interni di un poligono convesso con n lati `e
(n 2).
Argomenti di analisi
18. Se n intervalli su una retta sono a due a due non disgiunti, la loro
intersezione non `e vuota.
Suggerimento: anche se la base `e n = 2, nella dimostrazione del passo
induttivo occorre (almeno nellimpostazione in mente a chi scrive) utilizzare il caso n = 3, che va dimostrato a parte, sfruttando propriet`a di
connessione degli intervalli (se due punti appartengono a un intervallo,
tutti i punti intermedi anche vi appartengono).
197
Combinatoria
19. Quante sono le funzioni da un insieme con n elementi in un insieme con
m elementi?
Suggerimento. Per induzione su n, con un ragionamento induttivo.
Supposto di conoscere quante sono le funzioni da un insieme X con n
elementi in un insieme Y con m elementi, si aggiunga a X un elemento
a 6 X. Le funzioni di dominio X {a} si ottengono da quelle di
dominio X aggiungendo una coppia ha, yi con y Y .
20. Quanti sono i sottoinsiemi di un insieme con n elementi?
21. Quante sono le relazioni tra un insieme con m elementi e un insieme
con n elementi?
22. Quante sono le permutazioni di un insieme con n elementi?
23. In una festa, le buone maniere richiedono che ogni persona saluti con un
Buona sera ogni altra persona, una sola volta; se ci sono n persone,
quanti Buona sera sono pronunciati? E se ci si d`a la mano, quante
strette di mano occorrono?
24. Con quale degli esercizi precedenti si `e gi`a risolto il problema 23?
Facciamo osservare che molti problemi in cui il passo induttivo, se
simposta un ragionamento per induzione, consiste in un +n, come alcuni di quelli di sopra, si possono risolvere anche direttamente con un
conto del numero di eventi rilevanti, che porta non a caso a risultati
in forma di prodotto; `e unapplicazione del cosiddetto principio fondamentale del conteggio che vedremo pi`
u avanti.
Dimostrare che lo spostamento `e possibile, per induzione su n, risolvendo prima n = 3, e calcolare quante mosse (ogni mossa `e lo spostamento di un disco) sono necessarie.
Fondamenti
26. Dimostrare che la funzione successore N N \ {0} `e suriettiva, o
sopra N \ {0}.
Osservazione. Questo equivale a dimostrare che x(x = 0y(x = y 0 )).
12.6
Definizioni ricorsive
199
Qui abbiamo considerato il caso di una funzione a due argomenti, di cui uno
funge da parametro.
Pi`
u in generale, se sono date due funzioni: g(x1 , . . . , xr ) a r argomenti
e h(x1 , . . . , xr , x, y) a r + 2 argomenti18 , dove r pu`o essere 0, la coppia di
equazioni
f (x1 , . . . , xr , 0) = g(x1 , . . . , xr )
f (x1 , . . . , xr , x0 ) = h(x1 , . . . , xr , x, f (x1 , . . . , xr , x))
definisce ricorsivamente f (x1 , . . . , xr , x) a partire da g e h.
Questa forma di ricorsione si chiama propriamente ricorsione primitiva,
ma noi non cosidereremo le forme pi`
u generali di ricorsione19 .
In una ricorsione primitiva, il valore di f ( con valori fissati dei parametri)
per ogni numero x0 maggiore di 0 dipende, attraverso operazioni note, dal
valore di f per il predecessore x. x si chiama anche variabile di ricorsione.
` ovvia la differenza rispetto alle definizioni esplicite; lequazione di riE
corsione f (x1 , . . . , xr , x0 ) = h(x1 , . . . , xr , x, f (x1 , . . . , xr , x)) non `e del tipo
f (~x) = . . . 20 dove . . . non contiene f , come richiesto dalla definibilit`a esplicita, al contrario la definizione appare circolare.
Un teorema generale, che dipende solo dalla struttura fondamentale di
N, cio`e dagli assiomi che abbiamo proposto, afferma tuttavia che questo tipo
di definizione individua una e una sola funzione che soddisfa le equazioni di
ricorsione per tutti i possibili argomenti.
Dal precedente esempio, `e chiaro come si possa ottenere ogni valore con
un numero finito di passi.
Lunicit`a della funzione si dimostra nel seguente modo. Supponiamo che
due funzioni f1 ed f2 soddisfino entrambe le equazioni. Dimostriamo per
induzione su x che f1 e f2 hanno sempre lo stesso valore:
Base: f1 (x1 , . . . , xr , 0) = g(x1 , . . . , xr ) = f2 (x1 , . . . , xr , 0).
Passo induttivo: Se f1 (x1 , . . . , xr , x) = f2 (x1 , . . . , xr , x), allora
f1 (x1 , . . . , xr , x0 ) = h((x1 , . . . , xr , x, f1 (x1 , . . . , xr , x))
= h((x1 , . . . , xr , x, f2 (x1 , . . . , xr , x))
= f2 ((x1 , . . . , xr , x0 ).2
18
In verit`
a, per considerare tutti i casi possibili, g ed h non devono avere necessariamente
lo stesso numero di parametri, e h pu`o non dipendere da x.
19
Largomento rientra in unintroduzione alla teoria della calcolabilit`a.
20
~x sta per una n-upla di elementi, n imprecisato.
200
x+0 = x
x + y 0 = (x + y)0 .
Il numero di elementi.
201
S
Ai = ( ni=1 Ai ) An+1
e rispettivamente
T1
i=1 Ai
Tn+1
i=1
= A1
T
Ai = ( ni=1 Ai ) An+1 .
i=0
Sn1
Ai = ( i=0
Ai ) An
202
i=0
Xi ,
si ricorre
come si `e visto alla generalizzazione della definizione originaria:
S
x iN Xi se e solo se esiste un i N tale che x Xi .
Analogamente per lintersezione.
In modo ricorsivo si definisce anche la somma generalizzata, o sommatoria
da 1 a n (per la sommatoria da 0 a n si applicano agli indici le stesse modifiche
di sopra per lunione):
P1
i=1 ai = a1
Pn+1
i=1
o pi`
u in generale
P
ai = ( ni=1 ai ) + an+1 ,
Pn
ai , per n k 0, con
Pk
i=k ai = ak
i=k
Pn+1
i=k
La sommatoria infinita
ate in Analisi.
P
ai = ( ni=k ai ) + an+1 .
i=0
Anche le relazioni possono essere definite per ricorsione, sostituendo bicondizionali alle uguaglianze, ad esempio
x < 0 x 6= x
x < y 0 x < y x = y,
o con un altro metodo che vedremo in seguito e che utilizza anche nella
notazione la definizione di relazione come insieme di coppie ordinate.
203
qm
se rm < n 1
qm+1 =
q
+
1
se
rm = n 1
m
rm + 1
rm+1 =
0
se rm < n 1
se rm = n 1
con 0 rm < n,
= 1
a0
a1
= 1
an+2 = an + an+1 .
Tali forme di ricorsione sono di fatto riconducibili alla ricorsione primitiva,
e le propriet`a di una successione come quella di Fibonacci possono essere
meglio dimostrate con uninduzione appropriata, come vedremo, oltre che
con quella normale.
22
204
12.6.1
Esercizi
Qn
12. Definire ricorsivamente il prodotto generalizzato
i=1 ai e dimostrare
Qn
che se gli ai sono numeri interi allora i=1 ai = 1 se e solo se ai = 1
per ogni i = 1, . . . , n.
13. P
Dimostrare per induzione che se ai 0 per ogni i = 1, . . . , n, allora
n
i=1 ai 0.
P
14. Dimostrare per induzione che ni=1 a2i = 0 se e solo se ai = 0 per ogni
i = 1, . . . , n.
P
P
P
15. Dimostrare che ni=1 ai = ki=1 ai + ni=k+1 ai per ogni 1 k < n.
16. Data la definizione ricorsiva di < del testo, dimostrare che x < y `e
equivalente a z 6= 0(x + z = y).
17. Definire ricorsivamente e dimostrare che x y z(x + z = y).
18. Dimostrare che per la successione di Fibonacci, per ogni n > 0
Pn
i=0
12.7
ai = an+2 1.
206
207
s s
s s r qq
q q q r r sc
P asso induttivo
y < xA(y) si pu`o considerare lipotesi induttiva, nel passo induttivo, e non
c`e pi`
u bisogno della base.
Questo non significa che lo 0 sia trascurato; il fatto `e che se si dimostra
il passo induttivo nella sua generalit`a, cio`e per ogni x, la dimostrazione vale
anche per 0, per particolarizzazione, e quindi y < 0A(y) A(0). Ora
tuttavia y < 0A(y) `e sempre vero, essendo y(y < 0 A(y)), ed essendo
limplicazione soddisfatta da ogni y per lantecedente falso y < 0. Quindi si
`e dimostrato (qualcosa che implica) A(0).
Bisogna fare attenzione che la dimostrazione del passo induttivo non sta- !!!
bilisca la validit`a di y < xA(y) A(x) solo per x da un certo punto in
poi, ad esempio diverso da 0, eventualit`a che si pu`o presentare, e allora i
primi casi restanti vanno trattati e dimostrati a parte. Ma non `e la base
dellinduzione, `e una distinzione di casi allinterno del passo induttivo (si
veda il terzo esempio sotto).
Se interessa dimostrare x > kA(x) naturalmente `e sufficiente dimostrare
come passo induttivo x > k(y(k < y < x A(y)) A(x)). La giustificazione consiste nel fatto che N \ Nk+1 (la catena che si ottiene cominciando
da k + 1 invece che da 0) `e anchesso bene ordinato e anche per esso vale il
principio del minimo.
Oppure formalmente si consideri la formula B(x) (x > k A(x)); si
mostri che dal passo induttivo per A
26
Si faccia attenzione che qui e nel seguito y < xA(y) sta per (y < xA(y)).
209
1
n2
>0
210
e quindi
1 12 + 13 + . . .
1
n2
1
+ ( n1
n1 ) > 0
1
n1 ) > 0, mentre se n `e dispari
perche ( n1
1 12 + 31 + . . .
1
n1
>0
e quindi
1 12 + 13 + . . .
1
n1
1
n
> 0. 2
212
propriet`a P . In questo caso, non `e vero per P che per ogni n che ha la
propriet`a P anche uno minore ha la propriet`a P . Quindi esiste un n che
soddisfa P ma tale che nessun suo predecessore soddisfa P , ed n `e il minimo
di X. 2
Unovvia variante `e che se una propriet`a P vale per un h > k e quando
vale per un n qualunque > k allora vale anche per un numero < n e k,
allora P vale per k.
Il principio della discesa finita `e alla base delle dimostrazioni di terminazione degli algoritmi, quando ad un algoritmo si associa una propriet`a P !!!
che decresce ad ogni esecuzione di un passo dellalgoritmo. Un esempio `e la
dimostrazione di terminazione per lalgoritmo di costruzione degli alberi di
refutazione proposizionali, nel Lemma 7.2.1.
Il principio del minimo fornisce un comodo e utile metodo di definizione
di funzioni: a ogni x (o a pi`
u elementi se si tratta di funzione a pi`
u argomenti)
si associa il minimo y tale che A(x, y), ammesso di sapere che esistono degli
y tali che A(x, y), dove A(x, y) `e una formula.
La definizione di minimo comune multiplo di due numeri `e un esempio
ovvio del ricorso a tale possibilit`a, che `e molto frequente in aritmetica, e si pu`o
combinare con la ricorsione per definire funzioni effettivamente calcolabili.
Ad esempio si definisce per ricorsione la successione dei numeri primi
{pn | n N } ponendo innanzi tutto p0 = 2, quindi osservando che se `e noto
pn allora esiste (teorema di Euclide) un numero primo maggiore di pn , e uno
che dalla dimostrazione dellinfinit`a dei primi si sa che `e minore o uguale a
2 3 4 . . . pn + 1.
Si definisce allora pn+1 come il minimo numero primo maggiore di pn .
La definizione `e corretta in base solo al principio del minimo, ma lesistenza
di un confine superiore la rende anche effettivamente calcolabile in modo
elementare (eseguendo una ricerca limitata a priori).
A ricorsione primitiva e operatore di minimo corrispondono nei linguaggi
di programmazione strutturata i costrutti repeat (for i = 0 to n) e while
. . . do.
12.8
Varianti dellinduzione
Tra linduzione normale e quella forte esistono varianti intermedie, in cui per
ogni x la validit`a di A(x) `e dimostrata a partire da quella di A per alcuni
213
Base
Base
P asso induttivo
= 12 (1 + 5)
e
= 12 (1 5)
le radici dellequazione x2 x 1 = 0, o
x2 = x + 1,
dove `e la cosiddetta sezione aurea, si ha
29
214
an =
1 (n
5
n ).
Dimostrazione
Base: Per n = 0 la formula si riduce a a0 = 0 e per n = 1 a a1 = 1.
Passo induttivo: Poiche
an = an1 + an2
per ipotesi induttiva si ha
an =
1 (n1
5
an =
1 (n2 (
5
n1 + n2 n2 )
quindi
+ 1) n2 ( + 1)).
Ma + 1 = 2 e + 1 = 2 , per cui
an =
1 (n
5
n ). 2
Ipotesi induttiva
yB(x0 , y)
pu`o darsi che yB(x0 , y) richieda di essere derivata a sua volta per induzione
(anche con lutilizzo di yB(x, y) che `e lipotesi induttiva dellinduzione su
x).
Si parla allora di induzione doppia, anche se si tratta di due applicazioni di uninduzione normale, solo che una `e allinterno del passo induttivo
dellaltra; bisogna fare attenzione a indicare con pulizia le varie tappe della
215
dimostrazione, perche nel passo induttivo dellinduzione su y si avr`a a disposizione lipotesi induttiva relativa allinduzione su y e lipotesi induttiva
relativa allinduzione pi`
u esterna su x.
Non `e facile trovare esempi elementari in cui il ricorso allinduzione doppia
`e proprio necessario30 . Diamo un esempio per mostrare come si organizzano
i passi della dimostrazione, scegliendo la commutativit`a delladdizione, anche se per questa propriet`a linduzione doppia si potrebbe evitare (e dopo
mostreremo come).
Dimostriamo quindi
xy(x + y = y + x),
e iniziamo con uninduzione su x.
Basex : Dobbiamo dimostrare
y(0 + y = y + 0).
ovvero
y(0 + y = y).
e lo dimostriamo per induzione su y:
Basey : 0 + 0 = 0.
Passo induttivoy : Ammesso 0 + y = y, si ha
0 + y 0 = (0 + y)0
= y0.
Passo induttivox : Assumiamo, come ipotesi induttivax , che y(x+y = y+x)
e dimostriamo
y(x0 + y = y + x0 )
per induzione su y.
30
Nel primo teorema del paragrafo 14.7 abbiamo visto un esempio in cui la formula
dinduzione era universale ma non ha richiesto linduzione doppia.
216
Basey : Da dimostrare `e
x0 + 0 = 0 + x0 .
Ma
0 + x0 = (0 + x)0
= (x + 0)0
(il precedente passaggio per lipotesi induttivax particolarizzando
y a 0)
= x0
= x0 + 0 .
Passo induttivoy : Assumiamo lipotesi induttivay che x0 + y = y + x0
e dimostriamo x0 + y 0 = y 0 + x0 .
x0 + y 0 = (x0 + y)0
= (y + x0 )0
= (y + x)00
dove si `e usata lipotesi induttivay .
Daltra parte
y 0 + x0 =
=
=
=
(y 0 + x)0
(x + y 0 )0
(x + y)00
(y + x)00
(1 + x)0
(x + 1)0
(x + 1) + 1
x0 + 1.2
12.9
(y + x)0
(y + x) + 1
y + (x + 1)
y + (1 + x)
(y + 1) + x
y 0 + x.2
Errori e paradossi
Alcuni errori delle dimostrazioni, come il dimenticare la base, sono stati gi`a
segnalati. Altri possono essere pi`
u difficili da scoprire, e alcuni portano a
divertenti paradossi.
Si consideri il seguente
Teorema 12.9.1 Tutte le mele hanno lo stesso colore.
218
12.10
Definizioni induttive
{In | n N}
o
I=
i=0 {In }
i<n
Xi =
Sn1
i=0 Xi
se
n>0
se
n = 0.
Esempi
Linsieme dei polinomi in x a coefficienti reali si pu`o definire con
P0
=R
Pn+1 = {x p + c | p Pn , c R}
e
P =
{Pn | n N }.
T =
{Tn | n N }.
Linsieme I definito induttivamente mediante F , con base B, `e caratterizzato dalla seguente propriet`a:
I `e il pi`
u piccolo insieme che contiene B ed `e chiuso rispetto a F ,
!!!
222
Per J I basta far vedere che I `e uno degli insiemi di cui J `e lintersezione,
quindi che B I e I `e chiuso rispetto a F . B I `e ovvio.
` sufficiente controllare la propriet`a di chiusura per sottoinsiemi finiti
E
di I. InfattiSogni Y I, ogni Y in verit`a, `e lunione dei suoi
S sottoinsiemi
finiti, Y = {Z Y | Z finito}, e se F `e continua F (Y ) = {F (Z) | Z
Y e Z finito}.
Ora se Z I e Z `e finito, allora Z In per qualche n32 , e F (Z)
F (In ) In+1 , quindi F (Z) I. 2
Questo `e il motivo per cui si sceglie la forma cumulativa dellinduzione
anche quando non sarebbe necessario; in tal modo si garantiscono le propriet`a
richieste dalla dimostrazione, e le supporremo sempre verificate anche se la
presentazione della definizione induttiva non lo mostra esplicitamente.
Di solito infatti la funzione F `e precisata da una serie di operazioni da
compiere sugli elementi dellinsieme In per ottenere In+1 e allora per ogni
operazione si ha una clausola induttiva separata.
La definizione del precedente insieme di termini T si presenta nel seguente
modo:
0, 1, x sono termini
Base:
Clausola induttiva 1: Se t1 e t2 sono termini, anche t1 + t2 `e un termine.
Perch`e Ir Ir+1 : allora ogni elemento di Z `e in qualche Ir , e tutti sono quindi nel
massimo di questi.
223
Esempi
La definizione delle proposizioni P aveva la forma induttiva
Base: Una proposizione atomica `e una proposizione.
Clausola induttiva 1: Se A `e una proposizione, anche (A) lo `e.
Clausola induttiva 2: Se `e un connettivo binario, e se A e B sono proposizioni, anche (A B) lo `e.
Si tratta di una definizione per induzione cumulativa: quando (A B) `e
inserito in In+1 , A e B non sono necessariamente entrambe in In , ma in uno
qualsiasi dei livelli precedenti.
Definiamo linsieme A degli alberi binari finiti (qui brevemente alberi),
intesi come insiemi finiti con un ordine parziale:
Base: Un singoletto {} `e un albero, che `e radice, in quanto non ha predecessori immediati, ed `e foglia in quanto non ha successori immediati (o
figli).
Clausola induttiva: Dato un albero, se ad alcune sue foglie si aggiungono
uno o due successori immediati si ha un albero.
Vediamo come sono formati alcuni primi livelli di A.
La base A0 contiene solo lalbero
mentre A1 contiene
.&
e A2 oltre a quelli di A1
224
.&
.&
.&
.&
.&
.&
.&
.&
.&
.&
.&
.&
.& .&
Nella definizione delle proposizioni del paragrafo 3.2.1 le proposizioni atomiche avevano
altezza 1, mentre nella terminologia attuale hanno altezza 0; lo stesso per gli alberi, secondo
la definizione del paragrafo 3.2.2 lalbero aveva altezza 1, mentre ora ha altezza 0; non
ci sarebbe alcuna difficolt`
a ad adattare la notazione delle definizioni induttive in modo
da ristabilire laccordo, usando N \ {0} o N \ Nk invece di N.Tuttavia nella trattazione
generale delle definizioni induttive, non c`e motivo per non usare tutti i numeri, incluso 0.
La precedente definizione di altezza di un albero si giustificava intuitivamente in base alla
nozione di lunghezza dei rami.
226
i=k
Xi , indipendentemente da
Esempio Lalgoritmo di trasformazione di una proposizione in forma normale congiuntiva (o disgiuntiva) del paragrafo 6.3 presentava una ricorsione
sulla lunghezza delle proposizioni. Lesecuzione delle operazioni sintattiche
da compiere su una proposizione era riportata, attraverso lapplicazione delle
leggi distributive, a proposizioni di lunghezza minore: da AB (C D)B
via (C B) (D B) a C B e D B. Data una forma normale congiuntiva
per queste ultime, si ha una forma normale congiuntiva anche per A B.
Si noti che C B e D B potrebbero avere invece la stessa altezza di
A B, se prevale laltezza di B.
La misura di complessit`a associata in modo naturale alla definizione delle
proposizioni `e laltezza dellalbero di parsing, ma vale anche
S
P=
i=3 Li
dove Li `e linsieme delle proposizioni che hanno (come liste) lunghezza i
(alcuni Li sono vuoti, vedi esercizi), o la gerarchia cumulativa
S
P=
i=3 Li
e linsieme delle proposizioni che hanno lunghezza i.
dove L
i `
12.10.1
Esercizi
1. Dimostrare per induzione doppia che per ogni m esiste un punto f (m)
tale che n(n > f (m) nm < n!).
2. Dimostrare per induzione:
(a) Ogni proposizione contiene almeno una parentesi.
(b) Ogni proposizione inizia con una parentesi sinistra e termina con
una parentesi destra.
(c) In ogni proposizione il numero di parentesi sinistre `e uguale al
numero di parentesi destre.
(d) Se si considera una sottosequenza iniziale propria di una proposizione, in essa il numero di parentesi sinistre `e maggiore di quello
delle parentesi destre.
Questo risultato `e quello che giustifica il fatto che il contatore di !!!
parentesi torna a zero solo alla fine di una formula.
228
229