Professional Documents
Culture Documents
Corso A
Indice i
1 Introduzione 1
3 Logica proposizionale 10
3.1 Connettivi 10
3.2 Sintassi 10
3.2.1 Il linguaggio proposizionale 11
3.2.2 Analisi sintattica 13
3.2.3 Esercizi 20
3.3 Semantica 22
3.3.1 Tavole di verità 23
3.3.2 Esercizi 26
3.3.3 Validità e conseguenza 26
3.3.4 Esercizi 31
3.4 Sull0 implicazione 33
i
5 Relazioni 60
5.1 Prodotto cartesiano 60
5.2 Relazioni 61
5.2.1 Esercizi 64
5.3 Relazioni d0 ordine 65
5.4 Relazioni di equivalenza 69
5.5 Funzioni 71
6 Forme normali 75
6.1 Definibilità dei connettivi 75
6.1.1 Esercizi 77
6.2 Forme normali disgiuntive 77
6.3 Forme normali congiuntive 79
6.4 Esercizi 83
7 Dimostrazioni 86
7.1 Dimostrazioni dirette 86
7.2 Distinzione di casi 90
7.3 Sillogismo disgiuntivo 93
7.4 Contrapposizione e M odus tollens 95
7.5 Dimostrazioni per assurdo 96
7.6 Dimostrazioni in avanti e all0 indietro 102
13 Sillogismi 157
13.1 Sillogismi categorici 158
13.2 Diagrammi di Venn 167
iii
1 Introduzione
Lo scopo di questo corso è quello di rendere familiari con le forme di ra-
gionamento tipiche degli argomenti matematici; in informatica in particolare
interessano soprattutto quelli che mirano a trovare la soluzione di un prob-
lema, a dimostrare che è una soluzione e a presentarla come un algoritmo.
Un algoritmo è un insieme articolato e connesso di istruzioni per risolvere
un problema; gli algoritmi non sono scritti in un linguaggio di program-
mazione, 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 cal-
coltori non sono numerici ma riguardano manipolazioni di simboli (ad es-
empio l’ordinamento di una lista, o la fusione di due liste in una), quindi
la prima consapevolezza - e competenza - da acquisire è che il linguaggio
matematico non è 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 l’ausilio di un simbolismo appropriato, che è
quello della logica matematica (= logica formale moderna).
In vista della precisione richiesta, che non ammette licenze né eccezioni,
è bene realizzare che ogni ragionamento si può rappresentare in forme stan-
dardizzate di passaggi, e imparare a farlo, usando regole logiche e la proprietà
fondamentale dei numeri naturali che è il principio di induzione.
Il corso è l’equivalente di quelli che nelle università americane si chiamano
di Introduction to Proofs, che contengono in genere anche elementi di matem-
atica discreta (strutture finite, combinatoria). Tali corsi sono concepiti come
ponte tra la scuola secondaria e il college, rivolti a studenti che hanno ap-
preso la matematica come un insieme di ricette e di calcoli, senza aver mai
imparato a seguire e tanto meno a fare una dimostrazione.
Nella scuola italiana qualche esperienza con le dimostrazioni si acqui-
sisce con la geometria, ma limitatamente alle sue costruzioni e senza ap-
profondire le ragioni di tale forma di ragionamento tipicamente matematica.
Né tale problema sarà indagato in questo corso introduttivo: lo studio delle
dimostrazioni e l’obiettivo della familiarità con esse sono perseguiti non in
vista di spiegare il senso dell’impostazione deduttiva delle teorie, ma solo per
abituare a vedere le connessioni tra i vari risultati, la loro mutua dipendenza
e derivabilità, il che aiuta anche a ricordarli meglio.
1
Scrivere dimostrazioni presuppone comunque la comprensione degli argo-
menti trattati, e costituisce quindi un’occasione di ripasso di nozioni elemen-
tari di aritmetica che sono alla base del pensiero informatico.
Nel testo, il segno !!! a margine segnala che si deve prestare particolare
attenzione. !!!
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 è usato per indicare la fine di una dimostrazione, al posto del
tradizionale QED.
2
2 Dal linguaggio naturale alla logica
La prima competenza che bisogna acquisire è quella della formalizzazione,
ovvero della traduzione di frasi della lingua naturale, o del gergo matematico
- misto di formule e di parole - in espressioni di un linguaggio semplificato e
dalla sintassi precisa.
La semplificazione è guidata dalla volontà di restringersi ad espressioni
matematiche o comunque di carattere logico. Non si considerano quindi frasi
con indicatori di tempo e luogo (tempi dei verbi, avverbi di tempo, luogo e
modo). Non si considerano espressioni di comando o di interrogazione, ma
solo frasi dichiarative. Ci si riduce, come primo livello di semplificazione, a
frasi elementari che esprimono fatti, e a loro combinazioni mediante particelle
logiche.
Le particelle logiche della lingua italiana sono parole come “e”, “oppure”,
“se” e altre, che collegano frasi di senso compiuto. Nella lingua italiana
queste parole da una parte sono polivalenti e ambigue, hanno diversi sensi
- in generale discriminati dal contesto - e dall’altra si presentano in tante
versioni equivalenti.
La congiunzione “e” può ad esempio essere resa da una virgola, da “e
anche”, da “ma” e altre espressioni. Il senso avversativo di “ma” è uno degli
aspetti che vengono lasciati cadere nel passaggio ad un linguaggio formaliz-
zato, in quanto esprime un’aspettativa soggettiva. La congiunzione è resa
anche da costrutti più complicati, come “sia . . . sia”: “vado sia che piova sia
che faccia bel tempo” significa “se fa bel tempo vado, e se piove vado”, magari
con l’aggiunta di un “ugualmente” che di nuovo esprime una determinazione
soggettiva.
La stessa congiunzione talvolta esprime qualcosa di più o di diverso dalla
semplice affermazione di entrambe le proposizioni congiunte; talvolta può
significare “e poi”, come in “si sposarono e vissero felici”; talvolta significa
“e quindi, come in ”si immerge una cartina di tornasole, e diventa rossa” (se
questa frase è intesa non come una descrizione di avvenimenti, nel qual caso
“e” significa “e dopo”, ma come come una caratterizzazione di particolari
sostanze).
La disgiunzione, “o” o “oppure”, talvolta ha un senso debole (“A o B
o tutt’e due”), talvolta un senso esclusivo (“A o B ma non tutt’e due”).
L’affermazione “piove o c’è il sole” è compatibile con la situazione in cui
piove da una nuvola anche se c’è il sole. Il latino aveva due parole diverse
“vel” e “aut”, ma la distinzione non è rimasta nelle lingue moderne. La
3
differenza non sempre è espressa dalla semplice ripetizione di “o” (“o A o
B”) ma più spesso dall’enfasi della pronuncia; il tono e il contesto devono
essere tenuti presenti per capire il significato inteso. C’è voluto del tempo
per tornare a riconoscere due particelle diverse:
4
logiche, sia come simboli che come significati; fatto questo tuttavia, la com-
petenza più importante consiste poi nel saper tradurre le frasi della lingua
naturale, disambiguandole quando necessario e possibile, e trovando la ver-
sione formale corrispondente.
Tale standardizzazione è necessaria per poter comunicare con le macchine;
ma prima di parlare alle macchine occorre parlare ad altre persone e a se
stessi per costruire gli algoritmi. Nell’apprendere a formalizzare si deve anche
raffinare la propria logica naturale.
Tuttavia non esiste un elenco completo di quelle che nei linguaggi nat-
urali si riconoscono come particelle logiche. Non abbiamo menzionato ad
esempio “né . . . né”, o “a meno che”1 . Qualche volta, parole che non sem-
brano particelle logiche possono essere usate in questo modo, e lo si riconosce
nella formalizzazione: “quando” è di solito una determinazione temporale,
ma “quando piove, prendo l’ombrello” può essere reso da “se piove, prendo
l’ombrello”.
Nell’ottica della formalizzazione, chiedere cosa significa “quando piove,
prendo l’ombrello” non è altro che la richiesta di tradurre la frase in un’altra
in cui compaia una particella logica (una di quelle riconosciute tali) e scom-
paia “quando”; cosı̀ si vede subito a quale delle particelle note la parola è
equivalente; ma non sempre è evidente una possibile riduzione di una frase
ad un’altra, né sempre una sola.
Esistono peraltro parole di difficile catalogazione, che sembrano particelle
logiche in quanto legano due frasi, ma hanno sfumature che si perdono nella
formalizzazione: ad esempio “siccome piove, prendo l’ombrello”, o “prendo
l’ombrello perché piove” potrebbe essere espressa dall’asserzione unica “la
pioggia è la causa del mio prendere l’ombrello”, che coinvolge però la deli-
cata parola “causa”; la frase contiene tuttavia una determinazione temporale
(“siccome sta piovendo”), o anche una qualitativa (con un implicito riferi-
mento forse a un particolare tipo di pioggia - a dirotto) che non la rende del
tutto equivalente a “quando piove, prendo l’ombrello”.
Esistono parimenti frasi di difficile interpretazione; la stessa “siccome
piove, prendo l’ombrello”, o “poiché piove, prendo l’ombrello” invece che
una frase può essere considerata un argomento, poiché in essa si afferma
un fatto, che piove, oltre a un legame condizionale. Potrebbe corrispondere
1
Si noti l’uso della “o” nella nostra frase, di nuovo scambiabile con “e”: si voleva dire
che non abbiamo menzionato “né . . . né” e non abbiamo menzionato “a meno che”; l’uso
di “o” suggerisce un’altra versione equivalente: “una particella che sia “né . . . né” o “a
meno che” non l’abbiamo menzionata”.
5
ad un esempio di modus ponens (si vedrà a suo tempo): “Se piove, prendo
l’ombrello. Piove. Quindi prendo l’ombrello”.
Useremo simboli speciali per rappresentare alcune particelle logiche che
sembrano di uso più comune, almeno nei discorsi meno sofisticati. Per queste
si potrebbero usare parole della lingua italiana - o comunque di una lingua
naturale - fissando per convenzione in modo rigido il loro significato, come
si fa ad esempio quando per la congiunzione si usa and, in informatica.
Quando si usano and, e simili, si vuole che il linguaggio sia friendly perché
ci si deve concetrare su altro; noi invece vogliamo concentrarci proprio su
quelle parole, per cui sono meglio simboli nuovi, insoliti, che sorprendano; la
scelta di simboli artificiali è più vantaggiosa anche perché, procedendo, questi
simboli non saranno soltanto abbreviazioni, ma insieme ad altri diventeranno
una struttura che è essa stessa, se si vuole, oggetto di una teoria matematica,
con suoi problemi specifici.
Ad esempio una prima questione comprensibile anche solo sulla base di
quanto detto finora è se le particelle scelte sono anche fondamentali, e in
che senso, o se sono sufficienti, o quante ce ne potrebbero essere. Un’altra
riguarda l’equivalenza, affermata per alcuni esempi precedenti, tra frasi di-
verse espresse con particelle diverse.
Queste strutture forniranno 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 è 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 us-
are lettere (come p, q e altre) per indicare entità non precisate, che nelle
applicazioni dovranno essere asserzioni sensate.
Oggetto di studio saranno dunque configurazioni simboliche astratte del
tipo “p e non q”2 che non rientrano apparentemente nell’esperienza comune;
si consideri tuttavia che le persone sono in grado di pronunciare tutte le frasi
del tipo “c’è una tavolo e non c’è una sedia”, “c’è una quadrato e non c’è
un tavolo”, . . . e cosı̀ via per tutte le circa diecimila parole del lessico di una
persona (colta). Il numero di queste e di tutte le altre frasi (come “se c’è
un tavolo non c’è una sedia”) supera il numero dei neuroni del cervello, per
cui, anche ammettendo - che non è - che ogni frase richieda un neurone o
una combinazione di neuroni per la memorizzazione, non si può pensare che
tutte le frasi della competenza linguistica siano immagazzinate in memoria;
2
Al posto di “e” e “non” ci saranno i simboli speciali corrispondenti.
6
questo significa che, insieme al lessico, sono immagazzinati invece schemi che
possiamo immaginare di rappresentare (esternamente) come “p e non q”, e
che questi fanno parte dell’inconscio cognitivo3 . Si tratta solo di diventarne
consapevoli. L’oggetto di studio della logica sono tali schemi di frasi, non le
frasi, e per questo si parla di logica formale.
La formalizzazione del linguaggio naturale non è qualcosa di meccanico
e di compiuto per l’intera gamma delle potenzialità espressive. Esistono
argomenti controversi e ancora oggetto di discussioni e di proposte per una
formalizzazione soddisfacente - che rientrano in studi più avanzati.
La restrizione alle frasi dichiarative è uno di questi, dal momento che i
comandi ad esempio hanno un ruolo apparentemente importante nella pro-
grammazione.
Abbiamo visto qualche difficoltà con “siccome”. Allo stesso modo è dis-
cutibile se “è necessario che . . . ” sia da considerare una particella logica: “è
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 è equivalente alla precedente se “segue”,
privo di determinazioni temporali, assorbe il “sempre”; anche “necessaria-
mente 2 + 2 = 4” forse dice di più di “2 + 2 = 4”, ma non è del tutto chiaro
che cosa.
Ancora, è possibile sostenere che il costrutto “è vero che . . . ” è pleonas-
tico, in quanto “è vero che piove” è equivalente a “piove”, ma è altrettanto
possibile sostenere che non è possibile farne a meno.
2.1 Esercizi
1. Esaminare i seguenti discorsi (e altri tratti a scelta da fonti letterarie
o giornalistiche) ed individuare le particelle logiche e le frasi elemen-
tari (racchiudendole tra parentesi e se necessario riformulando in modo
equivalente i discorsi e le loro frasi).
7
dunque sostenere che se le azioni delle persone sono prevedi-
bili allora le persone sono perfettamente razionali.
Se non Prev allora o non Det o non Raz. Chi sostiene Det
allora deve sostenere che se Prev allora Raz
Se non Prev allora o non Det o non Raz. Se Det allora (se
Prev allora Raz).
8
neuroni per la memorizzazione, non si può pensare che tutte
le frasi della competenza linguistica siano immagazzinate in
memoria.
4. Trovare altre particelle logiche della lingua italiana, oltre a quelle men-
zionate nel testo.
9
3 Logica proposizionale
3.1 Connettivi
Useremo per le particelle logiche i simboli:
¬ per la negazione
∧ per la congiunzione
∨ per la disgiunzione inclusiva
⊕ per la disgiunzione esclusiva
→ per il condizionale “se . . . allora”
↔ per il bicondizionale “se e solo se”
senza escluderne a priori altri, e li chiameremo connettivi proposizionali. La
negazione è un connettivo unario (cioè agisce su una proposizione), gli altri
indicati sono connettivi binari (cioè connettono due proposizioni).
Introdotti i simboli per i connettivi, occorre dare le loro precise regole
d’uso, sia dal punto di vista sintattico (dove scriviamo ad esempio ¬ per
formare la negazione di un’asserzione?), sia dal punto di vista semantico
(come interpretiamo il significato delle frasi composte, in funzione delle frasi
componenti?).
3.2 Sintassi
La necessità di fornire regole rigide per la formazione delle frasi è data dalla
volontà di evitare le ambiguità possibili nelle lingue naturali:
la vecchia porta la sbarra
è un esempio di frase essenzialmente ambigua, se non sono indicati quali sono
soggetto e verbo. Si tratta di un’ambiguità che è risolvibile nel contesto della
storia raccontata, e nel parlato soprattutto con le pause.
Altre ambiguità si riferiscono proprio alla distribuzione dei connettivi;
supponiamo ad esempio di leggere un problema:
x2 + 4x + 3 < 0 e x < −3 o x > −2.
Lo studente tende a rispondere “risolvo l’equazione, poi interseco con x < −3
e unisco con x > −2”, ma è l’ordine di queste operazioni che conta, che non
sempre è quello del first come, first served nella scrittura del problema.
Si può intendere che si chieda quali siano i valori per cui o si ha che
10
x2 + 4x + 3 < 0 e x < −3
o si ha che
x > −2;
si può anche intendere che si chieda quali siano i valori per cui si ha
x2 + 4x + 3 < 0
ma ristretti ad essere
Nel primo caso la risposta è (−2, +∞), nel secondo caso è (−2, −1).
Naturalmente l’ambiguità, che nel parlato si risolve con le pause, nella
scrittura matematica si risolve con le parentesi, il primo caso essendo
e il secondo caso
11
il linguaggio proposizionale sarà interpretato sostituendo alle lettere frasi
relative ad un precisato argomento.
Non tutte le stringhe di simboli dell’alfabeto sono ammesse come propo-
sizioni. Una generica stringa, anche illecita, è chiamata “parola”.
La definizione dell’insieme P delle proposizioni stipula innanzi tutto che:
12
3. )p( non è una proposizione, come non lo sono p o )p), perché:
Ogni proposizione inizia con una parentesi ( e termina con una parentesi
).
7. (pq) non è una proposizione perché non è atomica e non contiene nessun
connettivo.
13
Un albero binario8 è un insieme parzialmente ordinato9 X con una re-
lazione ¹ con le seguenti proprietà. ¹ è una relazione riflessiva, transitiva
e antisimmetrica10 . Gli elementi dell’albero si chiamano nodi . Se x ¹ y, si
dice che y è un successore, o un discendente di x. Esiste un nodo minimo
r tale che r ¹ x per ogni nodo di X, e si chiama radice. I nodi a tali che
non esiste b 6= a per cui a ¹ b si chiamano foglie11 . Ogni nodo che non sia
una foglia ha uno o al massimo due successori immediati12 , dove si dice che
b è un successore immediato di a se a ¹ b, a 6= b e non esiste un c tale che
a ¹ c ¹ b, con c 6= a e c 6= b.
•
.&
• •
.& ↓
• • •
↓
•
14
L’albero sintattico di una proposizione è definito in questo modo:
15
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 affinché una parola sia una proposizione è che
il contatore, inizializzato a 0, torni a 0 solo alla fine della parola. Perché poi !!!
la parola sia una proposizione bisogna che gli altri simboli siano distribuiti
in mezzo alle parentesi in modo corretto.
Ad esempio per
0 1 2 3 2 3 4 3 2 1 2 3 2 1 0.
0 1 2 1 2 3 2 1 0
((p) ∧ (¬(q))).
(¬(p))
è una parola si sarà trovato che la parola data è una disgiunzione di ((p) ∧
(¬(q)) e di (¬(p)).
Poiché quest’ultima si vede facilmente che è una proposizione, proseguiamo
l’analisi di
((p) ∧ (¬(q))).
0 1 2 1 2 3 2 1 0
16
e applicato a
(p) ∧ (¬(q)))
i valori
0 1 0
alla fine di (p), individuando a destra il connettivo ∧, che lega (p) e (¬(q)).
In questo modo si arriva a costruire l’albero sintattico.
Alcune parentesi sono sovrabbondanti, ma solo quelle della coppia più es-
terna e quelle nelle proposizioni atomiche, dove sono usate sia per uniformità
sia per sottolineare la differenza tra una lettera come elemento dell’alfabeto
e la lettera come proposizione15 . Ma ora per comodità di scrittura e let-
tura è meglio ridurre il numero di parentesi con le seguenti convenzioni:
non si scrivono le parentesi intorno alle lettere nelle proposizioni atomiche,
non si scrivono le parentesi più esterne, e si eliminano alcune coppie di par-
entesi intorno ad alcune sottoproposizioni, con un criterio sufficiente a farle
ripristinare in modo corretto formulato nel seguente modo.
Si ordinano per priorità i connettivi secondo le seguente graduatoria:
¬
∧
∨
⊕
→
↔
Data quindi una parola le cui parentesi non rispettano le condizioni per
essere una proposizione (sı̀ però la parità, il fatto che il numero di parentesi
sinistre sia uguale a quello delle parentesi destre, il fatto che in ogni punto
che non sia l’ultimo il numero di sinistre è maggiore o uguale di quello delle
destre, e tutte le proprietà che si mantengono quando si eliminano alcune
coppie di parentesi corrispondenti16 ), le parentesi si rimettono secondo questo
procedimento: prima si rimettono le parentesi a sinistra e a destra delle
15
Tra alfabeto e parole cè una differenza di tipo logico. Nei linguaggi naturali si presen-
tano alcune eccezioni, come le vocali “e” e “o” usate come parole, ma è raro che si parli
dell’alfabeto; quando lo si fa, si scrive appunto “e” e non e.
16
In questo caso, in seguito, la chiameremo ancora proposizione.
17
lettere17 ; quindi si prende in esame la negazione, se occorre nella parola; si
esamina un’occorrenza della negazione che non abbia immediatamente alla
sua destra un’altra negazione18 . Alla sua destra c’è una parentesi sinistra
- altrimenti si può dire che quella parola non proviene dalla eliminazione
di coppie di parentesi da una genuina proposizione (brevemente, che non
è 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 c’è già, e una parentesi destra a destra di σ, se non c’è già, ottenendo
(¬σ); si ripete per ogni occorrenza di ¬, quindi si passa ai connettivi binari
e per ciascuno di essi •, nell’ordine di priorità, si considerano le più 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à, ottenendo (σ • τ ), e cosı̀ via.
Per occorrenze dello stesso connettivo si conviene l’associazione a destra,
cioè 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) ∨ ¬(p)
18
3 (p) → ¬((q) ∧ (¬(¬(r))))
1 p → ¬(q ∧ ¬(¬r))
2 p → ¬(q ∧ (¬(¬r)))
3 p → (¬(q ∧ (¬(¬r))))
4 (p → (¬(q ∧ (¬(¬r)))))
19
p ∧ ¬q ∨ ¬p
.&
p ∧ ¬q ¬p
.& ↓
p ¬q p
↓
q.
3.2.3 Esercizi
1. Discutere se le seguenti parole sono proposizioni:
(p ∧ (q)
(p)) ∧ q)
((p) ∧ q)
((p) ∧ (¬(q)))
((p) → ∧)
p
((p)).
2. Verificare quali delle seguenti parole sono proposizioni e quali no, costru-
endo l’albero sintattico e spiegando dove eventualmente la costruzione
fallisce e per quale ragione:
(¬(¬p))
((p) → ((q) ∨ (¬(r))))
(¬¬((p) → (q)))
((((p) → (q)) ∧ (p)) → (q))
((¬(p)) ∧ (q)) ∨ (r))
(((¬(p)) ∧ (q)) ∨ (r)).
20
3. Dare ragioni per le seguenti proprietà (e si vedano poi gli esercizi in
15.10.1):
Ogni proposizione ha lunghezza maggiore o uguale a 3.
In ogni proposizione non atomica occorre un connettivo.
In nessuna proposizione occorrono due connettivi consecutivi.
In nessuna proposizione occorre la sottosequenza (), né )p.
In ogni proposizione la sua lunghezza (come lista) è maggiore della sua
altezza.
21
p ∨ q ∧ r → ¬p
p ∧ q ∧ r ∨ ¬r
p ∧ (→ r ∨ q)
p ⊕ ¬q → ¬p ⊕ q
p ⊕ q ∨ r.
3.3 Semantica
La semantica ha a che fare con le interpretazioni, grazie alle quali le propo-
sizioni vengono ad assumere un senso (che a noi non interessa, lo bypassiamo)
e diventano vere o false. Tale attribuzione finale di valori di verità è per noi
l’operazione di interpretazione, che viene studiata in astratto per vedere se
abbia proprietà generali, indipendenti dalle interpretazioni concrete.
I valori di verità saranno rappresentati dall’insieme19 {0, 1}. Ci si colloca
con tale scelta nell’ottica della logica classica a due valori.
Nell’insieme {0, 1} è necessario introdurre un minimo di struttura20 : la
più per semple 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.
Un’interpretazione è una funzione21 i : L −→ {0, 1}; una valutazione è
una funzione v : P −→ {0, 1} che soddisfa le seguenti condizioni22 :
v((¬A)) = 1 − v(A)
v((A ∧ B)) = min{v(A), v(B)}
v((A ∨ B)) = max{v(A), v(B)}
v((A ⊕ B)) = | v(A) − v(B) |
v((A → B)) = max{1 − v(A), v(B)}
v((A ↔ B)) = 1− | v(A) − v(B) | .
19
Altre notazioni per i valori di verità sono {V, F }, {T, F }, {>, ⊥}, True, False.
20
Vedremo in seguito che si può considerare un’algebra di Boole.
21
La notazione con la freccia sarà spiegata in seguito; per ora si intenda che a ogni
lettera corrisponde un valore di verità, e per v sotto che a ogni proposizione corrisponde
o 0 o 1.
22
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).
22
In alternativa, si considerano 0 e 1 come interi modulo23 2, {0, 1} = Z2 con
le solite operazioni aritmetiche e si scrivono le condizioni:
v((¬A)) = 1 − v(A)
v((A ∧ B)) = v(A) · v(B)
v((A ∨ B)) = (v(A) + v(B)) − v(A) · v(B)
v((A ⊕ B)) = v(A) + v(B)
v((A → B)) = 1 − v(A) · (1 − v(B))
v((A ↔ B)) = 1 − (v(A) + v(B)).
i∗ ((p)) = i(p)
A ¬A
0 1
1 0
23
A B A∧B
0 0 0
0 1 0
1 0 0
1 1 1
la tavola di verità della disgiunzione:
A B A∨B
0 0 0
0 1 1
1 0 1
1 1 1
la tavola di verità della disgiunzione esclusiva:
A B A⊕B
0 0 0
0 1 1
1 0 1
1 1 0
la tavola di verità del condizionale:
A B A→B
0 0 1
0 1 1
1 0 0
1 1 1
e la tavola di verità del bicondizionale:
A B A↔B
0 0 1
0 1 0
1 0 0
1 1 1
24
Quando si deve trovare il valore di verità di una proposizione, o di un nu-
mero finito di esse, sotto un’interpretazione, è 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 propo-
sizione ce ne è un numero finito. Data una proposizione, il calcolo dei suoi
valori di verità per ogni possibile interpretazione si può organizzare in una
tabella con i valori progressivi attribuiti alle sottoproposizioni (individuate
dall’analisi sintattica), come nei seguenti esempi:
Se A è p ∧ ¬p → q:
p q ¬p p ∧ ¬p p ∧ ¬p → q
0 0 1 0 1
0 1 1 0 1
1 0 0 0 1
1 1 0 0 1
Se A è p ∨ r → ¬p ∧ (q → r):
p q r ¬p q → r ¬p ∧ (q → r) p ∨ r A
0 0 0 1 1 1 0 1
0 0 1 1 1 1 1 1
0 1 0 1 0 0 0 1
0 1 1 1 1 1 1 1
1 0 0 0 1 0 1 0
1 0 1 0 1 0 1 0
1 1 0 0 0 0 1 0
1 1 1 0 1 0 1 0
Tali tabelle si chiamano tavole di verità delle proposizioni.
Come si vede dagli esempi, ci sono proposizioni che per ogni interpre-
tazione hanno il valore 1, altre che per alcune interpretazioni hanno il valore
0 e per altre interpretazioni il valore 1. Si possono dare esempi di proposizioni
che per ogni interpretazione assumono il valore 0 (esercizio).
Si ricordi che una proposizione, in quanto schema, non è né vera né falsa; !!!
solo la sua tavola di verità completa spiega tutti i possibili modi in cui lo
schema può realizzarsi nelle diverse interpretazioni.
25
3.3.2 Esercizi
1. Costruire la tavola di verità delle proposizioni:
(p → p) → p
p → (p → p)
p∨q →p∧q
p ∨ (q ∧ r) → (p ∧ r) ∨ s
p → (q → p).
2. Dire quale è la disgiunzione usata nella programmazione, considerando
che ivi si adotta la valutazione pigra: “quando viene valutata una dis-
giunzione, e la prima condizione è vera, la seconda condizione non viene
esaminata”24 .
3. Trovare le tavole di verità corrispondenti a “a meno che”, “anche se”.
4. Scrivere la tavola di verità per le particelle logiche “né . . . né” e “non
(è vero che) sia . . . sia . . . ”.
5. Costruire la tavola di verità per if . . . then . . . else.
Suggerimento. Si faccia attenzione che il costrutto if . . . then nei
linguaggi di programmazione è usato piuttosto come ↔; se lo statement
è falso l’istruzione non viene eseguita: ad esempio se si esegue25
i |= A.
24
Horstmann, p. 212.
25
Horstmann, p. 186.
26
Se esiste almeno una i tale che i |= A, si dice che A è soddisfacibile, o
(semanticamente) consistente. Se non esiste alcun modello di A, si dice che
A è insoddisfacibile, o (semanticamente) inconsistente, o contraddittoria, o
una contraddizione. Se per ogni i si ha i |= A, si dice che A è logicamente
valida, o logicamente vera, o una tautologia, e si scrive
|= A.
A |= B
A |= B se e solo se |= A → B.
Se A è A1 ∧ . . . ∧ An , A1 ∧ . . . ∧ An |= B si scrive A1 , . . . , An |= B. Se
T = {A1 , . . . , An }, allora si dice che i soddisfa T se e solo se i |= A1 ∧. . .∧An .
Se A |= B e B |= A, si dice che A e B sono logicamente equivalenti , o
anche solo equivalenti, e si scrive A ≡ B.
Per ogni A e B,
A ≡ B se e solo se |= A ↔ B.
27
Leggi logiche notevoli 1
28
Per verificare queste leggi, dove A, B, . . . sono qualunque, si devono prima
verificare le stesse nel caso particolare che A, B, . . . siano atomiche (ad es-
empio p → p per la legge dell’identità), e poi sfruttare il fatto che se A[p] è
una tautologia e B è qualunque, allora anche il risultato della sostituzione di
B a p in A è una tautologia (vedi esercizi).
Per le leggi che sono scritte come condizionali e non bicondizionali, si
vedrà in seguito che l’implicazione inversa in generale non sussiste (salvo
alcuni casi, ad esempio per l’inverso della riduzione all’assurdo debole ¬A →
(A → ¬A), che rientra nell’affermazione del conseguente).
L’associatività della congiunzione giustifica che si possa scrivere senza
ambiguità, 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.
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 equiv-
alenze 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 dall’esportazione, con la prima, si ricava
29
A, A → B
,
B
il sillogismo disgiuntivo da
A, ¬A ∨ B
B
o da
¬A, A ∨ B
,
B
l’eliminazione della congiunzione da
A∧B A∧B
e
A B
e l’introduzione della disgiunzione da
A B
e .
A∨B A∨B
Le leggi corrispondenti permettono di asserire che se sono vere le propo-
sizioni sopra la riga, o premesse della regola, allora è vera anche la propo-
sizione sotto la riga, o conclusione. Regole d’inferenza 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 un’altra, o da altre date, che si chiamano as-
sunzioni; si dice che una proposizione B si deduce da un’altra A se A |= B
e se questo fatto è riconosciuto e certificato da una spiegazione. Un modo
per riconoscere la sussistenza di A |= B è quello di inserire tra A e B altre
proposizioni legate tra loro dalla relazione di premesse-conclusione di regole
corrette.
Ad esempio per stabilire
30
(r → p ∨ q) ∧ r ∧ ¬p |= q
(r → p ∨ q) ∧ r ∧ ¬p
r →p∨q
r
¬p
p∨q
q
3.3.4 Esercizi
1. Verificare con le tavole di verità le precedenti leggi logiche.
2. Spiegare perché
6. Verificare che A → B ≡ ¬(A ∧ ¬B) (sia con le tavole, sia in base alla
definizione di interpretazione).
31
8. Verificare che |= A ⊕ B → A ∨ B ma non viceversa.
12. Verificare che la regola del sillogismo disgiuntivo è corretta anche con
⊕ al posto di ∨.
13. Verificare se A ⊕ (B ⊕ C) ≡ (A ⊕ B) ⊕ C.
16. Si consideri il problema del merging di due liste List1 e List2 in una
terza lista List3 (ad esempio nomi, in ordine alfabetico).
Una prima formulazione dell’algoritmo è la seguente: nello scorrere le
due liste, se List1 non è esaurita e List2 è esaurita oppure l’elemento
in considerazione di List1 precede il primo non ancora inserito di List2,
allora l’elemento di List1 è inserito in List3.
Un’altra formulazione potrebbe essere la seguente: il prossimo elemento
in List3 è preso da List1 quando List1 non è esaurita e List2 sı̀, oppure
quando List1 non è esaurita e l’elemento in considerazione di List1
precede il primo non ancora inserito di List2.
Usando lettere p, q, r per rappresentare rispettivamente “List1 non è
esaurita”, “List2 è esaurita” e “l’elemento di List1 precede quello di
List2”, scrivere le proposizioni corrispondenti alle due versioni delle
condizioni (che portano entrambe a mettere in List3 l’elemento in esame
di List1), e discutere se siano o no equivalenti, in base a quali leggi.
32
Che cosa si può dedurre se esattamente una tra le proposizioni A e B
è vera?
Che cosa si può dedurre se entrambe le proposizioni A e B sono vere?
20. “La storia insegna che non si impara niente dalla storia”. Vero o falso?
Perché?
Suggerimento. Riduzione all’assurdo debole.
3.4 Sull’implicazione
Abbiamo distinto il condizionale, che è un connettivo, o il nome di una propo-
sizione della forma A → B, dall’implicazione, che è una relazione tra propo-
sizioni, e non si scrive A → B ma |= A → B. “A implica B” significa “il
condizionale A → B è una tautologia”.
La terminologia è qualche volta ambigua perché per leggere ad esempio
una regola come il sillogismo disgiuntivo si trova anche detto “se A e ¬A ∨ B
allora B”, in alternativa a “A e ¬A ∨ B implicano B”. Se si è in un contesto
deduttivo si capisce forse che si sta parlando dell’implicazione e non leggendo
semplicemente la forma di una proposizione. L’importante ad ogni modo non
è la terminologia quanto capire la differenza.
Il soggetto di “A implica B” non è A ma A → B. Qualche volta - non
qui - si trova introdotto un simbolo speciale per l’implicazione (in analogia
al caso dell’equivalenza), ad esempio A ⇒ B.
Si dice ad esempio “il condizionale p → p ∨ q ha cinque simboli”, non
“l’implicazione p → p ∨ q ha cinque simboli”, perché l’implicazione è un
fatto che sussiste o no, e un fatto non è formato da simboli. Al massimo è
un predicato, sotto cui cadono alcuni condizionali, come in “il condizionale
33
p → p ∨ q è un’implicazione”. Oppure si può dire che vale l’implicazione
p → p ∨ q, ma non si parlerà ad esempio dell’implicazione p → q ∨ r, che non
è una tautologia.
Siccome purtroppo la terminologia non è uniforme, e si possono trovare
usate entrambe le parole, bisogna fare attenzione al contesto.
Nella tradizione logica, il condizionale era anche chiamato “implicazione mate-
riale”, per distinguere la relazione di conseguenza da altre forme di implicazione,
o da altri sensi del costrutto “se . . . allora”.
In effetti, il significato di “se . . . allora” è polimorfo:
• significato definitorio:
Se è scapolo, allora non è sposato.
• significato causale:
Se si immerge una cartina di tornasole e diventa rossa, allora il liquido è un
acido.
• significato materiale:
Se la Terra vola, allora la Terra è piatta.
34
Secondo lui [Filone di Megara] ci sono tre modi in cui un condizionale
può essere vero, e uno in cui può essere falso. Perché un condizionale
è vero quando inizia con una verità e termina con una verità, come
“se è giorno, è chiaro”. Ed è vero anche quando inizia con una fal-
sità e termina con una falsità, come “se la terra vola, la terra ha
ali”. Analogamente, è vero un condizionale che inizia con una falsità
e termina con una verità, come “se la terra vola, la terra esiste”. Un
condizionale è falso soltanto quando inizia con una verità e termina
con una falsità, come “se è giorno, è notte (Sesto Empirico, Contro i
matematici , VIII, 113).
Con questa scelta per la tavola di → si giustifica la regola del modus ponens, che
è quello che interessa, per l’uso che se ne fa nei discorsi con “se . . . allora”.
35
4 Insiemi e algebre di Boole
4.1 Variabili
Esempi di proposizioni a cui si applicano utilmente le nozioni e le tecniche
logiche sono le formule matematiche; in esse tuttavia compaiono le variabili
x, y, . . . 1
Le variabili che occorrono in una formula, ad esempio 1 < x < 3, si chia-
mano anche variabili individuali, perchè prendono come valori gli elementi
dell’universo del discorso. In generale, un’asserzione in cui compare la vari-
abile x sarà indicata con p(x). Possiamo considerare una formula del genere
come una proposizione, che afferma qualcosa a proposito di x; x denota un
elemento non precisato dell’universo.
Quanto visto finora sulla logica proposizionale è già utile per alcune analisi
logiche anche delle formule con variabili. Consideriamo di nuovo la formula
aritmetica 1 < x < 3; immaginiamo che si stia parlando di numeri naturali
(che cioè il dominio o universo di discorso sia costituito dai numeri naturali,
e < rappresenti la relazione d’ordine). Di una tale formula non si può dire se
è vera o falsa, dipende. Si può dire che è soddisfatta da certi (valori di) x; è
come se fosse presente un numero incappucciato, che dice “io sono compreso
tra 1 e 3”. Se si toglie il cappuccio ed appare 2 ha detto il vero, se appare 0,
o 3 o 5 o qualsiasi altro numero, ha detto il falso.
Se il numero incappucciato continua dicendo “quindi io sono il numero
2”, bisogna ammettere che la deduzione è corretta, anche senza sapere chi è il
numero incappucciato. La formula 1 < x < 3 è soddisfatta dal solo elemento
2, e possiamo affermare 1 < x < 3 → x = 2.
Se invece l’universo di discorso, che dalla formula in sé non si evince, è !!!
quello dei numeri reali, la formula è soddisfatta anche da 1,1, da 1,9, da 2,5
e da tutti gli infiniti elementi dell’intervallo (1, 3).
La formula 1 < x < 3 d’altra parte è un’abbreviazione per 1 < x ∧ x < 3;
perché un valore di x la soddisfi, questo valore deve soddisfare sia 1 < x sia
x < 3.
Abbiamo dunque formule che assomigliano a quelle le linguaggio propo-
sizionale, in quanto sono composizione mediante connettivi di formule atom-
1
All’argomento delle variabili sarà dedicato ampio spazio in seguito, per la loro impor-
tanza, non solo matematica ma logica in generale; esse permettono di completare l’analisi
linguistica in modo molto più approfondito di quello che si realizza limitandosi a consid-
erare i connettivi.
36
iche, solo che queste ultime invece di lettere sono espresisoni che contengono
anche x. Si potrebbe dire che si tratta di un linguaggio proposizionale ap-
plicato. Ogni volta che si dà a x un valore, nell’universo fissato, è come
assegnare il valore vero o falso alle componenti atomiche. Parleremo per
semplicità 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.
37
Un insieme di verità è un sottoinsieme di U ; si dice che X è un sottoin-
sieme di Y , o che è contenuto3 in Y , in simboli X ⊆ Y , se ogni elemento di
X è anche elemento di Y : per ogni x, se x ∈ X allora x ∈ Y .
Qualche volta, raramente, si scrive Y ⊇ X per X ⊆ Y .
Si dice che X è un sottoinsieme proprio di Y , e si scrive X ⊂ Y , se X ⊆ Y
ma X 6= Y .
Se X ⊆ Y e Y ⊆ X allora X e Y hanno gli stessi elementi; questo
per definizione significa che X = Y . Quello che caratterizza gli insiemi non
sono le loro eventuali definizioni ma i loro elementi; ad esempio l’insieme dei
triangoli con due lati uguali e l’insieme dei triangoli con due angoli uguali
sono lo stesso insieme. Cosı̀ {x, y} = {y, x}, da cui la dizione “non ordinata”.
∼ X = {x ∈ U | x 6∈ X}.
X \ Y = {x ∈ U | x ∈ X ∧ x 6∈ Y }.
X4Y = {x ∈ U | x ∈ X ⊕ x ∈ Y }.
X ∩ Y = {x ∈ U | x ∈ X ∧ x ∈ Y }.
3
Si distingue tra “essere contenuto”, che si riferisce a sottoinsiemi, ed “appartenere”,
che si riferisce ad elementi.
38
X ∩ Y si legge: “X intersezione Y ” o “X intersecato con Y ” o “l’intersezione
di X e Y ”.
X ∪ Y = {x ∈ U | x ∈ X ∨ x ∈ Y }
X ∩ Y ⊆ X4
X ∩Y ⊆Y
se Z ⊆ X e Z ⊆ Y allora Z ⊆ X ∩ Y
X ⊆X ∪Y
Y ⊆X ∪Y
se Y ⊆ X e Z ⊆ X allora Y ∪ Z ⊆ X.
39
frutti e le pere sono frutti” significa che Y ⊆ X ∧ Z ⊆ X, ma questa implica
Y ∪ Z ⊆ X, cioè che “mele o pere sono frutti”.
Viceversa, se Y ∪Z ⊆ X, allora siccome Y ⊆ Y ∪Z si ha, per la transitività
di ⊆ - vedi oltre - che Y ⊆ X e analogamente Z ⊆ X, cioè “mele o pere sono
frutti” implica a sua volta “le mele sono frutti e le pere sono frutti”.
V¬p(x) = ∼ Vp(x)
Vp(x)∧q(x) = Vp(x) ∩ Vq(x)
Vp(x)∨q(x) = Vp(x) ∪ Vq(x) .
In particolare si ha Vx∈X = X.
Si può 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)},
40
∅ = {x ∈ U |x 6= x}.
41
22 X⊆X
23 ∅⊆X
24 X⊆U
25 X ⊆X ∪Y
26 X ∩Y ⊆X
e proprietà come
27 se X ⊆ Y e Y ⊆ Z allora X ⊆ Z
28 X ⊆ Y se e solo se X ∩ Y = X
29 X ⊆ Y se e solo se X ∪ Y = Y
30 X ⊆ Y se e solo se X ∩ (∼ Y ) = ∅
31 X ⊆ Y se e solo se ∼ X ∪ Y = U
32 se X ⊆ Y e X ⊆ Z allora X ⊆ (Y ∩ Z)
33 se Y ⊆ X e Z ⊆ X allora (Y ∪ Z) ⊆ X.
Esempi
3 X ∩ Y = Y ∩ X.
Dimostrazione Se x ∈ X ∩ Y , allora x ∈ X ∧ x ∈ Y ; ma per la
commutatività della congiunzione si ha allora x ∈ Y ∧ x ∈ X, quindi
x ∈ Y ∩ X. Il viceversa, partendo da x ∈ Y ∩ X, è analogo.
4 X ∪ Y = Y ∪ X.
Dimostrazione Se x ∈ X ∪ Y allora x ∈ X ∨ x ∈ Y . La conclusione
segue come sopra per la commutatività 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
si ha x ∈ Y ∨ x ∈ X. Quindi x ∈ X ∨ x ∈ Y → x ∈ Y ∨ x ∈ X e
X ∪ Y ⊆ Y ∪ X. Il viceversa è analogo.
42
5 X ∩ (Y ∪ Z) = (X ∩ Y ) ∪ (X ∩ Z).
Dimostrazione Mostriamo prima che X ∩ (Y ∪ Z) ⊆ (X ∩ Y ) ∪ (X ∩ Z).
Se x ∈ X ∩(Y ∪Z) allora x ∈ X e x ∈ Y ∪Z. Ci sono due casi: o x ∈ Y
o x ∈ Z. Nel primo caso, x ∈ X e x ∈ Y , quindi x ∈ X ∩ Y , e quindi
x ∈ (X ∩ Y ) ∪ (X ∩ Z) per la 25, che supponiamo dimostrata5 . Nel
secondo caso, x ∈ X e x ∈ Z, quindi x ∈ X ∩ Z e quindi x appartiene
a (X ∩ Y ) ∪ (X ∩ Z), per la 25 e la 4.
Si mostri ora nello stesso modo (esercizio) che (X ∩ Y ) ∪ (X ∩ Z) ⊆
X ∩ (Y ∪ Z), e l’uguaglianza è provata.
21 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 è vera, qualunque sia X,
perché l’antecedente è falso.
17 X ∪ (∼ X) = U .
Dimostrazione Per ogni x, x ∈ X ∨ ¬(x ∈ X) è vera per la legge del
terzo escluso. Cosı̀ si dimostra ⊇, il viceversa è 24.
30 X ⊆ Y se e solo se X ∩ (∼ Y ) = ∅.
Dimostrazione Se x ∈ X allora x ∈ Y ; se ora esistesse un x ∈ X ∩(∼ Y )
si avrebbe una contraddizione x ∈ Y e x ∈∼ Y .
Come si vede dagli esempi, alcune proprietà delle operazioni sono di-
retta conseguenza delle omonime proprietà 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ù semplici, o intuitive o già dimostrate. Più in generale,
5
La dimostrazione è implicita nella precedente dimostrazione di 4.
43
una volta dimostrate alcune delle suddette leggi in modo diretto, è possibile
derivare le altre in stile algebrico, usando quelle già dimostrate e le leggi
dell’uguaglianza.
Con leggi dell’uguaglianza si intendono le proprietà riflessiva, simmetrica
e transitiva di =, rappresentate dalle formule
x=x
x=y→y=x
x = y ∧ y = z → x = z,
t = s → f (t) = f (s),
dove t ed s sono termini del linguaggio in uso, e f (x) un altro termine con-
tenente la x, e
t = s → (p(t) ↔ p(s)),
Esempi
∼∅=U
∼ (∼ ∅) =∼ U
∅ =∼ U
∼ U = ∅.
44
X ∩ (∼ X) = ∅
∼ (X ∩ (∼ X)) =∼ ∅
(∼ X) ∪ (∼ (∼ X)) = U
(∼ X) ∪ X = U
X ∪ (∼ X) = U .
X ∪ (∼ X) = U
U = X ∪ (∼ X)
X ∩ U = X ∩ (X ∪ (∼ X))
X ∩ U = (X ∩ X) ∪ (X ∩ (∼ X))
X ∩U =X ∪∅
X ∩ U = X.
Grazie alla validità delle leggi associative per unione e intersezione, queste
operazioni possono essere generalizzate a più di due insiemi.
Se A1 , . . . , An sono n sottoinsiemi di U , la loro unione è l’insieme i cui
elementi sono gli elementi di U che appartengono a qualche Ai , in simboli:
n
[
Ai = {x ∈ U | per qualche i, 1 ≤ i ≤ n, x ∈ Ai }
i=1
o anche
Sn S
i=1 Ai , o semplicemente Ai .
45
n
\
Ai = {x ∈ U | per ogni i, 1 ≤ i ≤ n, x ∈ Ai }
i=1
o anche
Tn T
i=1 Ai , o semplicemente Ai .
Per queste operazioni generalizzate valgono molte delle leggi dell’unione
e intersezione, opportunamente riformulate, ad esempio le proprietà commu-
tativa, associativa e di assorbimento; valgono le leggi di De Morgan:
T S
∼ ( ni=1 Ai ) = ni=1 (∼ Ai )
e
S T
∼ ( ni=1 Ai ) = ni=1 (∼ Ai ).
Valgono le leggi distributive di una operazione generalizzata rispetto a una
normale (non con entrambe generalizzate):
n
\ n
\
( Ai ) ∪ B = (Ai ∪ B)
i=1 i=1
e
n
[ n
[
( Ai ) ∩ B = (Ai ∩ B).
i=1 i=1
46
4.3 Algebre di Boole
Indagando la reciproca derivabilità delle varie leggi, ci si accorge che tutte
(sia quelle elencate che altre, quelle che sono valide per ogni famiglia di
sottoinsiemi di un insieme) sono derivabili dalle seguenti:
1 X =X ∩X
47
X =X ∩U per la 18
X = X ∩ (X∪ ∼ X) per la 17
X = (X ∩ X) ∪ (X∩ ∼ X) per la 7
X = (X ∩ X) ∪ ∅ per la 16
X =X ∩X per la 21
2 X =X ∪X (esercizio)
20 X ∩∅=∅
X ∩ ∅ = (X ∪ ∅) ∩ ∅ per la 21
X ∩ ∅ = ∅ ∩ (∅ ∪ X) per la 3 e la 4
X ∩∅=∅ per la 9
19 X ∪U =U (esercizio).
36 Se X ∩ Y = ∅ e X ∪ Y = U allora X =∼ Y .
Dimostrazione
X =X ∩U per la 18
= X ∩ (Y ∪ ∼ Y ) per la 17
= (X ∩ Y ) ∪ (X∩ ∼ Y ) per la 7
= ∅ ∪ (X∩ ∼ Y ) per l0 ipotesi
= (Y ∩ ∼ Y ) ∪ (X∩ ∼ Y ) per la 16
= (Y ∪ X)∩ ∼ Y per la 7
= U∩ ∼ Y per l0 ipotesi
=∼ Y per la 18.
48
11 X =∼∼ X
13 ∼ (X ∪ Y ) =∼ X∩ ∼ Y
(∼ X∩ ∼ Y ) ∪ (X ∪ Y ) = U
(∼ X∩ ∼ Y ) ∩ (X ∪ Y ) = ∅.
(∼ X∩ ∼ Y ) ∪ (X ∩ Y ) = (∼ X ∪ X ∪ Y ) ∩ (∼ Y ∪ X ∪ Y )
=U ∩U =U
(∼ X∩ ∼ Y ) ∩ (X ∪ Y ) = (∼ X∩ ∼ Y ∩ X) ∪ (∼ X∩ ∼ Y ∩ Y )
= ∅ ∪ ∅ = ∅.
4.3.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).
49
2. Dimostrare le proprietà 22 - 33 della relazione ⊆, a partire dagli assiomi,
usando 28 come definizione di ⊆7 .
3. Lo stesso, usando una volta 29, una volta 30 e una volta 31 come
definizione di ⊆
x◦ y =y◦x commutatività
x+y =y+x commutatività
x ◦ (y ◦ z) = (x ◦ y) ◦ z associatività
x + (y + z) = (x + y) + z associatività
x ◦ (y + z) = (x ◦ y) + (x ◦ z) distributività
x + (y ◦ z) = (x + y) ◦ (x + z) distributività
x ◦ (x + y) = x assorbimento
x + (x ◦ y) = x assorbimento
x ◦ (−x) = 0 inverso
x + (−x) = 1 inverso
x◦ 1=x elemento neutro
x+0=x elemento neutro
7
La 22 e la 27, insieme a “X = Y se e solo se X ⊆ Y e Y ⊆ X” stabiliscono che ⊆ è
una relazione di ordine parziale, secondo la definizione che sarà data nel paragrafo 5.
8
Con l’ordine di priorità −, ◦, +.
50
e indicare la relazione definita da x ◦ y = x con ≤.
Si ha 0 ≤ x ≤ 1 per ogni x (esercizio). La relazione ≤ è un ordine parziale
per l’esercizio 1 di 4.3.1.
L’algebra 2 è l’algebra il cui universo è {0, 1} con 0 < 1, rappresentata
dal diagramma
1
↑
0
dove ↑ è < e x + y = max{x, y} e x ◦ y = min{x, y}.
L’algebra 2 è l’algebra dei valori di verità. Le sue tre operazioni sono
quelle che intervengono nel calcolo dei valori di verità di negazioni, disgiun-
zioni e congiunzioni.
Esistono altre algebre di Boole finite, come ad esempio l’algebra 4
1
% -
a b
- %
0
dove a e b sono inconfrontabili rispetto a ≤; ≤ è proprio parziale.
Esercizio: definire le operazioni in modo che questa struttura diventi
un’algebra di Boole.
Esercizio. Dimostrare che è l’algebra dei sottoinsiemi di un universo con
due elementi.
L’algebra delle proposizioni si ottiene nel seguente modo; già si sono di-
mostrate (considerando anche gli esercizi) quasi tutte le leggi logiche che
hanno lo stesso nome degli assiomi delle algebre di Boole:
51
Le equivalenze non sono uguaglianze ma si possono trasformare in vere
uguaglianze tra (nuovi) oggetti con la seguente costruzione.
La relazione ≡ è una relazione di equivalenza, vale a dire soddisfa le
proprietà:
[A] = {B | A ≡ B}
e si ha che
(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à si avrebbe A ≡ B e
[A] = [B].
A si dice un rappresentante della classe [A]; ogni classe ha più rappresen-
tanti, anzi infiniti. Se B ∈ [A] allora B ≡ A quindi [A] = [B] e B è un altro
rappresentante di [A]. In particolare ad esempio [A] = [A∧A] = [A∧A∧A] . . .
Si possono definire tra queste classi le seguenti operazioni:
−[A] = [¬A]
[A] ◦ [B] = [A ∧ B]
[A] + [B] = [A ∨ B].
52
In effetti è 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 è considerata uguale ad ogni altra ad essa logicamente equiva-
lente, o almeno indistinguibile da quelle, ai fini della trattazione semantica.
Date queste definizioni, le precedenti equivalenze danno allora origine alle
uguaglianze:
53
Inseriamo qui una dimostrazione dell’equivalenza tra due definizioni di ≤,
dove si noterà l’analogia formale con quella fatta in 4.3.1 per la definizione
di ⊆ (la 28 e la 30 dell’algebra degli insiemi).
Se
x◦y =x
allora
1 = x + (−x)
1 = (x ◦ y) + (−x)
1 = (x + (−x)) ◦ (y + (−x))
1 = (y + (−x)
0 = x ◦ (−y).
Viceversa se
x ◦ (−y) = 0
allora
x=x◦1
x = x ◦ (y + (−y))
x = (x ◦ y) + (x ◦ (−y))
x = x ◦ y.
Esercizio. Dimostrare l’equivalenza con la (versione corrispondente della) 29.
Dall’equivalenza booleana delle due definizioni di ≤ si deriva la seguente
proprietà logica, che
A ≡ A ∧ B se e solo se |= A → B.
A ∨ ¬A
(A ∧ B) ∨ ¬A
(A ∨ ¬A) ∧ (B ∨ ¬A
B ∨ ¬A
A → B.
54
Ogni proposizione o è una tautologia o segue logicamente dalle precedenti e
da A ≡ A ∧ B, quindi l’ultima è una tautologia.
Viceversa, se A ∧ ¬B è una contraddizione
A ↔ A ∧ (B ∨ ¬B)
A ↔ (A ∧ B) ∨ (A ∧ ¬B)
A ↔ A ∧ B.
se B ≡ C allora A ≡ A[B//C].
55
4.5 Rapporti tra proposizioni e insiemi
I rapporti tra algebra degli insiemi con operazioni insiemistiche, logica propo-
sizionale con connettivi e algebra boleana sono molteplici e bidirezionali.
Sostanzialmente l’argomento è sempre lo stesso, con varianti formali, e a sec-
onda delle preferenze si può adottare l’uno o l’altro dei tipi di simbolismo
coinvolti; la familiarità con l’uno aiuta anche nello svolgimento dell’altro, ma
il ragionamento è identico.
Abbiamo visto come, per dimostrare le leggi dell’algebra degli insiemi
(cioè identità valide per tutti i sottinsiemi di un qualunque insieme non vuoto
U ), procedendo direttamente in base alla definizione di uguaglianza tra in-
siemi (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 dell’algebra
degli insiemi.
In generale due proposizioni (con o senza la x) logicamente equivalenti10
hanno lo stesso insieme di verità 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 è uguale a U
allora Vp(x) ⊆ Vq(x) e viceversa, quindi Vp(x) = Vq(x) .
Vale anche il viceversa; diciamo che una proposizione p(x) è valida in U
se Vp(x) = U ; allora se Vp(x) = Vq(x) in U si ha che p(x) ↔ q(x) è valida in U .
Basta ripercorrere all’indietro i precedenti passaggi.
Supponiamo allora di voler dimostrare |= ¬(p ∨ q) ↔ ¬p ∧ ¬q.
Pensiamo ad un insieme qualunque U (che non c’è bisogno di precisare,
in accordo col fatto che usiamo leggi valide per insiemi qualunque). Conside-
riamo i sottoinsiemi Vp = {x ∈ U | p } e Vq = {x ∈ U | q }. Non importa che
p e q contengano o no la x; basta che valga, per definizione, che x ∈ Vp ↔ p,
cioè che Vp sia definito ponendo che x ∈ Vp è vero se e solo se p è vero. Se
p non contiene x, p o è vera o è falsa, indipendentemente da x. In tal caso
Vp = {x ∈ U | p } o è ∅ o è U .
Dalla definizione di insieme di verità e dalla legge insiemistica
∼ (Vp ∪ Vq ) = (∼ Vp ) ∩ (∼ Vq ),
10
Nel senso che p(x) e q(x) hanno sempre lo stesso valore di verità calcolato a partire
dalla attribuzione di 0 e 1 alle loro componenti atomiche, anche se contengono x.
56
cioè
x ∈∼ (Vp ∪ Vq ) se e solo se x ∈ (∼ Vp ) ∩ (∼ Vq ),
¬(p ∨ q) ↔ ¬p ∧ ¬q
è vero qualsiasi siano p e q, la cui verità o falsità non gioca alcun ruolo nella
dimostrazione11 .
Un altro modo più semantico è 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 nell’algebra 2, riscrivendola formalmente come
−(x + y) = −x ◦ −y,
se z ≤ x e z ≤ y allora z ≤ x ◦ y.
z ◦ (−x) = 0
e
11
Si vede in particolare che le leggi logiche dimostrate per il linguaggio proposizionale
costruito astrattamente sulle lettere, valgono anche per proposizioni contententi variabili.
57
z ◦ (−y) = 0
allora
z ◦ (−x) + z ◦ (−y) = 0
z ◦ (−x + −y) = 0
z ◦ −(x ◦ y) = 0
z ≤ x ◦ y.
z ≤x∧z ≤y →z ≤x◦y
|= (C → A) ∧ (C → B) → (C → A ∧ B),
che equivale a
se [C → A] = 1 e [C → B] = 1 allora [C → A ∧ B] = 1,
se |= C → A e |= C → B allora |= C → A ∧ B.
58
ma
x ⇒ y = −x + y.
|= (C → A) ∧ (C → B) ↔ (C → A ∧ B).
12
Questo è il motivo per cui non usiamo questo segno per indicare l’implicazione |= A →
B, che booleanamente corrisponde all’asserzione x ≤ y.
59
5 Relazioni
5.1 Prodotto cartesiano
Un’operazione su insiemi diversa, e in un certo senso più importante, di quelle
booleane è il prodotto cartesiano di due insiemi.
Si indica hx, yi la coppia ordinata di x e y, e x e y si chiamano rispet-
tivamente prima e seconda componente di hx, yi. La coppia ordinata è ben
diversa dalla coppia non ordinata {x, y}, per cui vale {x, y} = {y, x} e non
ha senso parlare di primo o secondo elemento. Invece hx, yi 6= hy, xi a meno
che non sia x = y; inoltre hx, yi = hz, ui se e solo se x = z e y = u1 .
Il prodotto cartesiano di X e Y è
X × Y = {hx, yi | x ∈ X e y ∈ Y }.
60
Il prodotto X ×X si indica anche con X 2 , e X · · × X} con X n , insieme
| × ·{z
n
delle n-uple di elementi non necessariamente distinti di X.
5.2 Relazioni
Un sottoinsieme di un insieme X × Y si chiama anche relazione tra X e Y . !!!
Se X = Y una relazione R ⊆ X × X si dice anche relazione in X.
La rappresentazione grafica usuale delle relazioni è quella per mezzo di
un diagramma cartesiano, come il seguente:
YO
· · · · · · · · ·
· · · · •· · · · ·
· · · · · · · · ·
· · · •· · · · · ·
· · · · · · · · ·
· · •· · · · · · ·
· · · · · · · · ·
2· •· · · · · · · ·
· · · · · · · · ·
•· · · · · · · · ·/ X
1
ZO
· · · · · · · · •·
· · · · · · · •· ·
· · · · · ·•· · ·
· · · · · •· · · ·
· · · · •· · · · ·/Z
· · · •· · · · ·
· · •· · · · · · ·
· •· · · · · · · ·
•· · · · · · · · ·
61
all’infinito.
Esempi
La relazione di paternità è una relazione nell’insieme del genere umano,
l’insieme di tutte le coppie hx, yi dove x è un maschio che ha generato, e y
uno dei suoi figli.
La relazione di discendenza genealogica nell’insieme del genere umano è
l’insieme di tutte le coppie hx, yi dove x è un antenato (maschile o femminile)
di y.
La relazione di divisibilità4 {hx, yi ∈ N × N | x | y } tra numeri naturali
è rappresentata, nell’area limitata disegnata, dal diagramma:
NO
· •· · •· · · · · · •·
· •· •· · •· · · · •· ·
· •· · · · · · •· · ·
· •· •· •· · · •· · · ·
· •· · · · •· · · · ·
· •· •· · •· · · · · ·
· •· · •· · · · · · ·
· •· •· · · · · · · ·
· •· · · · · · · · ·
· •· •· •· •· •· •· •· •· •· /N
62
ZO
· · · · · · · · · · ·
· · · · · · · · · · ·
· · · · · · · · · · ·
· · · · · · · · · •· ·
· · · · · · •· · · · ·
· · · · · •· · · · · ·/Z
· · · · · · • · · · ·
· · · · · · · · · •· ·
· · · · · · · · · · ·
· · · · · · · · · · ·
· · · · · · · · · · ·
ZO
· · · · · · · · · · ·
· · · · · · •· · · · ·
· · · · · · · · · · ·
· · · · · · · •· · · ·
· · · · · · · · · •· ·
· · · · · · · · · · · /Z
· •· · · · · · · · · ·
· · · •· · · · · · · ·
· · · · · · · · · · ·
· · · · •· · · · · · ·
· · · · · · · · · · ·
63
QO
· · · · · · · · · · ·
· · · · · · •· · · · ·
· · · · · · ·•• · · · ·
· · · · · · · •· · · ·
· · · · · · · · •· •· •·
· · · · · · · · · · · /Q
· •· · · · · · · · · ·
· · · ••· · · · · · · ·
· · · ·•· · · · · · ·
· · · · •· · · · · · ·
· · · · · · · · · · ·
5.2.1 Esercizi
1. Disegnare in un diagramma cartesiano le relazioni (o parte di esse):
{hx, yi ∈ N × N | x2 + y 2 < 20}
{hx, yi ∈ Z × Z | x2 + y 2 < 20}
{hx, yi ∈ N × N | x < 6 ∧ y < 4}.
2. Abbiamo visto esempi di relazioni finite e infinite; come è {hx, yi ∈
64
Z × Z | xy = 12 }?
65
Le relazioni {hx, yi | xy = 4} e {hx, yi | x = y} sono simmetriche. La
relazione {hx, yi | x = y 2 } non lo è.
La relazione di conseguenza logica, nell’insieme delle proposizioni, è rif-
lessiva (legge dell’identità) e transitiva (transitività del condizionale).
x¹x
x¹y∧y ¹z →x¹z
x ¹ y ∧ y ¹ x → x = y.
x¹y∨y ¹x
66
Dato un ordine ¹ si può sempre introdurre una nuova relazione ≺ con la
definizione x ≺ y ↔ x ¹ y ∧ x 6= y, che risulta antiriflessiva, antisimmetrica
e transitiva. Viceversa, data una relazione ≺ antiriflessiva, antisimmetrica
e transitiva, si può definire x ¹ y ↔ x ≺ y ∨ x = y e si ha una relazione
d’ordine (si veda 7.3).
Un maggiorante di x - rispetto a un ordine hU, ¹i - è un elemento y ∈ U
tale che x ¹ y. Il maggiorante è stretto, o proprio, se x 6= y.
Un minorante di x è un elemento y ∈ U tale che y ¹ x. Il minorante è
stretto, o proprio, se x 6= y.
Dato un insieme totalmente o parzialmente ordinato hU, ¹i, un elemento
x ∈ U si dice minimo - rispetto all’ordine - se x ¹ y per ogni y ∈ U . Si dice
massimo se y ¹ x per ogni y ∈ U .
Dato X ⊆ U , un minimo di X è un elemento x ∈ X tale che x ¹ y per
ogni y ∈ X; simmetricamente per il massimo.
Il minimo di un insieme X è unico; analogamente il massimo.
Dato un insieme parzialmente ordinato hU, ¹i, un elemento x ∈ U si dice
minimale - rispetto all’ordine - se non ha minoranti propri. Si dice massimale
se non ha maggioranti propri.
Se X ⊆ U , un elemento minimale di X è un elemento x ∈ X tale che
per nessun y ∈ X, y 6= x si ha y ¹ x, cioè che non ha minoranti propri
appartenenti a X; simmetricamente per un elemento massimale. Gli elementi
minimali o massimali non sono necessariamente unici.
Esempi
La relazione d’ordine totale ≤ nell’insieme dei numeri naturali ha un min-
imo, nessun massimo. Negli altri insiemi numerici degli interi, dei razionali
e dei reali9 ≤ è un ordine totale senza né minimo né massimo.
La relazione d’ordine parziale ⊆ nell’insieme dei sottinsiemi di un insieme
U ha un massimo U e un minimo ∅. Nell’insieme dei sottoinsiemi non vuoti di
U esistono tanti elementi minimali, gli {x}, quanti sono gli elementi x ∈ U .
Nell’insieme di tutti gli insiemi contenuti sia in X sia in Y l’intersezione
X ∩ Y è il massimo.
In generale, in un’algebra di Boole, la relazione {hx, yi | x ◦ −y = 0} è un
ordine parziale con minimo 0 e massimo 1.
9
I numeri complessi invece non possono essere ordinati in modo che la relazione d’ordine
sia compatibile con le operazioni, ad esempio nel senso che se x ¹ y allora x + z ¹ y + z.
67
Dato un insieme X ⊆ campo(¹), un elemento x ∈ U , anche non apparte-
nente a X, si dice maggiorante di X se y ¹ x per ogni y ∈ X; simmetrica-
mente per il minorante.
Se esiste il minimo dell’insieme dei maggioranti di X, questo elemento di
U si chiama estremo superiore di X; il massimo dell’insieme dei minoranti,
se esiste, si chiama estremo inferiore di X.
√
Esempio 2 è in R l’estremo superiore dell’insieme {x ∈ Q | x2 < 2}.
Tale insieme non ha estremo superiore in Q.
Un ordine si dice discreto se per ogni elemento x che abbia maggioranti
propri esiste un elemento z, che si può chiamare successore immediato, tale
che x ≺ z e per nessun v sia x ≺ v ≺ z, e per ogni elemento x che ab-
bia minoranti propri esiste un elemento y, che si può chiamare predecessore
immediato, tale che y ≺ x e per nessun u sia y ≺ u ≺ x.
t
y
t
x
t
z
t t
Esempio L’ordine 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 L’ordine dei razionali e quello dei reali sono ordini densi.
68
e questo è importante per le proprietà dei naturali che studieremo nel para-
grafo 15.
Se al di là di tutti i numeri raggiungibili da 0 ci fosse ancora ad esempio
una struttura ordinata come quella degli interi, cun una catena discendente
0
t t t t t t t s s s s r qq qq q q r r s
xR x
xR y → yR x
xR y ∧ yR z → xR z.
xR y ∧ yR x → xR x,
Esempi
1. La relazione di uguaglianza è una equivalenza.
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}
10
Se c’è solo x nel campo di R, allora deve già essere xR x.
69
è una relazione di equivalenza, rappresentata dal seguente diagramma11 .
UO
e· · · •· •·
d· · · •· •·
c•· •· •· · ·
b•· •· •· · ·
a•· •· •·c · ·e/ U
b d
70
Esempi
Per la relazione dell’esempio 2 di sopra, [a] = [b] = [c] = {a, b, c} e
[d] = [e] = {d, c}. Nel grafico si vedono i due agglomerati di punti che
formano le due classi disgiunte.
Per la relazione di congruenza x ≡ y (mod 2) ci sono due classi, quella
dei numeri pari e quella dei numeri dispari.
Esempio Nel quoziente degli interi rispetto alla relazione x ≡ y (mod p),
che si indica Zp , si definisce la somma con
[x] +p [y] = [x + y],
e analogamente il prodotto, rendendo possibile la cosiddetta aritmetica mod-
ulare.
L’operazione13 +p è ben definita perché se [x1 ] = [x] e [y1 ] = [y ], allora
x = mp+r, y = np+s e x1 = m1 p+r e y1 = n1 p+s; quindi (x+y)−(x1 +y1 ) =
(m + n − m1 − n1 )p è divisibile per p e x + y e x1 + y1 appartengono alla
stessa classe.
Nella congruenza (mod 2), in Z2 , 1 +2 1 = 0 corrisponde al fatto che la
somma di due dispari qualunque è pari.
5.5 Funzioni
Una relazione R si dice funzionale se per ogni x ∈ dom(R) esiste un solo y
tale che hx, yi ∈ R.
Una relazione funzionale R tra X e Y si dice anche una funzione tra X
e Y , o una funzione da dom(R) in Y . Se si parla di una funzione da X in Y
s’intende che il suo dominio è tutto X.
13
Usiamo questo segno per distinguere la somma delle classi dalla somma degli interi.
71
Per le funzioni si usano di solito i simboli f, g, . . . . Se f è una funzione
da X in Y si scrive anche
f : X −→ Y .
f : X ,→ Y .
f : Z −→ Z
x 7→ 2x
72
f : Q −→ Q
x 7→ 2x
è iniettiva e suriettiva.
La funzione
f : Q −→ Q
x 7→ x2
non è iniettiva e non è suriettiva, cosı̀ come
f :Rp−→ R
x 7→ |x|.
La funzione
f : R −→ R
x 7→ x3 − x.
invece non è iniettiva ma è suriettiva.
La corrispondenza definita da x 7→ x1 , o dalla formula y = 1
x
, definisce
una funzione tra Q e Q il cui dominio è Q \ {0}:
f : Q \ {0} −→ Q
x 7→ x1
73
è una biiezione di Q in se stesso.
La funzione
f : Z −→ Z
x 7→ 2x
f : Q \ {0} −→ Q \ {0}
x 7→ x1
½
1 se x ∈ X
cX (x) =
0 se x ∈
6 X,
74
6 Forme normali
Dopo aver imparato le definizioni riguardanti la semantica delle proposizioni,
e alcune prime tecniche per stabilire in particolare se sono tautologie, sia di-
rettamente con il calcolo del valori di verità sia deducendole da altre con
passaggi logici o algebrici booleani, passiamo a porci alcuni problemi meta-
teorici sul linguaggio proposizionale.
p q r ?
0 0 0 1
0 0 1 1
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
75
Per le proprietà della valutazione della disgiunzione e congiunzione - che una
disgiunzione è vera se e solo se almeno un disgiunto è vero, e una congiunzione
se e solo se tutti i congiunti sono veri - e della negazione, si può facilmente
vedere procedendo al contrario che la tavola associata a questa proposizione
è uguale alla tavola data, che era la tavola di p ∨ q → ¬p ∧ (q → r). 2
A B A↑B
0 0 1
0 1 0
1 0 0
1 1 0
76
simbolo di elevamento a quadrato “x2 = x · x”, nell’algebra degli insiemi
“X \ Y = X∩ ∼ Y ”.
Ma il precedente risultato dice anche che gli stessi connettivi del lin-
guaggio proposizionale sono sovrabbondanti, perché {¬, ∧, ∨} è adeguato, e
neanche il più ridotto possibile. Quando un sistema adeguato è minimale,
nel senso che nessun suo sottoinsieme proprio è ancora adeguato, si chiama
una base, in analogia con le basi degli spazi vettoriali (si vedano gli esercizi).
Si ha che p ⊕ q risulta equivalente a (¬p ∧ q) ∨ (p ∧ ¬q), e p → q ≡
(¬p ∧ ¬q) ∨ (¬p ∧ q) ∨ (p ∧ q) e analogamente p ↔ q (esercizio).
Ognuna di queste equivalenze comporta l’eliminabilità del connettivo
definito, cioè che all’interno di una proposizione una sottoproposizione, ad
esempio della forma A → B, può essere rimpiazzata dalla proposizione equiv-
alente (¬A ∧ ¬B) ∨ (¬A ∧ B) ∨ (A ∧ B).
6.1.1 Esercizi
1. Dimostrare che {¬, ∧} e {¬, ∨} sono due basi di connettivi, definendo
la disgiunzione nel primo e la congiunzione nel secondo.
2. Dimostrare che {¬, →} è una base di connettivi.
3. Dimostrare che il connettivo “né . . . né” da solo costituisce una base,
definendo in termini di esso la negazione e la congiunzione.
4. Scrivere la funzione di verità del connettivo ↓ o nand, “non entrambe”,
o “non sia . . . sia”, e dimostrare che costituisce da solo una base di
connettivi.
5. Esaminare tutte le tavole di verità a una entrata, e spiegare perché non
esiste un connettivo per “è necessario che”.
6. Discutere se è possibile ripetere la trattazione di questo paragrafo con
⊕ al posto di ∨ (associare a ogni tavola una proposizione con ¬, ∧, ⊕
che abbia quella data come sua tavola di verità). L’insieme {¬, ∧, ⊕}
è adeguato? E {¬, ⊕}? E {⊕, ∧}?
77
sia o una lettera p, letterale positivo, o la negazione di una lettera ¬p, letterale
negativo.
La proposizione associata alla tavola ha dunque la forma di una disgiun-
zione di congiunzioni di letterali. Una tale forma di chiama forma normale
disgiuntiva. Poiché è evidente che
Teorema 6.2.1 Per ogni proposizione A esiste una proposizione con le stesse
lettere che è in forma normale disgiuntiva ed è logicamente equivalente ad A.
(¬p ∧ q) ∨ (p ∧ ¬q)
2
Vedi anche la nota 1 del paragrafo.
3
Questa disgiunzione nel testo è esclusiva.
78
ha due modelli, i1 (p) = 0 e i1 (q) = 1, e i2 (p) = 1 e i2 (q) = 0.
Tale possibilità di lettura sussiste peraltro anche per le forme normali
disgiuntive non regolari, considerando però 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ò 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.
Come sopra, risolvendo a parte anche il caso in cui nella tavola non ci
siano 0, si ha:
79
Teorema 6.3.1 Per ogni proposizione A esiste una proposizione con le stesse
lettere che è in forma normale congiuntiva ed è equivalente ad A.
Le forme normali, non necessariamente regolari, sono convenienti per verifi-
care in modo efficiente (alla sola scansione e ispezione della lista) la validità !!!
logica o l’insoddisfacibilità, ma ciascuna forma è adeguata solo per una delle
due proprietà.
Teorema 6.3.2 Una proposizione in forma normale congiuntiva è una tau-
tologia se e solo se in ogni sua clausola c’è una lettera che occorre sia positiva
sia negata.
Una proposizione in forma normale disgiuntiva è insoddisfacibile se e solo
se in ogni suo disgiunto c’è 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 è una tautologia, e una congiunzione
è 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ò 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
80
applicando le leggi distributive e la semplificazione delle tautologie (si noti
che la seconda proposizione non è in forma normale).
Come mostra l’esempio, esistono quindi diverse forme normali disgiuntive
(e lo stesso per le congiuntive) equivalenti a una data proposizione; si parlerà
perciò solo impropriamente della forma normale disgiuntiva (o congiuntiva)
di una proposizione A, ma si userà ugualmente tale dizione, intendendola a
meno di equivalenza logica; si chiamerà in tal modo una qualunque forma
normale disgiuntiva (o congiuntiva) che sia equivalente ad A4 , e si potrà
anche scrivere, se conveniente, dnf(A) (rispettivamente cnf(A)).
• eliminare ⊕, ↔ e →
81
forme congiuntive cosı̀ ottenute; se è ∨, e la proposizione è della forma A ∨ B,
è necessaria qualche preparazione.
Se in A non occorresse per nulla ∧, potremmo lavorare su B come detto
sotto, dopo aver fatto, per la precisione, lo scambio con B ∨ A. Possiamo
allora supporre che A sia della forma C ∧ D, perché se A a sua volta fosse
una disgiunzione C ∨ D, potremmo considerare al suo posto l’equivalente
C ∨ (D ∨ B) e andare a cercare ∧ in C, oppure in D dopo aver fatto lo
scambio con l’equivalente D ∨ (C ∨ B).
La proposizione data si trasforma allora nella equivalente (C ∨B)∧(D∨B)
e possiamo applicare ricorsivamente il procedimento alle due proposizioni più
corte C ∨ B e D ∨ B. Quando procedendo in questo modo si è eliminato il
connettivo ∧ a sinistra di B, si passa a lavorare nello stesso modo su B.
Esempio Da
(p → q) → (r ∨ ¬p)
¬(p → q) ∨ (r ∨ ¬p)
¬(¬p ∨ q) ∨ (r ∨ ¬p)
(¬¬p ∧ ¬q) ∨ (r ∨ ¬p)
(p ∧ ¬q) ∨ (r ∨ ¬p),
che è in forma normale disgiuntiva
(p ∧ ¬q) ∨ r ∨ ¬p
con due disgiunti unitari r e ¬p. Se invece si vuole la forma normale con-
giuntiva, si continua con
(p ∨ (r ∨ ¬p)) ∧ (¬q ∨ (r ∨ ¬p))
(p ∨ r ∨ ¬p) ∧ (¬q ∨ r ∨ ¬p)
che è in forma normale congiuntiva.
82
il secondo in
quindi la proposizione in
(p ∨ q) ∧ (¬q ∨ ¬p).
.
Non è detto che questo procedimento, che ha il merito di far vedere
la terminazione del compito, se lo si segue come filo d’Arianna, sia sem-
pre il più efficiente; può essere utilmente integrato con l’applicazione in
itinere dell’eliminazione delle ripetizioni, e con l’eliminazione delle tautolo-
gie 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 mi-
rare a una forma congiuntiva, si incontra una sottoproposizione della forma
(A ∧ B) ∨ (C ∧ B) che conviene rimpiazzare direttamente con (A ∨ C) ∧ B.
Le forme normali disgiuntive e congiuntive si trovano ai poli estremi di
uno spettro su cui si immagini di collocare le proposizioni misurando la loro
distanza con il numero di applicazioni delle proprietà distributive necessarie
per passare dall’una all’altra. Se si pensasse di decidere se una proposizione
in forma normale disgiuntiva è una tautologia applicando il teorema 6.3.2,
dovendola prima trasformare in forma congiuntiva, si affronterebbe un com-
pito non inferiore come complessità a quello di costruire la tavola di verità
completa (e forse più rischioso, se fatto a mano).
6.4 Esercizi
1. Scrivere la forma normale congiuntiva e disgiuntiva, usando le tavole
di verità, delle seguenti proposizioni:
(p ∨ q → r) ∧ ¬p ∧ ¬r
¬p → ¬(q → p)
(¬(p → q) ∨ ¬q) → p.
83
2. Per le proposizioni del precedente esercizio, trasformare la forma nor-
male disgiuntiva in quella congiuntiva e viceversa con l’algoritmo forma
normale.
84
relativamente facile ottenere cnf(¬A); ottenuta questa, la si nega e
si applica De Morgan; spesso si evita cosı̀ l’applicazione ripetuta delle
leggi distributive.
Errore frequente: lo studente ha trovato dnf(A) e per ottenere cnf(A) !!!
nega dnf(A) e applica De Morgan, ricordando malamente l’esercizio 8,
perché ottiene sı̀ una forma congiuntiva, ma quella della negazione:
cnf(¬A). È forse il residuo dell’idea di premettere due negazioni, us-
andone una per trasformare dnf in cnf con De Morgan: ¬¬dnf(A),
¬(¬dnf(A)), ¬cnf(¬A). Di quella esterna però ci si dimentica - se si
tenesse conto dell’altra negazione, una nuova applicazione di De Mor-
gan riporterebbe a dnf(A). Due negazioni consecutive non possono
creare nulla di nuovo.
85
7 Dimostrazioni
Esaminiamo ora alcune semplici dimostrazioni per mettere in luce quali leggi
logiche vengano utilizzate nei vari passaggi - e vedremom che tutte vengono
usate, quelle chiamate notevoli - approfittandone per fare una rassegna (in-
completa) delle diverse tipologie di argomentazione.
Lo scopo di questa trattazione non è quello di invitare a presentare sempre
le dimostrazioni con una pignola insistenza sui dettagli, quanto di insegnare
ad esporle (a sé e agli altri) attraverso un discorso chiaro e comprensibile;
quando si deve eseguire un passaggio logico, invece che un calcolo algebrico,
si incontrano spesso difficoltà di espressione, perché si ha a che fare con
una materia impalpabile, il linguaggio allo stato puro nelle sue articolazioni
sintattiche che sono indipendenti dall’argomento concreto in oggetto; ci si
accorge tuttavia con l’esperienza che la formulazione corretta e necessaria è
già disponibile per cosı̀ dire in una forma standard - e che non sono molti i tipi
di passaggi logici, al contrario sono quasi sempre gli stessi pochi ricorrenti.
Non è che nell’esposizione informale si saltino dei passaggi, come talvolta
si sente dire, è che si usano spesso forme linguistiche compatte, non familiari
a chi non è fluente nel parlare, ma tali forme sono valide, derivate da quelle
più semplici, e bisogna imparare ad usarle con disinvoltura dopo averne colto
la portata sezionandole su semplici esempi.
86
caso quello di divisibilità:
Def. 3|n se e solo se n = 3i per qualche i
e analogamente:
Def. 3|m se e solo se m = 3j per qualche j.
Il passo successivo sfrutta l’equivalenza delle definizioni per riformulare
l’ipotesi in1
Ip. n = 3i ∧ m = 3j.
Usiamo ora una legge che non è propriamente una legge logica dei tipo di
quelle che abbiamo finora considerato, ma è una legge dell’uguaglianza che
consideriamo universalmente vera in ogni universo (derivabile da quelle già
ricordate nel paragrafo 4.2).
2. n = 3i ∧ m = 3j → n + m = 3i + 3j.
Da 1 e da 2, con un’applicazione del modus ponens
3. n + m = 3i + 3j.
Di qui, si passa a n + m = 3(i + j), con una manipolazione algebrica diretta
delle uguaglianze. In verità questo passaggio suppone il riferimento ad un
fatto noto, valido nell’universo aritmetico che stiamo considerando, vale a
dire la proprietà distributiva:
4. n + m = 3i + 3j → n + m = 3(i + j);
è una nuova applicazione del modus ponens a 3 e 4 che fornisce
5. n + m = 3(i + j).
Dalla 5 si arriva alla conclusione voluta ripristinando le definizioni, per
mezzo di equivalenze, vale a dire scrivendo che, siccome n + m = 3k per
qualche2 k, in particolare per k = i + j, allora 3|(n + m), come si doveva
concludere.2
1
La scomparsa di “per qualche i” e di “per qualche j”, e la ricomparsa più avanti,
rientra nella manipolazione delle variabili, di cui si parlerà nella seconda parte del corso:
m, n, i, j sono variabili.
2
Vedi nota precedente.
87
Un’altra possibilità sarebbe stata quella di inserire, dopo
2. n = 3i ∧ m = 3j → n + m = 3i + 3j,
subito
4. n + m = 3i + 3j → n + m = 3(i + j)
e quindi, con un’applicazione della transitività del condizionale, da 2 e 4
6. n = 3i ∧ m = 3j → n + m = 3(i + j)
e la stessa conclusione di prima con il modus ponens da 1 e 6.2
p ∧ (p → q) → q
(p → q) ∧ (q → r) → (p → r),
p → q, q → r
.
p→r
88
separatamente sulle due affermazioni. Questo significa che da 3|n ∧ 3|m
si passa prima a 3|n con una mossa che è giustificata dalla legge logica
dell’eliminazione di ∧. Quindi da 3|n ↔ n = 3i e da 3|m ↔ m = 3j si
passa a 3|n ∧ 3|m ↔ n = 3i ∧ m = 3j con leggi del bicondizionale che si
verificano facilmente e che dovrebbero essere interiorizzate.
A questo scopo, si usa in particolare la legge della introduzione di ∧
nel conseguente, o distributività di → su ∧, oppure una legge derivata che
afferma che
(p → q) ∧ (r → s) → (p ∧ r → q ∧ s)
(esercizio).
Vale anche (esercizio):
(p → q) ∧ (r → s) → (p ∨ r → q ∨ s).
Un’altra regola che si può far rientrare nei procedimenti in avanti è quella
della affermazione del conseguente, che da p permette di dedurre q → p
qualunque sia q. Questa mossa merita un commento perché in sé sembrerebbe
un indebolimento ozioso di p. La sua funzione è quella di portare sotto
l’azione di ipotesi o fatti già stabiliti risultati che in verità non ne dipendono, !!!
ma che devono essere combinati con altri che ne dipendono.
Ad esempio si consideri la dimostrazione che se n è dispari allora anche
2
n è dispari. Se n = 2k + 1, allora si può fare appello a un prodotto notevole
per affermare
(2k + 1)2 = 4k 2 + 4k + 1,
n = 2k + 1 → (2k + 1)2 = 4k 2 + 4k + 1.
n = 2k + 1 → n2 = (2k + 1)2
89
n = 2k + 1 → n2 = 4k 2 + 4k + 1,
da cui segue poi n = 2k + 1 → n2 = 2h + 1, dispari, con h = 2k 2 + 2k.2
L’ultima cruciale implicazione si sarebbe anche potuta ottenere in un
altro modo; con una legge di sostitutività dell’uguaglianza:
n = 2k + 1 → ((2k + 1)2 = 4k 2 + 4k + 1 → n2 = 4k 2 + 4k + 1),
quindi, per la distributività si →
(n = 2k + 1 → (2k + 1)2 = 4k 2 + 4k + 1) → (n = 2k + 1 → n2 = 4k 2 + 4k + 1),
e infine la conclusione voluta con il modus ponens dalla stessa implicazione
di prima (n = 2k + 1 → (2k + 1)2 = 4k 2 + 4k + 1).2
L’affermazione del conseguente si sarebbe comunque potuta evitare del
tutto, qui e in geenrale con lo stesso trucco: dal caso particolare della sosti-
tutività dell’uguaglianza di sopra, si sarebbe potuto scrivere
(2k + 1)2 = 4k 2 + 4k + 1 → (n = 2k + 1 → n2 = 4k 2 + 4k + 1)
con la legge dello scambio degli antecedenti, e quindi applicare il modus
ponens con (2k + 1)2 = 4k 2 + 4k + 1.2
90
2. n = 3q o n = 3q + 1 o n = 3q + 2.
Ci sono ora tre possibilità: se r = 0, cioè n = 3q, allora siamo a posto
(cosı̀ si dice). Ma cosa significa questo rispetto all’enunciato del teorema? Il
teorema è implicato da n = 3q, ovvero da 3|n, perché
se Y ⊆ X e Z ⊆ X allora Y ∪ Z ⊆ X.
91
Ad esempio, per dimostrare che ogni numero reale non negativo ha una
radice quadrata si parte esplicitando il dato, un generico numero non nega-
tivo, scrivendo 0 ≤ x, quindi, per la relazione tra < e ≤, x = 0 ∨ x > 0.
I due casi si trattano in modo molto diverso; se x = 0 basta osservare che
0 è una radice di 0, e quindi questa esiste; se x > 0 occorre la descrizione di
un processo che genera il numero che è la radice di x, che comunque esiste
anche in questo caso; alla fine si applica tacitamente la distinzione di casi.2
Esercizio. Dimostrare e dire quali leggi logiche sono implicite nella di-
mostrazione del fatto che per ogni numero naturale n, n2 + n è pari.
Un caso particolare della distinzione dei casi si ha quando i due casi sono
del tipo p e ¬p, e sono introdotti come artificio ad hoc, e allora apparente-
mente si riesce a dimostrare un risultato che non dipende da ipotesi specifiche:
da p → A e ¬p → A e p ∨ ¬p → A segue A con il terzo eslcuso.
Supponiamo ad esempio di voler far vedere che ogni numero reale è minore
o uguale al suo valore assoluto; è da dimostrare
x ≤ |x|,
senza alcuna ipotesi su x, salvo che si tratta di un numero reale (fatto che
permette di richiamare tacitamente tutte le proprietà dei numeri reali). Ma
noi introduciamo l’alternativa
x < 0 ∨ x 6< 0,
come legge logica del tertium non datur , che si trasforma agevolmente (per
le proprietà di <, vedi oltre) in
x < 0 ∨ x ≥ 0.
Ora se x ≥ 0 allora x = |x|, quindi x ≤ |x|; se x < 0 ≤ |x|, allora x < |x|,
quindi x ≤ |x|.2
Esercizio. Dimostrare che per ogni numero reale x, |x| ≥ −x.
A volte sembra che si usi la distinzione di casi ma non è cosı̀, o meglio,
è anche cosı̀ ma c’è una spiegazione più breve. Ad esempio, consideriamo
l’argomento con cui si dimostra che per p primo, se p|(nm) allora p|n oppure
p|m.
La dimostrazione di solito inizia nel seguente modo: mostriamo che se p6 |n
allora p|m. (L’argomento matematico poi può continuare con un appello alla
92
fattorizzazione dei numeri naturali: data la scomposizione di nm in fattori
primi, tra essi compare p, ma raccogliendo quelli di n, p resta tra gli altri,
cioè tra quelli di m.)
Se richiesto di un chiarimento sull’impostazione della partenza, chi parla
probabilmente spiega: se p|n siamo a posto, se p6 |n allora . . . , con un’implicito
appello alla distinzione di casi.
Ma la spiegazione più semplice è che q ∨ r è equivalente a ¬q → r,
quindi p|(nm) → p|n ∨ p|m è equivalente a p|(nm) → (p 6 | n → p|m), e si
sta procedendo in modo diretto (e non c’è bisogno di dire “se p|n siamo a
posto”).
93
nel secondo caso il viceversa.
Diverse leggi logiche intervengono in queste dimostrazioni. Ad esempio
per dimostrare la proprietà riflessiva di ≤, a partire dalle proprietà di <, si
nota che
x = x → x = x ∨ x < x,
per la legge dell’introduzione di ∨ a partire dalla legge logica dell’identità
x = x → x = x e quindi si ottiene la conclusione con il modus ponens da
x = x che si assume sempre valida per l’uguaglianza. In questa dimostrazione
quindi non intervengono proprietà di <.2
Per dimostrare la proprietà dell’ordine totale per ≤, a partire dalle pro-
prietà di <, si dimostra, sfruttando la mutua definibilità dei connettivi
l’equivalente
x 6≤ y → y ≤ x.
A tal fine si osserva che x 6≤ y è equivalente, per la definizione di ≤, a
x 6< y ∧ x 6= y,
per una delle leggi di De Morgan. Ma con la proprietà di ordine totale di <
e due applicazioni del sillogismo disgiuntivo (precedute da un’eliminazione
di ∧) x 6< y e x 6= y forniscono y < x che con l’introduzione del ∨ diventa
y ≤ x:
x 6< y ∧ x 6= y
x 6< y
x 6= y
x<y∨x=y∨y <x
x=y∨y <x
y<x
y < x ∨ x = y.2
94
come x < 0 ∨ x = 0 ∨ x > 0, è la proprietà di ordine totale di <, e non
ci sarebbe stato bisogno di derivarla facendo appello al tertium non datur e
alla distinzione di casi, come abbiamo fatto prima.
Il fatto è che la proprietà di ordine totale di < equivale proprio a ripartire
il dominio in tre insiemi disgiunti. Quando si ha il dominio ripartito in n
insiemi disgiunti si possono seguire due vie equivalenti e difficilmente distin-
guibili. Si può usare la distinzione di casi (generalizzata a n), oppure si può
usare ripetutamente il terzo escluso e il sillogismo disgiuntivo.
Un altro esempio che abbiamo visto di uso del sillogismo disgiuntivo è la
dimostrazione della legge booleana
21 X ∪∅=X
Dimostrazione X ⊆ X ∪ ∅ segue da un’altra legge già vista, la 25;
viceversa, se x ∈ X ∪ ∅ allora x ∈ X ∨ x ∈ ∅; ma x 6∈ ∅, quindi x ∈ X.
(p → q) ↔ (¬q → ¬p)
P ∪ Q = ∼ (∼ P ∩ ∼ Q)
si considera il bicondizionale
x ∈ P ∪ Q ↔ x ∈ ∼ (∼ P ∩ ∼ Q)
95
e prima si assume x ∈ P ∪ Q derivando x ∈ ∼ (∼ P ∩ ∼ Q) (esercizio; si noti
l’applicazione della distinzione di casi), quindi per l’implicazione inversa si
assume x 6∈ P ∪ Q e si deriva x ∈∼ P ∩ ∼ Q, dimostrando cosı̀ di fatto
x ∈ P ∪ Q ← x ∈ ∼ (∼ P ∩ ∼ Q) !!!
attraverso
x 6∈ P ∪ Q → x ∈ ∼ P ∩ ∼ Q,
come richiesto.2
La legge di contrapposizione giustifica anche la regola del modus tollens
che si schematizza con
p → q, ¬q
¬p
che si può vedere come un modus ponens applicato al condizionale ¬q → ¬p,
equivalente a p → q, e che ha le applicazioni più varie.
Un esempio dovuto a Lewis Carroll è il seguente argomento:
a) I bambini sono illogici.
b) Le persone che sanno come trattare i coccodrilli non sono disprezzate.
c) Le persone illogiche sono disprezzate.
d) Perciò i bambini non sanno trattare i coccodrilli.
L’argomento è valido in quanto la conclusione d) segue dalle premesse con
questi passaggi: da b) e c) per modus tollens si ha che le persone illogiche
non sanno come trattare i coccodrilli; quindi la conclusione segue da questo
e da a) per transitività.
96
Se n divide (n − 1)! + 1 allora n è primo6 ,
la cui conclusione che n è primo dimostriamo provando che p non divide n
per ogni p < n7 . Ovviamente consideriamo p > 1.
L’ipotesi è n|((n − 1)! + 1). Osserviamo innanzi tutto che se p < n allora
ovviamente p|(n − 1)!. Questa condizione su p resta adesso fissata per tutto
il ragionamento, o meglio p < n implica tutte le affermazioni seguenti.
Ricordiamo il fatto noto che
a|b ∧ a|(b + c) → a|c
e contrapponendo
a6 | c → a6 | b ∨ a6 | (b + c).
Come caso particolare
p 6 | 1 → p 6 | (n − 1)! ∨ p 6 | ((n − 1)! + 1).
Ma p 6 | 1, quindi
p 6 | (n − 1)! ∨ p 6 | ((n − 1)! + 1).
Ma p|(n − 1)!, quindi p 6 | ((n − 1)! + 1) per il sillogismo disgiuntivo.
La conclusione parziale di questa prima parte diretta della dimostrazione
è che, per p < n,
p 6 | ((n − 1)! + 1).
Ora dobbiamo provare che p non divide n, e lo facciamo per assurdo.
Assumiamo p|n. Siccome per ipotesi n|((n − 1)! + 1), se p|n avremmo per
la transitività della relazione di divisibilità che p|((n − 1)! + 1), una con-
traddizione con la conclusione della parte precedente della dimostrazione.
Dunque p6 | n.2
Osservazione: Torniamo un momento indietro a vedere come funziona la
condizione p < n che abbiamo usato nel corso della dimostrazione, dicendo
che implicava tutte le successive affermazioni. Nella prima parte, quando
abbiamo detto sopra “Ma p|(n − 1)!, quindi p 6 | ((n − 1)! + 1) per il sillo-
gismo disgiuntivo”, ci siamo espressi in modo corretto ma abbreviato; ci sono
almeno tre modi in cui esplicitare le leggi logiche che intervengono.
Primo modo. Noi in realtà avevamo che
6
L’operazione “fattoriale” n! è definita da n! = 2 · 3 · . . . · n. Si veda il paragrafo 15.
7
Tale formulazione ristretta è equivalente alla definizione di primalità perché i divisori
di un numero sono minori del numero stesso. Anzi basterebbe di meno (esercizio).
97
p 6 | (n − 1)! ∨ p 6 | ((n − 1)! + 1)
e inoltre
p < n → p|(n − 1)!,
ovvero quest’ultima e
p|(n − 1)! → p 6 | ((n − 1)! + 1).
Allora per la transitività del condizionale si ha
p < n → p 6 | ((n − 1)! + 1).
Secondo modo. Da
p|(n − 1)! → p6 | ((n − 1)! + 1).
con l’affermazione del conseguente si ha
p < n → (p|(n − 1)! → p 6 | ((n − 1)! + 1)).
e con
p < n → p|(n − 1)!,
e la distributività di → si arriva alla stessa conclusione.
Terzo modo. E’ quello che di fatto è stato usato. Il sillogismo disgiuntivo
è sempre valido anche relativizzato a una (stessa) condizione che implica le
due premesse e la conclusione:
p → q, p → ¬q ∨ r
p→r
e la dimostrazione si può fare in generale come nel secondo modo di sopra.2
La più famosa
√ dimostrazione per assurdo della storia è quella della ir-
razionalità di 2, che non faremo il torto di presentare (esercizio).
Una contraddizione è normalmente un enunciato della forma q ∧ ¬q, op-
pure due enunciati q e ¬q, ottenuti separatamente8 , q qualunque perché tutte
8
Se si sono dedotti, separatamente, dalle stesse premesse, q e ¬q, si può derivare es-
plicitamente q ∧ ¬q, ad esempio con due applicazioni del modus ponens alla legge logica
q → (¬q → q ∧ ¬q), che a sua volta deriva dalla legge dell’identità q ∧ ¬q → q ∧ ¬q e dalla
legge di esportazione.
98
le contraddizioni sono equivalenti tra loro (per ex falso quodlibet da una di
esse si può dedurre qualunque enunciato).
A volte si dice che certi enunciati, come 0 = 1, sono un assurdo, o una
contraddizione in sé, ma in realtà non esistono contraddizioni in sé; la formula
0 = 1 è una contraddizione solo perché tra gli assiomi o i fatti noti si ha
già 0 6= 1. Se da p si deduce 0 = 1, allora da 0 6= 1, per l’affermazione del
conseguente si ha anche p → 0 6= 1, e ci si riporta alla contraddizione classica
p → q ∧ ¬q. Lo stesso con altre formule.
Ad esempio, dimostriamo che per √ verificare se n√è primo basta provare a
dividerlo per i primi che sono ≤ b n c, dove con b n c indichiamo la parte
intera9 della radice quadrata di n. Supponiamo che tutti questi primi non
dividano n, e dimostriamo che allora n è primo. Supponiamo per assurdo √
che n non sia primo; allora n è un prodotto di primi tutti maggiori di b n c,
prodotto che è maggiore di n, e si avrebbe n < n, assurdo10 .2
La riduzione all’assurdo debole non è più debole, ma solo un caso speciale
della riduzione all’assurdo, in cui partendo da p si arriva a ¬p, ma anche a
p, e allora la contraddizione è data da p ∧ ¬p e la conclusione è la negazione
della premessa, cioè ¬p. Nel caso particolare in cui si parte da ¬p e si arriva
a ¬¬p, per la legge della doppia negazione si può concludere p, e questa legge
(¬p → p) → p,
N = 1 + (2 · 3 · 5 · . . . · pk−1 )
99
è un nuovo primo; se N non è primo, è divisibile per un primo maggiore
dei p0 , p1 , . . . , pk−1 , e in entrambi i casi non è vero che i numeri primi sono
tutti i {p0 , p1 , . . . , pk−1 }, o che ne esistono solo k. Quindi non esistono solo
k primi.211
Una riduzione all’assurdo si può vedere anche quando si applica il modus
tollens; infatti avendo p → q e ¬q si può dire che se si avesse p, si avrebbe
per modus ponens anche q, cioè insieme a ¬q una contraddizione; quindi ¬p.
Più esplicitamente, da ¬q segue p → ¬q per la legge di affermazione del
conseguente, quindi si ha sia p → q sia p → ¬q e si applica la riduzione
all’assurdo.
Viceversa la riduzione all’assurdo si può derivare dalla contrapposizione,
perché da p → q ∧ ¬q contrappondendo si ha ¬q ∨ q → ¬p, e q ∨ ¬q è la legge
del tertium non datur .
Alcune dimostrazioni per assurdo possono dunque essere sostituite da
applicazioni della contrapposizione.
Ad esempio, si consideri la dimostrazione del fatto che se b e c sono interi
e se l’equazione x2 + bx + c = 0 ha soluzioni razionali, queste in realtà sono
intere. Una dimostrazione in cui si usa la riduzione all’assurdo è la seguente.
Si parte da
√
−b ± b2 − 4c
x=
2
e si osserva che per essere x intero occorre che il numeratore, intero per
ipotesi, sia pari. Per dimostrare che il numeratore è pari, essendovi un radi-
cale che non è facile decidere che proprietà abbia, viene in mente di consid-
erare il quadrato.
Abbiamo prima dimostrato che se un numero è dispari, il suo quadrato è
dispari. Se vogliamo (provare a) fare uso di questo fatto, possiamo impostare
una dimostrazione per assurdo, assumendo che il numeratore sia dispari.
Allora il suo quadrato è dispari. Ma svolgendo i conti, si vede facilmente che
il quadrato è della forma 2m, cioè pari. Dunque che il numeratore sia dispari
implica una contraddizione, e il numeratore è pari.2
11
La complicazione dell’argomento è dovuta anche alla complicazione della formulazione
dell’enunciato di partenza, un po’ artificiosa. Se si fosse detto semplicemente che si in-
tendeva dimostrare: dati k primi, ne esiste uno maggiore, si sarebbe potuto fare una
dimostrazione diretta.
100
Altrimenti, ricordando sempre l’implicazione già dimostrata “n dispari
→ n2 dispari”, si può inserire la contrapposizione “n2 pari → n pari”, che
termina con la conclusione desiderata, e provare a dimostrare che il quadrato
del numeratore è pari. Elevando al quadrato e facendo i conti, si vede che
questo in effetti è il caso.2
Consideriamo un altro esempio. Per dimostrare che, per a e b razionali
o reali, se ab = 0 allora o a = 0 o b = 0, si può per assurdo negare il
condizionale, e quindi supporre che
ab = 0 e a 6= 0 e b 6= 0,
ab = 0 → b = 0
ab = 0 → a = 0 ∨ b = 0
101
7.6 Dimostrazioni in avanti e all’indietro
Una distinzione che viene fatta tra possibili impostazioni delle dimostrazioni
è quella tra il procedere in avanti (forwards), a partire dalle ipotesi, verso
la conclusione oppure nel risalire indietro (backwards), dalla conclusione a
enunciati che implichino la conclusione, con l’obiettivo di arrivare tra questi
alle ipotesi.
La distinzione non coincide esattamente con quella tra le dimostrazioni
dirette e le altre, anche se vi sono collegamenti; la scelta tra le due strategie
dipende spesso dalla forma delle ipotesi e della conclusione, o dalle conoscenze
che si hanno a proposito delle ipotesi stesse e di altri fatti connessi alla
possibile conclusione.
Se la conclusione è un enunciato negativo, l’idea di una dimostrazione
per assurdo o per mezzo della contrapposizione è plausibile, anche se non
garantita. Ma ci sono altri motivi per scegliere questa strategia.
Ad esempio, per dimostrare che
2n − 1 = (2h )k − 1 = mk − 1 = (m − 1)(mk−1 + . . . + 1)
1
x+ ≥ 2,
x
se x > 0, conviene partire dalla disuguaglianza da dimostrare, e compiere su
di essa manipolazioni algebriche che forniscono espressioni algebriche equiv-
alenti, fino ad arrivare ad un risultato noto che vale per ogni x > 0.
102
x2 + 1
≥2
x
x2 − 2x + 1
≥0
x
(x − 1)2
≥ 0,
x
vero per la regola dei segni. 2
Quando come in questo caso e in molti altri si usano equivalenze, nelle
dimostrazioni all’indietro, bisogna fare attenzione a non perdere il senso della
direzione13 . Qui l’ipotesi è x > 0 (oltre al fatto che x è un numero reale,
o razionale) e si risale dall’ultima disuguaglianza alla prima che si doveva
dimostrare. La dimostrazione è diretta, ma all’indietro.
Nel caso delle trasformazioni algebriche il fatto che il legame sia quello
dell’equivalenza permette di andare sia avanti che indietro, il che è comodo
perché in genere non è facile divinare enunciati validi che implichino la con-
clusione voluta - per lo meno non ci sono criteri generali.
Gli esempi aritmetici di questo paragrafo sono stati di necessità molto
semplici, perchè la maggior parte dei teoremi aritmetici si dimostrano con
una tecnica dedicata, l’induzione, che vedremo nel paragrafo 15.
13
I greci chiamavano analisi il processo per cui un problema, o un enunciato da di-
mostrare, era ricondotto ad altri di cui la soluzione era nota, e sintesi il processo inverso
di controllo, con cui dalla soluzione dei problemi noti si ricavava la risposta a quello dato;
alcune oscurità delle loro descrizioni del metodo si chiariscono se si considera che essi
pensavano soprattutto ad equivalenze.
103
8 Alberi di refutazione
8.1 Il metodo
La risposta alle domande semantiche, sulla verità logica o sulla insoddisfaci-
bilità delle proposizioni, si può dare con metodi più efficienti della ricerca
esaustiva offerta dalla costruzione delle tavole di verità, che è di complessità
esponenziale. Uno di questi è il metodo degli alberi di refutazione 1 . Il nome
deriva dal fatto che sono usati, per rispondere alla domanda sulla verità
logica, secondo l’impostazione della ricerca del controesempio: si cerca di
scoprire se esiste un’interpretazione che falsifichi la proposizione. Il metodo
ha la proprietà che o la trova, se esiste, e quindi fornisce un’interpretazione
in cui la negazione della proposizione è vera (controesempio: la proposizione !!!
è falsa) oppure mostra che non è possibile che esista, e quindi la proposizione
è una tautologia.
Più in generale, il metodo serve a stabilire se esista o no un’interpretazione
che soddisfa una proposizione composta, non partendo dal basso dalle possi-
bili interpretazioni delle lettere (bottom up) ma dall’alto, dalla proposizione
data, scendendo verso le sottoproposizioni componenti (top down); nel pro-
cesso, si accumulano condizioni necessarie che l’ipotetica interpretazione, se
esiste e soddisfa la radice, dovrebbe pure soddisfare - nel senso di quali
altre proposizioni essa dovrebbe soddisfare o no - fino alle condizioni nec-
essarie riguardanti le proposizioni atomiche; queste, se non sono incom-
patibili tra di loro, si traducono in condizioni sufficienti per la definizione
dell’interpretazione.
Gli alberi di refutazione possono dunque essere usati anche per rispondere
alle altre domande semantiche, ad esempio quella sulla soddisfacibilità.
Si chiamano in generale calcoli logici i metodi per rispondere ai quesiti
logici sulla verità, l’insoddisfacibilità, la conseguenza, metodi che sono pro-
cedure 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. Identi-
fichiamo per comodità di scrittura i nodi con le loro etichette. Nella radice
è una proposizione, di cui si vuole sapere se esiste un modello. L’albero è
1
Altri nomi usati, insieme a qualche variante di presentazione, sono quelli di alberi
semantici , oppure di tableaux semantici.
104
sviluppato secondo la seguente procedura.
Ad ogni stadio, si saranno già prese in considerazione alcune proposizioni,
messe tra parentesi quadre o segnate con un asterisco, e ne resteranno da
considerare altre. Se sono già state considerate tutte, l’albero è terminato;
se no, si prende in esame una proposizione A non ancora considerata, e a
seconda della sua forma si prolunga l’albero nel modo seguente, dopo aver
segnato A e aver notato quali sono i rami non chiusi che passano per A, dove
un ramo si dice chiuso se su di esso occorre sia una proposizone sia la sua
negazione:
105
• Se A è 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 C
[¬¬C]
..
.
↓
F
↓
C
106
B1 e ¬B2 , come nello schema:
[¬(B1 → B2 )]
..
.
↓
F
↓
B1
↓
¬B2
[¬(B1 ∧ B2 )]
..
.
↓
F
. &
¬B1 ¬B2
Ovviamente se per il nodo in considerazione non passa alcun ramo non chiuso,
non si fa nulla. Dalla formulazione è chiaro che quando tutti i rami sono
chiusi il procedimento termina, anche se non tutte le proposizioni sono state
considerate, e in tal caso l’albero si considera terminato e si dice chiuso.
Non diamo le regole per il bicondizionale (esercizio) perché non sarebbero
altro che l’adattamento di quelle che derivano dal fatto che p ↔ q è equiva-
lente a (p → q) ∧ (q → p). Lo stesso per ⊕, ma si preferisce eliminare prima
questi connettivi (comunque si diano le regole per ⊕ esercizio), e questa è
l’unica preparazione o trasformazione che si fa sulle proposizioni; altrimenti
si prendono cosı̀ come sono. !!!
107
Esempio
1. Consideriamo la proposizione ¬((¬p ∨ q) ∧ p → q) che mettiamo nella
radice dell’albero
¬((¬p ∨ q) ∧ p → q)
[¬((¬p ∨ q) ∧ p → q)]
↓
[(¬p ∨ q) ∧ p]
↓
[¬q]
↓
[¬p ∨ q]
↓
p
. &
¬p q.
108
Non è neanche necessario indicare che si sono presi in considerazione le
restanti proposizioni, perché il loro effetto è nullo. L’albero è chiuso, perché
su uno dei sue due rami occorrono p e ¬p, e sull’altro occorrono q e ¬q.
Se si deve interpretare come è stato ottenuto un albero sviluppato, è di
aiuto che sia segnato a fianco di ogni proposizione l’ordine in cui è stata presa
in considerazione, come in
[¬((¬p ∨ q) ∧ p → q)]1
↓
[(¬p ∨ q) ∧ p]2
↓
[¬q]3
↓
[¬p ∨ q]4
↓
p
. &
¬p q.
Esempio
109
dove il ramo di destra con foglia ¬q non è sviluppato con
¬q
. &
¬¬p ¬q
come dovrebbe essere per il lavoro su ¬(¬p ∧ q), perché il ramo è già chiuso;
il ramo di sinistra non è prolungato con
¬¬p
↓
p
110
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 è terminato prima per la chiusura
dell’albero. 2
ci si può porre come problema semantico sia il problema della verità log-
ica sia il problema dell’insoddisfacibilità. Un calcolo si può pensare sia
come calcolo per stabilire la verità logica sia come un calcolo per stabilire
l’insoddisfacibilità. Scegliamo il metodo degli alberi di refutazione per il
problema dell’insoddisfacibilità, e come risposta preferenziale affermativa la
chiusura dell’albero (un esito in generale più rapido e che non richiede ulte-
riori elaborazioni); abbiamo allora
111
ancora considerata (se non ce ne sono, il lavoro su quel ramo è terminato
senza che esso sia chiuso, e tale rimane alla fine, e l’albero finale non è
chiuso). Se B è una congiunzione, al ramo sono aggiunti due nodi che sono
anch’essi etichettati con proposizioni vere in i, e il ramo prolungato soddisfa,
allo stadio successivo, la proprietà richiesta. Se B è una disgiunzione B1 ∨B2 ,
o il ramo3 σ _ B1 o il ramo σ _ B2 soddisfano la proprietà richiesta, a seconda
che B1 o B2 siano vere in i. Lo stesso vale per gli altri casi (esercizio). 2
Viceversa
Lemma 8.2.5 Se l’albero non si chiude, allora per ogni ramo non chiuso
e terminato esiste un’interpretazione i che soddisfa tutti le proposizioni del
ramo, inclusa la radice.
Se in un ramo terminato non chiuso manca una lettera che occorre nella
radice, nel definire l’interpretazione si può dare ad essa il valore che si vuole;
ciò significa che al ramo è associata più di una interpretazione.
3 _
σ B1 è il ramo prolungato con B1 ; la notazione è quella della concatenazione di liste.
112
L’esito complessivo dei teoremi di correttezza e completezza è che il
metodo degli alberi prende in esame tutte le possibili strade per provare
a definire interpretazioni, e se ce ne sono le fornisce tutte, e se non ce ne sono
lo rivela.
La dimostrazione delle proprietà di correttezza e completezza non prende
in considerazione l’ordine in cui si sviluppa l’albero. Il procedimento degli
alberi di refutazione si può rendere deterministico fissando un ordine progres-
sivo per le proposizioni introdotte e quelle da prendere in considerazione ma
proprio il fatto che la dimostrazione è indipendente dall’ordine permette di
vedere che la risposta dell’albero e le sue proprietà non dipendono dall’ordine
eventualmente fissato; lavorare su una proposizione prima che su di un’altra
può modificare l’albero ma non la risposta finale; ogni mossa dipende solo
dalla proposizione in considerazione e non dalle altre presenti in altri nodi.
Si può sfruttare questa circostanza (oltre che come si è fatto nella di-
mostrazione della terminazione) per formulare utili regole euristiche, come
quella di prendere in esame prima le proposizioni che si limitano ad allungare !!!
i rami e non introducono diramazioni.
Riassumendo
113
↓
A
↓
¬B
A
↓
¬B
se interessa la domanda A |= B.
114
L’albero non è chiuso e la forma normale disgiuntiva della radice è (¬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ò coincide con la
prima; rami diversi non danno necessariamente interpretazioni diverse. La !!!
proposizione non è una tautologia in quanto manca l’interpretazione i(p) =
i(q) = 0 tra i suoi modelli.
8.4 Esercizi
1. Verificare con gli alberi di refutazione le leggi logiche del paragrafo
3.3.3.
115
(p ∧ q) ∨ (¬p ∧ q) ∨ ¬q.
116
9 Variabili e quantificatori
Finora abbiamo considerato le variabili solo in relazione a formule contenenti
una variabile x, a cui abbiamo associato, in ogni universo U , un insieme
di verità. La variabile sembrerebbe un elemento alieno del linguaggio che
compare solo nei simbolismi matematici, ma non è cosı̀.
Gli insiemi di verità si incontrano invero quasi solo in matematica, dove è
proprio tipico lo studio di insiemi definibili. Ad esempio dopo aver introdotto
la definizione dei numeri primi ci si chiede come è l’insieme dei numeri primi
(risulta che è infinito), si elaborano algoritmi per trovare i suoi elementi, se
ne studiano sottoinsiemi.
Tuttavia la definizione dei numeri primi - in simboli x > 1 ∧ (y |x → y =
1 ∨ y = x) - si può dare a parole: un numero è primo se è maggiore di 1 e un
numero che lo divide è o 1 o il numero stesso. Il ruolo della variabile x è svolto
da “un numero”. Veramente nella definizione compare anche il riferimento
ad y, con qualche ambiguità nella frase in italiano, per la doppia occorrenza
di “un numero”, che tuttavia non è fonte irrimediabile di confusione, grazie
alle potenzialità espressive dei linguaggi naturali, che hanno altre soluzioni.
L’uso delle variabili corrisponde alla funzione nel linguaggio di diverse parole
come “uno”, “chiunque”, “ogni, “qualche” e simili.
I pronomi servono a formare nuove frasi collegando frasi che hanno un
riferimento in comune; nella frase “se uno ha un amico, è fortunato” si in-
dividuano due proposizioni componenti “uno ha un amico” e “è fortunato”.
La seconda frase non presenta il soggetto, ma s’intende che è lo stesso della
prima; si può ripetere (“uno è fortunato”) oppure più spesso, in altri casi, si
deve precisare, con un indicatore che faccia capire più esplicitamente che il
soggetto è lo stesso (ad esempio “egli”, “colui”, e simili).
Nella seconda di due frasi, il soggetto della prima può apparire come
oggetto, come in “se uno è generoso, di lui tutti dicono bene”.
Anche per questo tipo di parti del discorso, si hanno molte versioni equiv-
alenti, ciascuna con i suoi vantaggi e la sua convenienza, ad esempio “chi-
unque abbia un amico è fortunato”, “coloro che hanno un amico sono for-
tunati”; talvolta addirittura basta un’unica frase indecomponibile, come “i
generosi sono lodati” per “coloro che sono generosi sono lodati”1 .
Nei linguaggi simbolici moderni il ruolo dei pronomi è svolto appunto
1
La possibilità di questa espressione è all’origine di una diversa analisi del linguaggio,
che ha portato alla prima logica formale della storia, nell’opera di Aristotele, come vedremo
trattando i sillogismi.
117
dalle variabili: “se x ha un amico, x è fortunato”. L’uso delle variabili o
della loro versione con pronomi presenta tuttavia aspetti delicati.
Nella frase “se uno ha un amico, uno è fortunato” - oppure “se x ha
y come amico, x è fortunato” - ci sono due tipi di “uno”, il primo “uno”
soggetto, presente tacitamente anche come soggetto di “è fortunato”, e il
secondo “un” di “ha un amico”2 . Il primo “uno” significa “chi”, “chiunque”,
il secondo significa “qualche”. La stessa parola “uno”, e le corrispondenti
variabili x e y possono cioè avere sia un senso universale che uno particolare.
Anche se il senso della frase è ovvio, si può dire meglio “chiunque abbia
qualche amico è fortunato”. La varietà di costrutti linguistici disponibili
ha la funzione di evitare possibili ambiguità in altre frasi di non immediata
decifrazione.
Un esempio di frase ambigua, se presa isolatamente, è “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.
L’uso delle variabili da sole non risolve le ambiguità, anzi le potrebbe
accrescere, se vengono a mancare le differenze di significato dei pronomi
specifici; in “se x ha y come amico, x è fortunato”, se y fosse presa in senso
universale, come la x, allora la frase significherebbe che chi è amico di tutti
è fortunato, che è discutibile, piuttosto è un santo.
La stessa analisi si può svolgere sul precedente esempio della definizione
di numero primo.
Un altro esempio è il seguente: nelle due frasi di argomento aritmetico
“un numero” è da intendersi in modo diverso; nel primo caso l’unico numero
con quella proprietà è 1, e la frase potrebbe essere una sua descrizione es-
trapolata dal contesto, o un indovinello: “quale è . . . ?”; nel secondo caso
“un numero” significa “qualunque numero”.
2
Non c’è differenza tra “uno” e “un”; si potrebbe dire in entrambi i casi “una persona”,
ristabilendo l’uniformità. A seconda del contesto, “uno” può essere reso da “una cosa”,
“uan persona”, “un numero”, “un Tizio” e simili varianti inessenziali.
118
La differenza si coglie se si formalizza, la prima frase con x · x = 1 e la
seconda con x + (−x) = 0, ma non basta, si devono considerare gli insiemi di
verità. L’insieme di verità di x · x = 1 è {−1, 1}, mentre l’insieme di verità
della seconda formula è dato da tutti i numeri.
Tuttavia usare la x e calcolare gli insiemi di verità per capire il senso
richiede del lavoro, e spesso non è nemmeno sufficiente.
Supponiamo di stare ragionando su questioni di aritmetica, e di voler ad
esempio dimostrare che
Questa abbiamo visto che è una delle funzioni delle variabili3 , quella di indi-
care un elemento generico. Quindi occorre sostituire i termini tecnici con le
loro definizioni, continuando con
119
ma le variabili non rendono la duttilità delle parole che indicano se si parla
di uno, qualcuno o tutti. S’impone di nuovo una standardizzazione, nei
linguaggi formali.
Si introducono due simboli che si chiamano quantificatori , rispettivamente
universale ∀ ed esistenziale ∃, e questi segni si premettono alle formule con
variabili per segnalare che, nel loro raggio d’azione determinato dalle par-
entesi, le variabili stesse devono essere intese nel senso di “tutti” ovvero nel
senso di “qualcuno”.
La frase precedente diventa allora
Vero è che questi segni devono essere eliminati per svolgere le dimostrazioni
che richiedono manipolazioni algebriche di formule, e si dovrà arrivare a
x = 2y → x + 1 6= 2z,
120
quantificatori nel modo corretto; non è lecito ometterne alcuni; la definizione
di “x è primo” è
o più esplicitamente
121
10 Linguaggi predicativi
10.1 Alfabeto
Le frasi elementari nel linguaggio naturale sono di diverso tipo, ma in tutte
si può individuare un soggetto, un verbo e un complemento (eventualmente
più soggetti e più complementi, o nessuno). I verbi possono essere transitivi
o intransitivi, ed esprimere azioni o stati.
Si possono tutti standardizzare nella forma della attribuzione di una pro-
prietà, o di un predicato, o di uno stato a uno o più termini. Questo cor-
risponde se si vuole 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: “Giovanni dorme” può diventare “Giovanni ha la
proprietà (la caratteristica) di stare dormendo”, o “Giovanni è dormiente”;
“Giovanni sta dormendo” significa che Giovanni è nello stato di sonno; “Gio-
vanni possiede un Piaggio 50” diventa “la relazione di possesso sussiste tra
Giovanni e un Piaggio 50”, o meglio “la relazione di possesso sussiste tra
Giovanni e una cosa, e questa cosa è un Piaggio 50”; “Giovanni ama Maria”,
cosı̀ come “Maria è amata da Giovanni”1 , vuol dire che la relazione di amore
sussiste tra Giovanni e Maria (ma non necessariamente tra Maria e Giovanni,
perché la relazione di amore non è simmetrica).
Le frasi matematiche elementari, uguaglianze e disuguaglianze, “è uguale
a”, “è minore di”, rientrano in questa tipologia. Cosı̀ quelle insiemistiche con
“appartiene a”, cioè “è un elemento di”.
I soggetti e gli oggetti non sono denotati solo da nomi propri, ma anche da
descrizioni, o da pronomi. Ad esempio oltre ai nomi propri, come “Giovanni”
e “2”, si possono avere descrizioni come “il padre di Giovanni”, “il presidente
della Repubblica”, “la radice quadrata di 2”. Tali descrizioni coinvolgono
funzioni, quando sono univoche, come nei precedenti esempi2 . Chiamiamo
funzione “il padre di . . . ” in analogia a quello che è “la radice di . . . ”.
Si introducono perciò simboli per designare predicati, e altri per costruire
termini, che corrispondono alle descrizioni. Useremo preferibilmente le lettere
P , Q, R, . . . per predicati, le lettere f , g, . . . per funzioni, le lettere a, b,
c, . . . per costanti (corrispondenti dei nomi propri), le lettere x, y, . . . per
variabili, con o senza indici.
1
La distinzione tra forma attiva e passiva è inessenziale.
2
Per “padre” non è un controesempio alla funzionalità la famosa Lola, figlia di cento
padri e una madre sola.
122
Tuttavia la rappresentazione grafica dei simboli non è rigida, per comodità
di traduzione si possono anche usare altre lettere, come le iniziali delle parole
italiane (A per “essere amici”), o addirittura complessi di lettere o parole
intere, magari in caratteri particolari, come amici(x, y).
Quando non si ha una funzione che indica un individuo, come in “il figlio
di Tizio” - a meno che non si sappia che Tizio ha un solo figlio - la descrizione
non è univoca; sarebbe meglio dire “uno dei figli di Tizio”, e si può prevedere
che l’espressione corretta richieda giri di frase più complicati, con variabili
(“uno”), che sono tuttavia possibili con un alfabeto del tipo descritto: “figlio
di . . . ” è una relazione. Una frase come “Maria ama un figlio di Giovanni”
diventa “Maria ama uno , e quest’uno è figlio di Giovanni”.
Per ottenere i linguaggi predicativi, all’alfabeto costituito dai connettivi
e dalle parentesi si aggiungono dunque le variabili, con i due quantificatori,
e simboli di predicato, di funzione e di costante. Le variabili sono disponibili
in quantità illimitata, anche se ogni volta se ne utilizzeranno solo un numero
finito. Gli altri simboli differiscono da linguaggio a linguaggio, possono an-
che mancare, anche se almeno un simbolo di predicato deve sempre essere
presente.
P (t1 , . . . , tn )
123
Quando si trattano argomenti matematici, si usano le convenzioni a cui
si è abituati, di scrivere i simboli delle operazioni usuali4 in mezzo ai termini,
laddove la notazione funzionale preferisce mettere il simbolo di funzione da-
vanti; la stessa notazione infissa si adotta per le relazioni =, < e ≤.
Esempio Supponiamo di avere una costante 0 e un simbolo funzionale a
un argomento, indicato con 0 ; scriveremo x0 per 0 (x) e quindi x00 per (x0 )0 , . . .
I termini sono
0, x, y, . . . per tutte le variabili
0 0 0
0 , x , y , ...
000 , x00 , y 00 , . . .
...
L’insieme degli infiniti termini può essere enumerato in una successione unica,
ad esempio
0, 00 , x, 000 , x0 , y, 0000 , x00 , y 0 , z, . . .
Il criterio che guida l’enumerazione è quello, dopo il primo passo iniziale 0, 00 ,
di introdurre una nuova variabile, aggiungere un apice ai termini precedenti,
e ricominciare con una nuova variabile.
L’insieme dei termini distribuito in una matrice infinita viene percorso
secondo le diagonali:
0 x y z ...
?¶ ¶
7 7
¶ ¶
00 x0 y 0 ...
¶
7
¶
000 x00 y 00 ...
¶
7
¶
0000
..
.
4
In aritmetica e algebra si parla preferibilmente di operazioni, ma sono la stessa cosa
delle funzioni. Qualche volta il segno di moltiplicazione non si scrive.
124
Se le variabili sono indicate con t2 , t3 , . . . , e 0 con t1 , si può determinare
m
z}|{
00 0
esplicitamente con operazioni aritmetiche il posto di tn . . . , in funzione di n
ed m5 .
L’enumerazione per diagonali della matrice infinita i cui posti sono indi-
viduati dalla riga n-esima e dalla colonna m-esima dimostra che N × N è in !!!
corrispondenza biunivoca con N.
125
Esempio ∃xP (x) ∧ ∃y¬Q(y) → ¬∃x∃yR(x, y) rimettendo le parentesi,
non intorno alle formule atomiche e la coppia esterna, diventa
Esempi
126
2. Le identità booleane sono altri esempi di formule atomiche, ma si sono
anche incontrate altre formule più 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 ),
∀x(∃yA(x, y) → F (x))
dove g è una costante, che sta per “Giovanni”, P1 una relazione binaria,
P1 (x, y) significa “x possiede y”, e P2 la proprietà di essere un Piaggio
50.
6
Si può anche considerare ∈ come un simbolo di relazione tra insiemi, quando si studiano
questioni più 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.
127
5. “Maria ama il figlio di Giovanni” è formalizzata da
A(m, f (g))
7. “Maria ama i figli di Giovanni”, che significa che Maria ama tutti i figli
di Giovanni, si formalizza con
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.
La frase “Maria ama uno che è figlio di Giovanni”, che significa “Maria
ama uno, e questi è figlio di Giovanni”, che corrisponde a A(m, x) ∧
F (x, g), potrebbe essere interpretata in modo ambiguo, ad esempio
rivoltandola in “uno è figlio di Giovanni, Maria lo ama”; ma questa
non va confusa con “uno che è figlio di Giovanni, Maria lo ama” che va
resa da F (x, g) → A(m, x) (si veda il paragrafo 10.5 sui quantificatori
ristretti).
8. La frase “dati due numeri, uno minore dell’altro, esiste un terzo numero
compreso tra i due”, vera nel campo reale, può essere resa da
128
lecito abbreviare con ∀x, y . . . , cosı̀ come ∃x∃y . . . con ∃x, 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 nu-
mero . . . ”. Ma “un primo” e “un secondo” servono solo a facilitare
l’espressione, si sarebbe potuto dire anche “dato un numero e dato un
numero . . . ”, con qualche difficoltà nel seguito per i riferimenti appro-
priati. 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 presen-
tati, o pensati, ma non è escluso che si presenti lo stesso numero due
volte.
Le parole “un primo”, “un secondo”, . . . , o “Tizio”, “Caio”, . . . sono
quelle che corrispondono alle diverse variabili di un linguaggio matem-
atico o logico; le variabili corrispondenti potrebbero essere indicate con
x1 , x2 , . . . ; anche x1 e x2 (o x e y) come variabili sono diverse ma, pren- !!!
dendo tutti i valori, possono anche prendere un valore uguale. Se si
dice “dati due numeri esiste la loro somma” - formalmente ∀x∀y∃z(z =
x + y) - non si eslcude che esista x + x, anzi lo si comprende. “Dati due
numeri” significa “fatta due volte la scelta di un numero”, e le scelte
possono cadere sullo stesso numero.
Quando tuttavia si mette la condizione “uno minore dell’altro”, allora
si esclude che possano essere uguali perchè la relazione “minore di” non
è 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, x < y → ∃z(x < z ∧z < y) è soddisfatta
come condizionale con valori falso-falso.
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 fosse inteso come ≤
allora potrebbe anche essere uguale a uno dei due; non è questo il senso
della frase, che vuole esprimere la densità dell’ordine dei numeri reali
- e anche dei razionali. Se nella stessa formula il segno di relazione è
interpretato su di una relazione riflessiva, come
o più in generale
129
∀x∀y(R(x, y) → ∃z(R(x, z) ∧ R(z, y))) ∧ ∀xR(x, x),
9. La frase “dati due numeri diversi tra loro, esiste un numero che è pro-
priamente compreso tra i due numeri dati” si rappresenta con
10. La frase “ogni numero positivo ha una radice quadrata”, vera nei reali,
si rappresenta come
7
Con “banalmente” s’intende che dati x e y come z si può prendere o x o y, e la formula
non ci dà veramente informazioni.
130
10.3 Variabili libere e vincolate
La clausola 4 della definizione del linguaggio predicativo8 è la clausola nuova,
rispetto al linguaggio proposizionale.
In una formula del tipo (∀xA), o (∃xA), A si chiama raggio d’azione
del primo quantificatore universale, o rispettivamente esistenziale. Tutte
le occorrenze di x all’interno del raggio d’azione vanno intese in senso o
universale, o rispettivamente esistenziale.
Naturalmente in (∀xA) fuori dal raggio d’azione del primo quantificatore
non c’è nulla, ma si potrebbe costruire (∀xA) ∧ B.
Per le occorrenze di x al di fuori del raggio d’azione del quantificatore, se
non cadono dentro al raggio d’azione di un altro quantificatore, il senso in cui
vanno interpretate non è determinato. L’interpretazione di tutta la formula
allora è ambigua, o necessita di ulteriori precisazioni per essere compresa.
Ad esempio ∀x(x2 + 1 > 0), che si legge “per tutti gli x, x2 + 1 > 0”,
ha un senso compiuto, è l’affermazione di un fatto, e in particolare è vera in
tutti i domini numerici usuali ordinati; nella formula
131
Se si vuole mettere in evidenza che la formula A contiene occorrenze libere
di x si scrive A(x), se contiene occorrenze libere di x e di y A(x, y).
Qualche volta si dice brevemente che x è libera in A per dire che in
A vi sono occorrenze libere di x, o che x è vincolata per dire che vi sono
occorrenze vincolate, ma bisogna fare attenzione che allora come abbiamo
visto una variabile può essere sia libera sia vincolata in una formula.
Le formule in cui non ci sono occorrenze libere di variabili si dicono enun-
ciati . Sono le formule per cui ha senso chiedere se sono vere o false (una volta
fissata l’interpretazione con il dominio di discorso).
Le formule che non sono enunciati non esprimono frasi, piuttosto definis-
cono insiemi, o relazioni, a seconda di quante variabili libere hanno.
Un’altra loro funzione è quella di intervenire nel procedimento per de-
cidere se gli enunciati sono veri o falsi.
In ∀x(x2 + 1 > 0) ∧ x < 0 le prime due occorrenze di x sono vincolate; la
terza è libera.
In ∀x(x2 + 1 > 0) ∧ ∃x(x < 0) tutte le occorrenze della x sono vinco-
late, ma le prime due dal quantificatore universale, le altre dal quantificatore
esistenziale.
132
Proprio per come è stato ottenuto, è chiaro che il quantificatore esistenziale
nell’esempio vincola l’occorrenza di x che prima era libera, cioè l’ultima, e
solo quella. L’azione del quantificatore esistenziale premesso ∃x scavalca la !!!
parte d. . . e in
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à vincolate, sono
insensibili all’azione di un altro quantificatore. In effetti, è come se fosse
scritto ad esempio
e si ottenesse perciò
133
10.4 Interpretazioni
Le formule matematiche presentate negli esempi del paragrafo 10.2 possono
essere interpretate in diversi domini numerici; alcune sono vere negli uni e
false negli altri. La possibilità di diverse interpretazioni è ancora più evidente
in formule del tipo ∀x(∃yA(x, y) ↔ F (x)), dove ci sono simboli predicativi A
e F che non hanno un’interpretazione nemmeno nell’uso comune (come è il
caso dei simboli matematici), e questa è la caratteristica della logica formale.
∀x(∃yA(x, y) ↔ F (x)) può essere interpretato nell’universo delle persone,
e significare che chi ha un amico è felice, e solo se ha un amico - se A e F sono
interpretati in questo modo12 ; ma lo stesso enunciato può essere interpretato
nei numeri naturali, usando A(x, y) per “x è divisibile per y con quoziente
maggiore di 1 e minore di x” e F (x) per “x è un numero composto”, e
l’enunciato è vero in questa intepretazione.
Prima di chiedersi se un enunciato è vero o no occorre precisare quale
interpretazione si ha in mente, vale a dire innanzi tutto quale sia l’universo del
discorso, che deve essere un insieme non vuoto U ; quindi si devono stabilire le
relazioni e funzioni su questo insieme che corrispondono ai simboli predicativi
e funzionali che occorrono nell’enunciato. Se ci sono costanti, bisogna fissare
gli elementi di U di cui le costanti sono nomi.
Dare un’interpretazione significa conoscere gli insiemi definiti dalle loro
formule atomiche, o i loro insiemi di verità13
Dare un’interpretazione comporta anche in particolare di determinare
quali elementi denotano le costanti e tutti i termini chiusi, e se questi el-
ementi stanno o no nelle relazioni in esame, e quindi se gli enunciati atomici
sono veri o no. Un enunciato privo di quantificatori, ma contenente connet-
tivi, ad esempio 1 = 1 + 0 ∨ 1 6= 1 è vero in un’interpretazione U se assume
il valore 1 quando sia considerato come una proposizione costruita a partire
dagli enunciati atomici, ai quali sono assegnati 1 o 0 a seconda che siano veri
o no nell’interpretazione U .
Un enunciato che inizia con un quantificatore universale ∀xA è vero in !!!
un’interpretazione U se l’insieme di verità di A è tutto U . Si dice anche in
12
Qualcuno potrebbe non essere d’accordo che l’enunciato è vero, perché il suo amico
è un cane, e se l’universo è l’universo delle persone, l’∃y non è verificato dal cane; se si
vuole inserire anche gli animali nel discorso, allora l’universo deve essere modificato di
conseguenza a tutti gli esseri viventi.
13
Non si intende che queste conoscenze siano effettive, ma solo determinate in linea di
principio.
134
tal caso che la formula A è valida nell’interpretazione.
Un enunciato che inizia con un quantificatore universale ∃xA è vero in
un’interpretazione U se l’insieme di verità di A non è vuoto. Si dice anche
che la formula A è soddisfacibile nell’interpretazione U .
L’insieme di verità di una formula composta si ottiene ricordando la cor-
rispondenza tra i connettivi e le operazioni insiemistiche, a partire dagli in-
siemi corrispondenti alle formule atomiche.
Tuttavia l’interrelazione tra quantificatori e connettivi nella valutazione14
di una formula è resa complicata dal fatto che i quantificatori possono trovarsi
non solo all’inizio di una formula. Ad esempio nell’insieme dei numeri interi
Z, l’insieme di verità di
135
z6
y
©
*
© zi ©©
rhx, xz,
© ©©
© ©
xz©©© rhx, xzi
© ............
©© .....
© ...........
© .....
©© ....... - x
x
136
di verità di B e di C;
se A è atomica, il suo insieme di verità è dato dalla relazione corrispon-
dente al suo simbolo relazionale.
137
∀x(pr(x) ∧ 2 < x → . . . );
10.6 Esercizi
1. Scrivere in linguaggio predicativo tutte le definizioni relative alle re-
lazioni d’ordine del paragrafo 5.3 (massimo, maggiorante, . . . ).
138
∃y(2y = x ∧ ∃z(2z = y))
139
11 Leggi logiche
La terminologia semantica introdotta per i linguaggi proposizionali si estende
agli enunciati predicativi. Un’interpretazione (del linguaggio) dell’enunciato
A si dice modello di A se A è vero nell’interpretazione.
Un enunciato A si dice logicamente vero se è vero in ogni interpretazione,
e si scriverà |= A.
Un enunciato B si dice conseguenza logica di A se in ogni interpretazione
in cui A è vero anche B è vero, e si scriverà A |= B.
Un enunciato B si dice logicamente equivalente a un enunciato A se A |=
B e B |= A.
Un enunciato A si dice insoddisfacibile o contraddittorio o inconsistente
se non è vero in nessuna interpretazione.
Vale ancora che per ogni A e B, A |= B se e solo se |= A → B se e solo
se A ∧ ¬B è insoddisfacibile.
Qualche volta, poiché gli enunciati sono pur sempre formule, si dice anche
“A logicamente valida” per |= A.
Ma inoltre si estendono le definizioni in modo da applicarle proprio anche
a formule con variabili libere. Se A è una formula in cui occorre x libera, A
si dice logicamente valida se ∀xA è logicamente vero, cosı̀ come si dice valida
in un’interpretazione se ∀xA è vero in quell’interpretazione. Una formula si
dice soddisfacibile se esiste un’interpretazione in cui essa è valida1 .
Le formule logicamente valide continuano a chiamarsi anche leggi logiche.
140
c’è bisogno di considerare alcuna interpretazione e vedere se in essa ∃xP (x)
è vero o falso, perché comunque essa sia, e comunque sia l’interpretazione di
P , e quindi il valore di ∃xP (x), in essa ∃xP (x) ∨ ¬∃xP (x) risulterà vero.
Lo stesso succede con qualsiasi altra tautologia, e con la sostituzione di
una qualunque formula.
Quindi tutte le leggi logiche proposizionali restano tali considerando ora le
lettere A, B, . . . che vi compaiono come formule di un qualunque linguaggio
predicativo.
Ma esistono anche altre leggi logiche per formule con quantificatori che
non si ottengono in questo modo. Ad esempio
∀x¬A ↔ ¬∃xA
è una di queste2 .
Per verificarlo si ragiona nel seguente modo: in una qualunque interpre-
tazione, se ∀x¬A è vero, l’insieme di verità di ¬A è tutto l’universo, quindi
l’insieme di verità di A è vuoto; allora ∃xA è falso, e quindi ¬∃xA è vero.
Analogamente nell’altra direzione (esercizio). 2
La legge si può considerare una generalizzazione di quelle di De Morgan,
se si pensa che affermare ∀xA(x) sia come fare una grande congiunzione per
tutte le A(x), e affermare ∃xA(x), cioè che A vale per almeno un x, sia come
fare una grande disgiunzione.
Si è visto già nella definizione di unione e intersezione generalizzate come
i quantificatori esistenziale ed universale siano usati come generalizzazione
della disgiunzione e della congiunzione.
Se si combina questa legge logica con quella della doppia negazione si
ottengono altre versioni, come
¬∀x¬A ↔ ∃xA
∀xA ↔ ¬∃x¬A
141
La legge tipica del quantificatore universale è la legge di particolariz-
zazione
∀xA(x) → A(t),
142
sostituzione di termini qualsiasi alle variabili che è di fatto un’applicazione
della particolarizzazione).
Si trovano esempi in cui t è chiuso come esempi in cui contiene variabili.
Esempio
La legge boleana dell’unicità dell’elemento neutro dell’addizione
∀x(x + y = x) → y = 0
A(t) → ∃xA(x),
∀xA(x) → ∃xA(x),
143
che è valida in quanto si considerano solo sempre interpretazioni in cui
l’universo non è vuoto3 .
144
∀x(A → B) → (∀xA → ∀xB)
è logicamente valida, l’inversa non lo è. Per trovare un controesempio, si
deve pensare ad un’interpretazione in cui ∀xP (x) → ∀xQ(x) sia vero sem-
plicemente perché ∀xP (x) è falso, mentre non è vero ∀x(P (x) → Q(x)).
L’insieme U = {a, b, c} con {a, b} per l’insieme di verità di P (x) e {b, c} per
l’insieme di verità di Q(x) risponde allo scopo.
145
se x non occorre libera in B.
La prima legge corrisponde al seguente uso linguistico: quando si dice
che qualche cosa, espressa da B, dipende solo dal fatto che (l’insieme di
verità di) A non sia vuoto, e non da un particolare elemento (come sarebbe
se x occorresse in B e dovesse soddisfarla), allora si può enfatizzare che
qualunque elemento va bene. Se si afferma “se uno ha un amico è felice” -
∃xA(x, y) → F (y) - si vuol dire che qualunque sia l’amico, anche un cane,
porta felicità (a y).
Per la dimostrazione, si supponga ∃xA(x) → B vero, quindi B vero o
∃xA(x) falso. Se B è vero, allora l’insieme di verità di A(x) → B è tutto
l’universo, perché per ogni elemento il condizionale ha il conseguente vero. Se
∃xA(x) è falso, di nuovo l’insieme di verità di A(x) → B è tutto l’universo,
perché per ogni elemento il condizionale ha l’antecedente falso.
Se invece ∃xA(x) → B è falso, allora B è falso e ∃xA(x) è vero, quindi
almeno un elemento soddisfa A. Quando si esamina la formula A(x) → B,
per questo elemento si ha vero-falso per il condizionale, che risulta falso, e
quindi l’insieme di verità di A(x) → B non è tutto l’universo e ∀x(A(x) → B)
è falso. 2
L’altra analoga legge si ricava nello stesso modo; se ∃x(A(x) → B) è vero
in U , allora qualche elemento di U soddisfa A(x) → B; se B è vero, anche
∀xA(x) → B lo è; se A(x) non è soddisfatto da questo elemento, allora
∀xA(x) è falso e ∀xA(x) → B è vero.
Se ∃x(A(x) → B) è falso, per qualunque elemento A(x) → B non è
soddisfatta, quindi il calcolo del condizionale porta a un vero-falso, e A(x)
deve essere soddisfatta e B deve essere falso; ma allora ∀xA(x) è vero e B è
falso e ∀xA(x) → B falso. 2
146
Leggi logiche notevoli 2
11.1 Esercizi
1. Trasformare in forma prenessa le seguenti formule:
147
12 Quantificatori e dimostrazioni
Completata la presentazione del linguaggio dei predicati possiamo rivedere
alcuni casi di dimostrazioni; quelli trattati finora riguardavano anche formule
contenenti variabili, ma i passaggi logici discussi erano solo quelli di tipo
proposizionale, glissando sulla gestione delle variabili.
Le frasi matematiche presenti nelle premesse e conclusioni di una di-
mostrazione sono rappresentate da enunciati di linguaggi predicativi, mentre
i passaggi intermedi di solito sono formule, formule algebriche1 o loro com-
binazioni proposizionali, con variabili libere; si tratta di vedere come si fa a
togliere e (ri)mettere i quantificatori.
Queste mosse sono le sole da aggiungere; per il resto restano valide tutte
le regole logiche e le strategie già considerate, visto che le regole di inferenza
che rispettano la relazione di conseguenza logica valgono anche quando le
lettere indicano formule di linguaggi predicativi.
Riprendiamo l’esempio di
x = 2c,
148
Si dice che x = 2c è ottenuta per esemplificazione esistenziale. La mossa
riassume il ragionamento “introduciamo un nome temporaneo per uno2 di
questi elementi che soddisfano la formula x = 2y”, nome che non può es-
sere uno di quelli disponibili nell’alfabeto perché non si sa quale sia questo
elemento3 .
Ora da x = 2c occorre dedurre ¬∃y(x + 1 = 2y). La forma negativa
suggerisce di fare una dimostrazione per assurdo; si assume quindi
∃y(x + 1 = 2y).
Di nuovo, sia d una nuova costante, per cui x + 1 = 2d. d non solo deve
essere nuova non solo rispetto a quelle del linguaggio originario, ma anche
rispetto a quelle introdotte nel corso dell’argomentazione; in attesa di ulteri-
ori elaborazioni non si sa infatti e non si può dire se l’elemento sia lo stesso
o diverso4 .
Ora occorre svolgere le conseguenze di x = 2c ∧ x + 1 = 2d. c e d vengono
da due mosse indipendenti che non permettono di sapere come sono fra loro
i due elementi cosı̀ denotati; si devono quindi considerare tutte le possibilità,
che c = d, che c < d, che d < c.
c = d porta a una contraddizione x = x + 1; d < c porta a una contrad-
dizione x + 1 < x; c < d porta, per sottrazione, a 1 = 2(d − c) ≥ 2; in ogni
caso una contraddizione, a partire da ∃y(x + 1 = 2y), e da x = 2c, quindi
¬∃y(x + 1 = 2y), come si voleva dimostrare5 .
¬∃y(x + 1 = 2y) è stata dedotta da x = 2c, ma nella conclusione non si
parla di c, utilizzata come appoggio nel ragionamento; il che è bene, perché
non sarebbe opportuno concludere un teorema con una formula in cui occorre
un elemento sconosciuto. D’altra parte l’obiettivo della dimostrazione, fissato
2
In questo esempio particolare ce ne può essere solo uno, ma in generale, col quantifi-
catore esistenziale, non si sa quanti ≥ 1 ce ne sono.
3
Siccome c dipende da x, si dovrebbe piuttosto avere una funzione di x, o una notazione
del tipo cx , che però sarebbe inutilmente pesante.
4
Se alla fine dovesse risultare che d è uguale a c, vuol dire che si sono attributi due
nomi allo stesso elemento, che non è inusuale, sia nella vita comune sia in matematica,
ogni volta che si dimostra che due termini sono uguali, ad esempio 0 = 0 + 0.
5
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) è
equivalente sia a p → ¬q sia a q → ¬p. Tuttavia dallo svolgimento della dimostrazione si
vede che in realtà si è dimostrato l’equivalente, per importazione/esportazione, p → (q →
C), da cui p → (¬C → ¬q) e quindi p → ¬q (perché?), e la scelta è dunque implicita
nell’impostazione della dimostrazione.
149
all’inizio, non contemplava elementi sconosciuti, ma enunciati determinati.
E infine nella dimostrazione non si è usata alcuna proprietà di c, se non il
fatto che x = 2c.
Si conclude allora che ¬∃y(x + 1 = 2y) è stata in realtà dedotta da
∃y(x = 2y). 26
Quest’ultimo passaggio tecnicamente chiude l’applicazione della regola
dell’esemplificazione esistenziale, che copre tutti i passi dal momento in cui
si dice “sia c un elemento tale che x = 2c” fino a quando scompare la c. Esso
può sembrare diverso da una meccanica applicazione di una regola sintattica
(una o due premesse e una conclusione immediata).
Prima di discutere questo fatto, vediamo un altro esempio: dimostriamo
che se un numero è divisibile per 4 allora è divisibile per 2. In questo caso
l’elemento sconosciuto apparentemente si mantiene fino alla fine, nella con-
clusione, ed allora deve essere eliminato da questa con un’applicazione della
generalizzazione esistenziale.
Da
∃y(x = 4y)
si passa a
x = 4c
x = (2 · 2)c
x = 2(2c)
Di qui si vede che x è divisibile per 2, ma non si può terminare con questa
formula. Per generalizzazione esistenziale invece, considerata la formula x =
2(2c) del tipo A(t), con A(y) uguale a x = 2y e t uguale a 2c, si può allora
dedurre
∃y(x = 2y),
150
e
come nell’esempio dell’amico che rende felici, che può essere qualunque, anche
ora si dice che y può essere qualunque, purché soddisfi poi l’antecedente
x = 2y.
Allora y è trattata in questa versione della dimostrazione come una vari-
abile universale. Data una y qualunque, occorre dimostrare che
151
x = 2y → ¬∃y(x + 1 = 2y),
ovvero
x = 2y → ∀y(x + 1 6= 2y).
Il quantificatore del conseguente può essere spostato nel prefisso, dopo aver
eseguito un’opportuna rinomina, e la formula da dimostrare è equivalente a
∀z(x = 2y → x + 1 6= 2z);
quindi possiamo provare a dimostrare
x = 2y → x + 1 6= 2z,
con tutte le variabili intese in senso universale.
Per assurdo, assumiamo la negazione del condizionale, quindi
x = 2y ∧ x + 1 = 2z,
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 = 2y → x + 1 6= 2z,
e quantificando universalmente
∀x∀y∀z(x = 2y → x + 1 6= 2z),
da cui con le leggi logiche pertinenti
∀x(∃y(x = 2y) → ∀z(x + 1 6= 2z)). 2
Si noti che di solito nel gergo matematico, dove non si usa indicare i
quantificatori, attraverso un’interpretazione (corretta) dell’enunciato da di-
mostrare si imposta direttamente proprio
se x = 2y, allora x + 1 6= 2z.
152
si trasformi la formula nell’equivalente
e si provi a dimostrare
x = 4y → ∃y(x = 2y).
153
La dimostrazione prosegue come sopra: si deve dimostrare che da x = 2y
segue ¬∃y(x + 1 = 2y).
Per assurdo, si assume x = 2y e ∃y(x + 1 = 2y) e di nuovo si applica
l’esemplificazione esistenziale. La regola richiede che si utilizzi una variabile
diversa da quelle che occorrono libere nella parte precedente, in questo caso
da y.
Si perviene cosı̀ a x = 2y ∧ x + 1 = 2z da cui segue una contraddizione
con gli stessi calcoli di sopra, con y e z al posto rispettivamente di c e d. 2
Altro esempio. La dimostrazione di ∃y(x = 4y) → ∃y(x = 2y) si svolge
come sopra assumendo ∃y(x = 4y) ed esemplifcando: sia y uno di questi, per
cui
x = 4y
x = (2 · 2)y
x = 2(2y)
∃y(x = 2y),
154
non terminato, come in sospeso, per il riferimento a questo elemento sconosci-
uto. La costante o variabile può scomparire o per passaggi proposizionali
(come sopra, una dimostrazione per assurdo di un altro enunciato, oppure
per il taglio di un modus ponens), o per generalizzazione esistenziale.
L’affermazione ∃yA(y) introdotta per generalizzazione esistenziale com-
porta un’affermazione apparentemente più debole, generica, rispetto a A(t),
che sembra indicare esplicitamente un elemento con la proprietà A, ma nelle
applicazioni come si è visto, se t deriva da un’esemplificazione esistenziale,
allora in realtà anche la sua denotazione è vaga.
Quello che bisogna assolutamente evitare è di quantificare universalmente !!!
una variabile che sia stata introdotta come esemplificazione di un quantifica-
tore esistenziale (in questo l’uso di una costante ha ovvi vantaggi).
155
∃y(x = y 2 ) per x qualunque, senza alcuna premessa (salvo le proprietà dei
numeri reali espresse da enunciati, senza variabili libere). Quindi x non è
libera nelle premesse della derivazione di quest’ultima formula, che non ci
sono, e si può correttamente quantificarla in ∀x(0 < x → ∃y(x = y 2 )).
156
13 Sillogismi
I sillogismi sono forme di ragionamento studiate fin dall’antichità che coin-
volgono enunciati di linguaggi predicativi, ancorché di un tipo semplificato;
molti argomenti del linguaggio comune si presentano in tale forma, e rapp-
resentano perciò 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, e inoltre sono di una forma particolare.
Gli enunciati presi in considerazione e combinati tra loro affermano sem-
pre una delle seguenti circostanze: che tutti quelli che hanno una proprietà
P hanno anche la proprietà Q; che nessuno di quelli che hanno una proprietà
P hanno la proprietà Q; oppure che qualcuno che ha la proprietà P ha anche
Q, o infine che qualcuno con la proprietà P non ha Q.
Enunciati di questa forma si chiamano, nella tradizione logica, propo-
sizioni categoriche1 .
A prima vista si direbbe che il loro studio costituisca un’analisi dei quan-
tificatori, ma è forse più corretto dire che mette in evidenza e sfrutta alcune
relazioni insiemistiche della sola intersezione, e precisamente
A ∩ B = A, ovvero A⊆B
A ∩ B = ∅, ovvero A e B sono disgiunti
A ∩ B 6= ∅, ovvero A e B non sono disgiunti.
157
proposizioni2 : A ed E sono proposizioni affermative, rispettivamente uni-
versale 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 è Q”, e cosı̀ via. Il simbolismo logico
come si vede ha una lunga storia.
Siccome c’era sempre solo una variabile, non si è sentita l’esigenza di
indicarla. Il verbo era sempre il verbo “essere”; tuttavia noi sappiamo che nei
casi di quantificatore universale (ristretto a P ) esso viene reso dal connettivo
condizionale e in quelli particolari dal connettivo congiunzione.
I : P M
E: S M
O: S P.
158
Il secondo parametro è la disposizione dei tre predicati nelle tre propo-
sizioni, e si chiama figura. Se si standardizza le presentazione, ad esempio
chiedendo che la conclusione contenga sempre la coppia S P nell’ordine - da
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 è valido5 - e che l’ordine delle premesse non è rilevante (per
la terminologia, si chiama premessa maggiore quella che contiene S, e minore
l’altra) si ottengono in tutto quattro figure:
SM SM MS MS
P M MP MP P M.
Esempi
Derivazione della conclusione dalle premesse del sillogismo valido
4
Sono grammaticalmente il soggetto e il predicato della conclusione.
5
A meno che la conclusione non coincida con una premessa.
6
Una lunga controversia ha riguardato il fatto di considerare o no predicati vuoti,
decisione che influenza la validità o meno di certi sillogismi. Nell’antichità si preferiva evi-
tarli; nella trattazione moderna prevale l’interpretazione cosiddetta booleana, che ammette
predicati vuoti. Sono 15 i sillogismi validi nell’interpretazione booleana.
159
E: P M
I : S M
O: S P,
ovvero
S(c) Allora c è un S e
M (c) c è un M.
160
In modo del tutto analogo, si dimostri (esercizio) la validità del sillogismo:
A: P M
O : S M
O: S P,
ovvero
A: M S
I : M P
I: S P,
ovvero
con la dimostrazione:
161
Dimostrazione
M (c) c è un M.
P (c) c è un P.
S(c) Siccome c è un M,
c è un S.
A: S M
A : M P
A: S P,
ovvero
∀x(S(x) → M (x))
∀x(M (x) → P (x))
∀x(S(x) → P (x)),
162
con la seguente dimostrazione:
Dimostrazione
per transitività da 2 e 4
S(x) → P (x) U no che sia un S è anche un P.
A: S M
A : M P
I: S P,
ovvero
∀x(S(x) → M (x))
∀x(M (x) → P (x))
∃x(S(x) ∧ P (x)),
163
∀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 .
∀x(S(x) → M (x))
∃x(M (x) ∧ P (x))
∃x(S(x) ∧ P (x))
164
allora il sillogismo
A: P M
I : S M
I: S P
sarebbe valido e allora anche il nuovo argomento, della stessa struttura for-
male, dovrebbe essere corretto. Ma quest’ultimo ovviamente non lo è.
Che non lo sia, e quindi che si sia esibito un controesempio, non è mai del
tutto chiaro se gli esempi sono fatti in linguaggio naturale. Nessun insieme
definito nel linguaggio naturale ha i confini esattamente delimitati senza am-
biguità. 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 è fornito da U = {a, b, c, d} con
S = {c, d}, P = {a, b} e M = {a, b, c}.
E: S M
I : P M
O: S P
165
non è valido se S è vuoto oppure se S ⊆ P .
Nel valutare la correttezza logica di un argomento, non bisogna utilizzare
nessuna conoscenza non esplicitata relativa ai predicati concreti che vi sono !!!
coinvolti.
P M
S M
166
E: P M
A : S M
E: S P
ovvero
∀x(P (x) → ¬M (x))
∀x(S(x) → M (x))
∀x(S(x) → P (x))
è valido:
Dimostrazione
167
riguarda le loro intersezioni (i loro complementi sono le regioni esterne ai
cerchi).
'$
'$
S P
'$
&%
&%
&%
M
A:S M S ∩ (∼ M ) = ∅
E:S M S∩M =∅
I: S M S ∩ M 6= ∅
O:S M S ∩ (∼ M ) 6= ∅
Esempi
Consideriamo il sillogismo:
A: P M
O: S M
O: S P
ovvero
168
∀x(P (x) → M (x))
∃x(S(x) ∧ ¬M (x))
∃x(S(x) ∧ ¬P (x)).
'$
'$
S ¢¢¢¢¢¢¢ P
¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢¢
×'$
¢¢¢¢¢
¢¢¢
&%
&%
&%
M
Ora si interpreta quello che dice la figura, come conseguenza delle due pre-
messe, confrontandolo con quello che afferma la conclusione. La conclusione
afferma che deve esserci una crocetta in S ∩ (∼ P ) e infatti la crocetta è stata
disegnata in quell’area, come conseguenza delle due premesse; è stata messa
prima di guardare la conclusione.
ovvero
∀x(P (x) → ¬M (x))
∃x(S(x) ∧ M (x))
∃x(S(x) ∧ ¬P (x)).
169
perché P ⊆ ∼ M . La seconda premessa ci fa mettere una crocetta nell’area
S ∩ M , ma di fatto nell’area S ∩ M ∩ (∼ P ) perché S ∩ M ∩ P = ∅.
'$
'$
S P
'$
× &%
&%
&%
M
A: S M
I: M P
I: S P
ovvero
∀x(S(x) → M (x))
∃x(M (x) ∧ P (x))
∃x(S(x) ∧ P (x)).
170
'$
'$
S ¿¿¿ P
¿ ¿
¿¿
¿¿
¿
¿ ¿
'$
¿ ¿
¿¿
¿ ¿
¿¿ +
&%
&%
&%
M
171
14 Alberi di refutazione
14.1 Regole per i quantificatori
La tecnica degli alberi di refutazione si estende agli enunciati dei linguaggi
predicativi aggiungendo le seguenti regole:
[∃xB]
..
.
F
↓
B(c)
[¬∀xB]
..
.
F
↓
¬B(c)
• Se A Se A è ∀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à nel ramo, si appendono alla
foglia n + 1 nodi in serie, prima B(t1 ), . . . , B(tn ) e poi ancora ∀xB, !!!
come nello schema
1
S’intende che se B non contiene la x libera B(c) è B.
172
[∀xB]
..
.
F
↓
B(t1 )
↓
..
.
↓
B(tn )
↓
∀xB
• Se A Se A è ¬∃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à nel ramo, si appendono alla
foglia n + 1 nodi in serie ¬B(t1 ), . . . , ¬B(tn ), e poi ancora ¬∃xB, come !!!
nello schema
[¬∃xB]
..
.
F
↓
¬B(t1 )
↓
..
.
↓
¬B(tn )
↓
¬∃xB
173
Se l’albero è inizializzato con un enunciato, tutti i nodi dell’albero sono
etichettati con enunciati, di un linguaggio possibilmente arricchito con nuove
costanti. Il ruolo dei letterali è ora svolto dagli enunciati atomici e dalle
negazioni degli enunciati atomici.
Basterebbero due regole, perché quelle per la negazione di un quantifica-
tore sono ottenute considerando che ¬∀ è equivalente a ∃¬ e ¬∃ a ∀¬. Le
prime due regole corrispondono all’esemplificazione esistenziale, le altre due
alla particolarizzazione.
Nell’applicazione della regola per ∃xB la costante deve essere diversa da
quelle che occorrono già in enunciati del ramo - nuova perché le informazioni !!!
disponibili non permettono di dire se l’elemento che esemplifica B sia uno già
noto o no - ma non necessariamente diversa da quelle che sono solo su altri
rami. Ogni ramo è una strada indipendente dalle altre; tuttavia per evitare
confusioni è bene ogni volta prendere una costante che sia diversa da tutte
quelle che occorrono in tutto l’albero.
Se in una prima applicazione delle ultime due regole non esistono termini
chiusi negli enunciati dell’albero, si introduce una nuova costante c e si sos-
tituisce quella (ma si tratta di un’eccezione, da non confondere con la regola !!!
per ∃; è come se ci fosse sempre una costante iniziale, ad esempio in c = c
congiunta alla radice).
In pratica, non c’è bisogno di riscrivere ∀xB, basta non marcarlo come
già considerato e ricordarsi di tornare periodicamente a visitarlo. E quando
tutti gli altri enunciati siano stati considerati e non ci siano altri termini da
sostituire, lo si marca definitivamente per terminare.
Esempi
L’albero:
174
¬(∀x(P (x) → Q(x)) → (∀xP (x) → ∀xQ(x)))1
↓
∀x(P (x) → Q(x))5
↓
¬(∀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
è chiuso.
L’albero:
175
Q(d)
↓
P (d) → ∃yQ(y)
↓
¬Q(d)
chiuso
∀x∃yR(x, y)
↓
∃yR(c, y)
↓
R(c, c1 )
↓
∃yR(c1 , y)
↓
R(c1 , c2 )
↓
∃yR(c2 , y)
↓
..
.
176
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).
Esempio
L’albero
177
Le proprietà di correttezza e completezza assicurano che quando l’albero
termina, la risposta è quella giusta; inoltre, poiché se un albero si chiude
esso si chiude dopo un numero finito di passi, in tutti i casi in cui la radice è
insoddisfacibile l’albero lo rivela chiudendosi; quando la radice è soddisfaci-
bile, può darsi che l’albero termini, e lo riveli, come può darsi che continui
all’infinito, e non è detto che ci sia mai uno stadio in cui ci accorgiamo che
l’albero andrà avanti a crescere all’infinito (altrimenti è come se sapessimo
che non si chiude).
Un metodo con queste caratteristiche si dice metodo di semidecidibilità
e l’insieme degli enunciati insoddisfacibili è semidecidibile.
14.1.1 Esercizi
1. Verificare con gli alberi di refutazione tutte le leggi logiche finora in-
contrate.
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.
178
d’azione di un altro. Questa trasformazione è possibile applicando le leggi
logiche sui quantificatori.
Ad esempio
diventa
quindi
che diventa
179
regole proposizionali relative, finché 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.
A questo punto si lavora prima sugli enunciati che iniziano con un ∃ o un
¬∀, il cui effetto è quello di introdurre nuove costanti - e sono i soli che intro-
ducono nuove costanti. Essi danno origine a enunciati privi di quantificatori,
per l’assenza di quantificatori incapsulati.
Ora si applicano le regole agli enunciati che iniziano con ∀ o ¬∃, eseguendo
tutte le sostituzioni possibili delle costanti, che danno di nuovo origine a
enunciati privi di quantificatori. Tali enunciati non devono essere riscritti,
perché il seguito del lavoro non costringerà più a tornare su di essi; non si
generano più altri enunciati che iniziano con ∃ o ¬∀. Ai nuovi enunciati
privi di quantificatori si applicano eventualmente le regole proposizionali del
caso, ma l’applicazione di regole proposizionali dopo un numero finito di passi
termina.
Esempi
Il sillogismo
∀x(S(x) → M (x))
∃x(M (x) ∧ P (x))
∃x(S(x) ∧ P (x))
∀x(S(x) → M (x))3
↓
∃x(M (x) ∧ P (x))1
↓
¬∃x(S(x) ∧ P (x))4
↓
M (c) ∧ P (c)2
↓
M (c)
↓
180
P (c)
↓
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 è U = {c} con M = {c}, P = {c} e S = ∅.
Questa non è l’interpretazione proposta a suo tempo come controesempio,
che era stata U = {a, b, c}, S = {a}, M = {a, c}, P = {b, c}, ma ques’ultima
si ottiene dalla presente aggiungendo a e b all’universo; l’interpretazione for-
nita dall’albero è minimale, e lo è sempre3 .
È raro che si trovi un solo modello di un enunciato, in realtà non ce ne è
mai uno solo, ma la dimostrazione è complicata4 .
Il sillogismo:
è valido. L’albero:
181
↓
¬∃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
è chiuso.
182
15 Il principio di induzione
Come si fa a dimostrare che un enunciato universale1 ∀xA(x) vale in un
universo infinito? Non si possono certo passare in rassegna tutti gli elementi
dell’universo. Alcune regole logiche sembrano utilizzabili, in particolare la
riduzione all’assurdo o quelle che permettono di derivare enunciati universali
da altri, già però noti, come la distributività di ∀ su →:
∀x(B(x) → A(x)) ∀xB(x)
∀xA(x).
Con le sole regole logiche si dimostrano solo enunciati veri in tutte le inter-
pretazioni, non in una particolare.
Un insieme infinito peraltro non può essere dato se non attraverso una
definizione, che ne mette in evidenza alcune proprietà caratteristiche. Queste
sono assunte in genere come assiomi della struttura, e a partire da essi si
deducono altre proprietà vere nella struttura stessa (e in tutte le eventuali
altre che soddisfano gli assiomi). !!!
Le strutture numeriche classiche, che sono insiemi infiniti, hanno poi cias-
cuna qualche caratteristica particolare che permette di svolgere ragionamenti
tipici ed esclusivi2 , ad esempio la continuità per i numeri reali. La più sem-
plice struttura numerica è quella dei numeri naturali N.
183
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à considerato, perché i successori di due numeri diversi sono diversi.
Queste proprietà sono esprimibili con enunciati predicativi:
∀x∃y(y = x0 )
∀x(0 6= x0 )
∀x∀y(x 6= y → x0 6= y 0 )
che costituiscono i primi assiomi dei numeri naturali.
Si è abituati a dire che ogni numero si ottiene dal precedente con “+ 1”,
ma l’operazione di addizione compare, è definita, solo nella più ricca struttura
che si ottiene sulla base della definizione fondamentale.
Quando si parte da zero5 per introdurre N, si vuol dire innanzi tutto che
N è un insieme infinito; la definizione è la seguente: un insieme X è 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 l’insieme N (primo
assioma) nel suo sottoinsieme proprio N \ {0} (secondo assioma)6 .
Ora però N non è solo un insieme infinito: ogni suo elemento si ottiene
da 0 iterando un numero finito di volte l’operazione di successore. Non ci
sono altri elementi al di fuori di questa catena senza fine. La condizione non
sembra facile da esprimere, perché per parlare di iterare un numero finito
di volte il successore parrebbe necessario avere già la nozione di numero
naturale.
Tuttavia soccorre questa idea, derivata dalla precedente intuizione, che
se una proprietà, espressa da una formula A(x), è tale che si trasporta nel
passaggio da n a n0 , o che è invariante, cioè è tale che se vale per un generico
n allora vale per n0 , in simboli A(n) → A(n0 ), allora come ogni numero si
ottiene da 0 passando attraverso una catena di successori, cosı̀ se A vale per
0 allora A vale per tutti i numeri.
4
Il fatto che n nella successione venga dopo i puntini, non significa che è un numero
grande; n è una variabile che indica un numero qualunque, e può assumere anche i valori
0, 1, . . .
5
In tutti i sensi.
6
Dopo si vede che è sopra: ∀x(x 6= 0 → ∃y(x = y 0 )).
184
Un’immagine comoda per rappresentarsi la situazione è quella di una
successione di pezzi di domino messi in piedi in equilibrio precario, distanti
tra loro meno della loro altezza. Cosı̀ se un pezzo cade verso destra fa cadere
verso destra quello adiacente. Se cade il primo, fa cadere il secondo, che fa
cadere il terzo, e tutti cadono.
-¥¥
¥¥
¥¥
¥¥
¥¥
¥¥
0 ∈ X ∧ ∀x(x ∈ X → x0 ∈ X) → N ⊆ X,
dove A è una formula qualsiasi del linguaggio aritmetico, che all’inizio con-
tiene solo 0 e 0 , oltre a =.
185
Supporremo anche definita8 la relazione d’ordine totale ≤ con minimo 0.
A(0) Base
∀x(A(x) → A(x + 1)) P asso induttivo
∀xA(x).
Per dimostrare ∀xA(x) sono sufficienti due mosse: la prima consiste nel di-
mostrare A(0), e la seconda nel dimostrare ∀x(A(x) → A(x + 1)).
Si dice allora che ∀xA(x) è stata dimostrata per induzione su x, e A(x)
si chiama la formula d’induzione.
La base non si riferisce necessariamente solo a 0. Se a cadere verso destra
non è il primo domino, ma il sesto
@
@
R¥¥
@
¥¥
¥¥
¥¥
¥¥
¥¥
A(k) Base
∀x ≥ k (A(x) → A(x + 1)) P asso induttivo
∀x ≥ kA(x).
8
Per mezzo dell’addizione la definizione sarà: x ≤ y ↔ ∃z(x + z = y). Per ora la
possiamo pensare postulata, per poter fare esercizi con formule familiari e per scrivere
alcune formule in modo più comodo.
186
Se si deve dimostrare ad esempio ∀x > 0 A(x) si dimostra come base A(1)).
A(x) → A(x + 1)
per un x generico.
Si assume quindi A(x), chiamandola ipotesi induttiva e si cerca di dedurre
A(x + 1):
187
Esempio Dimostrare per induzione9 che
n(n+1)
1 + 2 + ... + n = 2
.
n(n+1)+2(n+1)
= 2
(n+1)(n+2)
= 2
che è P (n + 1). 2
188
(n+1)(n+2)
1 + 2 + . . . + n + (n + 1) = 2
,
e quindi P (n + 1) è dimostrato. 2
Avvertenza P (n + 1) è dimostrato dai passaggi di sopra non perché da !!!
esso segua un’identità; lo studente di logica sa che dal fatto che A → B sia
vero e B sia vero non segue la verità di A.
In realtà i passaggi di sopra vanno letti all’indietro partendo dall’ultima
uguaglianza, e tutte le uguaglianze scritte sono tra loro equivalenti (se si
assume P (n)). P (n + 1) è conseguenza di P (n) e di n(n+1) 2
+ (n + 1) =
(n+1)(n+2)
2
, che è un’identità aritmetica.
In questa impostazione, ci sono due movimenti logici all’indietro: 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
nell’ordine inverso, dall’ultima identità fino a P (n + 1). Se si a disagio, in al-
ternativa si può partire, sempre in un’impostazione parzialmente all’indietro,
non da P (n + 1) ma dall’espressione
1 + 2 + ... + n + (n + 1) = ?,
189
valida per la proprietà associativa, quindi si osserva che “per ipotesi indut-
tiva”
n(n+1)
1 + 2 + ... + n + (n + 1) = 2
+ (n + 1),
e con i soliti calcoli si arriva a
(n+1)(n+2)
1 + 2 + ... + n + (n + 1) = 2
.
La formula P (n + 1) è stata cosı̀ dimostrata ma assumendo a un certo punto
P (n), quindi si è stabilito P (n) → P (n + 1). 2
1 − 12 + 13 + . . . + (−1)n n+1
1
(1 − 12 + 13 + . . . − n1 ) + 1
n+1
1
si ottiene da quella fino a n sommando n+1 , una quantità positiva.
Siccome per ipotesi induttiva anche (1 − 2 + 3 + . . . − n1 ) > 0, si ha la
1 1
conclusione voluta.
Se n + 1 è pari, la somma
190
1 − 12 + 13 + . . . + 1
n
− 1
n+1
si può riscrivere
(1 − 12 ) + ( 13 − 14 ) + . . . + ( n1 − 1
n+1
)
Si noti che l’ipotesi induttiva interviene solo in uno dei due casi in cui è
distinta la dimostrazione del passo induttivo, ma comunque interviene.
Se si fosse voluto dimostrare che
1 − 21 + 13 + . . . + (−1)i−1 1i + . . . − 1
2n
>0
che è divisibile per 3 in quanto somma di addendi tutti divisibili per 3 (il
primo per ipotesi induttiva). 2
Ma si può anche fattorizzare n3 − n in (n − 1)n(n + 1) e osservare che uno
dei tre consecutivi deve essere divisibile per 3. 2
191
Di solito quando sono disponibili due vie, una per induzione e una che
potremmo chiamare algebrica, la seconda dà maggiori informazioni, in quanto
lega il problema dato con altri.
2 + 4 + + 2n = n(n + 1) + 5.
192
Con “induzione empirica” si intende il passaggio da un numero finito, limitato,
di osservazioni, alla formulazione di una legge generale; dal fatto che tutti i cigni
osservati sono bianchi alla affermazione che tutti i cigni sono bianchi. L’esempio,
classico nei testi di filosofia della scienza, è stupido, ma è difficile trovarne di scien-
tifici, nonostante si pensi che l’induzione caratterizzi le scienze empiriche, perché
forme di induzione di questo genere sono in verità del tutto estranee alla ricerca sci-
entifica. La parola è usata comunque in contrasto con “deduzione”, a indicare un
passaggio dal particolare all’universale (come se la deduzione fosse, cosa che non è,
se non raramente, un passaggio dall’universale al particolare13 ). L’induzione em-
pirica è anche detta induzione per enumerazione, dizione che suggeriamo di evitare
perché non faccia venire in mente i numeri.
Quando all’inizio dell’età moderna si ebbe una ripresa della ricerca matematica,
la parola “induzione” era usata nella scienza per indicare la formulazione di leggi
generali suggerite e verificate da un certo numero di casi particolari. Anche i
matematici, figli del loro tempo, usavano la parola in questo modo e per essere
scienziati pretendevano di usare anch’essi l’induzione. Lo si riscontra soprattutto
in quegli autori, come Eulero, che basavano le loro congetture su molti calcoli ed
esplorazioni delle proprietà dei numeri. Il primo autore che formulò e propose
il principio d’induzione matematica nella forma moderna fu Pascal, ed egli volle
chiamare cosı̀ questo principio, che implicitamente era stato usato già da Euclide
e da Fermat in altra versione14 , considerandolo la vera forma d’induzione adatta
a, o tipica della matematica . In verità non v’è alcun rapporto; è vero che con
l’induzione matematica si arriva a una conclusione valida per l’infinità dei numeri
con due soli passaggi, ma si tratta di due dimostrazioni, non di due osservazioni.
f (n) = n2 + n + 41
193
Di fronte alla congettura che f (n) sia sempre primo, naturalmente viene
naturale l’idea 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.
L’esplorazione empirica è utile tuttavia e raccomandabile quando non !!!
viene proposta una formula da dimostrare, ma la si deve trovare, quando
cioè bisogna formulare una congettura - e poi dimostrarla.
Ad esempio se si vuole trovare una formula per
1 1 1 1
2
+ 2·3
+ 3·4
+ ... + n(n+1)
,
1 1 2
n=2 2
+ 2·3
= 3
1 1 1 3
n=3 2
+ 2·3
+ 3·4
= 4
n
si può 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).
194
somma dei primi termini, e se si indica sempre l’ultimo addendo con 2i + 1,
come suggerisce l’espressione iniziale, si ottiene:
n=2 1 + (2 · 1 + 1) = 4
n=3 22 + (2 · 2 + 1) = 9
n=4 32 + (2 · 3 + 1) = (3 + 1)2 .
All’inizio si possono avere dubbi: 4 = 22 può essere 4 = 2 · 2, anzi lo è,
ovviamente; il problema è quale scrittura sia più suggestiva della direzione
giusta da prendere; qui diventa presto trasparente la formula del quadrato
(n + 1)2 = n2 + 2n + 1.
Un ulteriore passo di conferma dà
n=5 42 + (2 · 4 + 1) = (4 + 1)5
e quello che si intravvede è lo schema del passo induttivo:
1 + 3 + + (2n − 1) + (2n + 1) =
n2 + (2n + 1) = (n + 1)2 .
L’uso dell’ipotesi induttiva 1 + 3 + . . . + (2n − 1) = n2 per sostituire
1 + 3 + . . . + (2n − 1) con n2 in 1 + 3 + . . . + (2n − 1) + (2n + 1) corrisponde
nei calcoli precedenti ai successivi rimpiazzamenti di 1 + 3 con 4 = 22 , di
1 + 3 + 5 con 9 = 32 , di 1 + 3 + 5 + 7 con 16 = 42 .
La dimostrazione per induzione non è diversa dai calcoli che hanno fatto
intravvedere la risposta; sono gli stessi calcoli che si ripetono (non i risultati
parziali, o non solo quelli), e che passando alle variabili si trasformano nel
passo induttivo.
Per riuscire a vedere lo schema bisogna che si facciano sı̀ i calcoli con i
numeri piccoli, ma non guardando solo al risultato, bensı̀ allo spiegamento
delle operazioni aritmetiche implicate; si ottiene il tal modo il collegamento
o il passaggio dall’aritmetica all’algebra; l’algebra, rispetto all’aritmetica,
non è altro che questa attenzione non al risultato numerico - che non può
esserci, in presenza delle variabili - ma alla struttura e all’organizzazione
delle operazioni da eseguire, e il loro trasporto alle variabili. L’importante è
lasciare indicate sempre le espressioni dei calcoli eseguiti.
195
per induzione.
Il ragionamento induttivo è il ragionamento che costruisce una situazione
dinamica: s’immagina un insieme di n elementi e ci si chiede: cosa succede
se se ne aggiunge un altro?
Consideriamo l’esempio del numero di sottoinsiemi di un insieme; se U
ha 0 elementi, U = ∅, l’unico sottoinsieme di U è 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 ragion-
amento 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ò e si deve
fare prima di avere la risposta; questa può 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 è 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 otten-
gono tutti i sottoinsiemi di U . Quindi anche i sottoinsiemi di U ∪ {a} del
secondo tipo sono tanti quanti i sottoinsiemi di U . In formule l’insieme dei
sottoinsiemi di U ∪ {a} è dato da
{X | X ⊆ U } ∪ {X ∪ {a} | X ⊆ U },
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 è definita ricorsivamente. Funzioni di questo
genere si ottengono di solito quando si esegue un ragionemento induttivo.
L’argomento delle funzioni definite ricorsivamente sarà affrontato tra breve.
In alcuni casi casi, come l’attuale, da equazioni ricorsive come quella di
sopra, che definiscono implicitamente una funzione, si ricava un’espressione
esplicita.
196
Il ragionamento è di nuovo induttivo; tenendo conto anche della con-
dizione di base, f (0) = 1, si ricavano i seguenti valori
n=0 f (0) = 1
n=1 f (1) = 2
n=2 f (2) = 2 · f (1) = 2 · 2
n=3 f (3) = 2 · f (2) = 2 · 2 · 2 = 23
n=4 f (4) = 2 · f (3) = 2 · 23 = 24
f (n + 1) = 2f (n) = 2 · 2n = 2n+1 .
197
15.5 Esercizi
Sono diversi i campi in cui l’induzione si rivela utile. Il più ricco di appli-
cazioni naturalmente è quello della
Aritmetica
Si dimostri per induzione, e anche in altro modo se possibile:
1 1 1 1 n
1. 2
+ 2·3
+ 3·4
+ ... + n(n+1)
= n+1
n(n+1)(2n+1)
2. 1 + 4 + 9 + . . . + n2 = 6
3. 2 + 4 + . . . + 2n = ?
n3 −n
4. 2 + 6 + 12 + . . . + (n2 − n) = 3
n(n+1)(n+2)
5. 2 + 2 · 3 + 3 · 4 + . . . + n(n + 1) = 3
7. n5 + 4n + 10 è divisibile per 5
Problemi divertenti:
12. Ammettiamo di avere francobolli da 3 e da 5 centesimi. Far vedere che
qualsiasi tassa postale maggiore di 7 può 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.
198
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 è
π(n − 2).
Argomenti di analisi:
18. Se n intervalli su una retta sono a due a due non disgiunti, la loro
intersezione non è vuota.
Suggerimento: anche se la base è n = 2, nella dimostrazione del passo
induttivo occorre (almeno nell’impostazione in mente a chi scrive) uti-
lizzare il caso n = 3, che va dimostrato a parte, sfruttando proprietà di
connessione degli intervalli (se due punti appartengono a un intervallo,
tutti i punti intermedi anche vi appartengono).
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 .
199
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à la mano, quante
strette di mano occorrono?
24. Con quale degli esercizi precedenti si già risolto il problema 20?
Facciamo osservare che molti problemi in cui il passo induttivo, se
s’imposta un ragionamento per induzione, consiste in un +n, come al-
cuni 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; è un’applicazione del cosiddetto principio fonda-
mentale del conteggio che vedremo più avanti.
Teoria degli algoritmi:
25. La Torre di Hanoi. Ci sono tre aste verticali; all’inizio su di una sono
infilzati n dischi con un buco in mezzo, di raggio decrescente dal basso
verso l’alto. Bisogna spostare la pila in un’altra asta, muovendo un
disco alla volta da una pila e infilzandolo in un’altra, servendosi anche
della terza asta come passaggio. La condizione è che in nessun momento
su nessuna pila ci sia un disco al di sotto del quale ce ne è uno di raggio
minore.
200
Fondamenti:
26. Dimostrare che la funzione successore N −→ N \ {0} è suriettiva, o
sopra N \ {0}.
Osservazione. Questo equivale a dimostrare che ∀x(x = 0∨∃y(x = y 0 )).
f (m, 0) = g(m)
f (m, 1) = h(m, f (m, 0))
f (m, 2) = h(m, f (m, 1))
Qui abbiamo considerato il caso di una funzione a due argomenti, di cui uno
funge da parametro.
Più in generale, se sono date due funzioni: g(x1 , . . . , xr ) a r argomenti
e h(x1 , . . . , xr , x, y) a r + 2 argomenti16 , dove r può 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))
15
Con “funzione numerica” intendiamo ora una funzione f : N −→ N, o f : N × N −→ N,
o anche a più argomenti.
16
In verità, per considerare tutti i casi possibili, g ed h non devono avere necessariamente
lo stesso numero di parametri, e h può non dipendere da x.
201
definisce ricorsivamente f (x1 , . . . , xr , x) a partire da g e h.
Questa forma di ricorsione si chiama propriamente ricorsione primitiva,
ma non cosidereremo forme più generali di ricorsione17 .
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; l’equazione di ri-
corsione f (x1 , . . . , xr , x0 ) = h(x1 , . . . , xr , x, f (x1 , . . . , xr , x)) non è del tipo
f (~x) = . . . 18 dove . . . non contiene f , come richiesto dalla definibilità es-
plicita, al contrario la definizione appare circolare.
Un teorema generale, che dipende solo dalla struttura fondamentale di
N, cioè dagli assiomi che abbiamo proposto, afferma 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, è chiaro come si possa ottenere ogni valore con
un numero finito di passi.
L’unicità 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:
202
½
x+0 = x
x + y 0 = (x + y)0 .
203
(x + y) + z = x + (y + z),
per induzione su z.
Base: (x + y) + 0 = x + y = x + (y + 0).
(x + y) + z 0 = ((x + y) + z)0
= (x + (y + z))0
= x + (y + z)0
= x + (y + z 0 ).2
S1
i=1 Ai = A1
Sn+1 Sn
i=1 Ai = ( i=1 Ai ) ∪ An+1
e rispettivamente
T1
i=1 Ai = A1
Tn+1 Tn
i=1 Ai = ( i=1 Ai ) ∩ An+1 .
204
S
N Xi ,
i∈
o
S∞
i=0 Xi ,
si ricorre
S come si è visto alla generalizzazione della definizione originaria:
x ∈ i∈N Xi se e solo se esiste un i ∈ N tale che x ∈ Xi .
Analogamente per l’intersezione.
P1
i=1 ai = a1
Pn+1 Pn
i=1 ai = ( i=1 ai ) + an+1 ,
Pn
o più in generale i=k ai , per n ≥ k ≥ 0, con
Pk
i=k ai = ak
Pn+1 Pn
i=k ai = ( i=k ai ) + an+1 .
P∞
La sommatoria infinita i=0 ai rientra negll’argomento delle serie, studi-
ate in Analisi.
o con un altro metodo che vedremo in seguito e che utilizza anche nella
notazione la definizione di relazione come insieme di coppie ordinate.
205
La ricorsione primitiva può essere combinata con altre forme di definizione,
come la definizione per casi, o essere usata per definire simultaneamente due
funzioni.
Un esempio è la seguente definizione di quoziente e resto per la divisione
di m per n, con m ≥ n > 0 (n è fissato, la ricorsione è su m).
½
qm se rm < n − 1
qm+1 =
qm + 1 se rm = n − 1
½
rm + 1 se rm < n − 1
rm+1 =
0 se rm = n − 1
(qm è un’altra notazione per q(m); si dovrebbe scrivere q(m, n) o qm,n , ma
non è il caso di appesantire la notazione).
Come base della ricorsione si pone, per m = n, qn = 1 e rn = 0. Si
dimostra (esercizio) per induzione su m, con base m = n, che
m = nqm + rm con 0 ≤ rm < n,
ottenendo quindi il teorema fondamentale della divisione
∃q∃r(m = nq + r ∧ 0 ≤ r < n).
a0 = 1
a1 = 1
an+2 = an + an+1 .
Tali forme di ricorsione sono di fatto riconducibili alla ricorsione primitiva,
e le proprietà di una successione come quella di Fibonacci possono essere
meglio dimostrate con un’induzione appropriata, come vedremo, oltre che
con quella normale.
20
Una successione a0 , a1 , . . . di elementi di un insieme U non è altro che una funzione
N −→ U tale che n 7→ an , e si indica {an | n ∈ N} o brevemente {an }.
21
Horstmann, p. 273 e p. 646.
206
15.6.1 Esercizi
1. Dimostrare per induzione che se due insiemi finiti X e Y sono disgiunti,
c(X ∪ Y ) = c(X) + c(Y ).
Suggerimento: l’induzione è su c(Y ), ma occorre dimostrare a parte il
caso in cui c(Y ) = 1, cioè che se a X si aggiunge un elemento a 6∈ X
allora c(X ∪ {a}) = c(X) + 1 (e questo è l’unico momento della di-
mostrazione in cui interviene la condizione che gli insiemi siano dis-
giunti). La dimostrazione richiede il teorema 15.7.1, ne è un immediato
corollario.
207
10. Dimostrare
Pn per induzione che se ai ≥ 0 per ogni i = 1, . . . , n, allora
i=1 ai ≥ 0.
P
11. Dimostrare per induzione che ni=1 a2i = 0 se e solo se ai = 0 per ogni
i = 1, . . . , n.
P P P
12. Dimostrare che ni=1 ai = ki=1 ai + ni=k+1 ai per ogni 1 ≤ k < n.
13. Data la definizione ricorsiva di < del testo, dimostrare che x < y è
equivalente a ∃z 6= 0(x + z = y).
208
15.7 Il principio del minimo
Abbiamo detto che un insieme X è infinito se esiste una iniezione di X su
un sottinsieme proprio di se stesso. Il motivo per cui questa proprietà, che si
chiama anche riflessività di X, è stata assunta come definizione di “infinito”
è che essa è intuitivamente falsa per gli insiemi finiti.
La sua negazione è una caratteristica positiva degli insiemi finiti, che è
utile nelle dimostrazioni che li riguardano, e in combinatoria22 è nota come
il principio dei cassetti (in inglese Pigeonhole Principle):
se si distribuiscono m oggetti in n cassetti, con m > n, in almeno un
cassetto c’è più di un oggetto.
In altre parole, non esiste una iniezione di un insieme con m elementi in
un insieme con n < m elementi, o ancora: ogni funzione da un insieme con
m elementi in un insieme con n < m elementi non è iniettiva.
In una sistemazione rigorosa dei concetti di finito ed infinito, una volta
scelta la riflessività come definizione fondamentale di “infinito”, ed aver for-
mulato gli assiomi per N, il principio dei cassetti diventa dimostrabile.
Consideriamo come tipici insiemi finiti gli insiemi Nn = {0, 1, . . . , n − 1},
con N0 = ∅. Un insieme si dice finito se esiste una biiezione tra di esso e un
Nn .
Abbiamo allora
Passo induttivo: Supponiamo vero per n che per ogni m > n non esista
un’iniezione di Nm in Nn ; supponiamo per assurdo che esista invece un
m > n + 1 con un’iniezione di Nm in Nn+1 , chiamiamola g. Nn+1 =
Nn ∪ {n}. Deve essere n = g(i) per qualche i < m, altrimenti g sarebbe
una iniezione di Nm in Nn .
22
La combinatoria è proprio lo studio degli insiemi finiti.
23
Poiché X ×∅ = ∅ esiste solo una relazione tra X e ∅, la relazione vuota - ∅ è un insieme
di coppie ordinate (e di ogni altra cosa) perché è vero che per ogni x, se x ∈ ∅ x è una
coppia - ma il dominio di ∅ è ∅, non X.
209
Se i = m − 1 eliminiamo la coppia hm − 1, ni; altrimenti scambiamo tra
di loro i valori attribuiti da g a i e a m − 1, ed eliminiamo m − 1 col suo
nuovo valore n; consideriamo cioè g1 cosı̀ definita: g1 (i) = g(m − 1), e
g1 (j) = g(j) per ogni altro j < m − 1, j 6= i. g1 risulta un’iniezione di
Nm−1 in Nn , con m − 1 > n, contro l’ipotesi induttiva. 2
La caratteristica del “finito” di non essere iniettabile propriamente in se
stesso è collegata a proprietà intuitive, come il fatto che in qualunque modo
si conti un insieme finito si arriva sempre allo stesso numero. Se esistesse una
iniezione g di Nm in Nn , con m > n, e se contando gli elementi di un insieme
si fosse arrivati a m − 1, usando tutto Nm , si potrebbe contarli assegnando a
ogni oggetto il numero i < n tale che g(j) = i dove j è il numero attribuito
all’oggetto nel precedente conteggio, e si arriverebbe a contare al massimo
solo fino a n − 1.
210
∃xA(x) → ∃x(A(x) ∧ ∀y < x¬A(y)).
Poiché questo vale per ogni formula, possiamo considerare una formula che
inizi con una negazione, che scriveremo ¬A, e abbiamo
Di qui, contrapponendo
ovvero
e infine
con ∀y < xA(y) che si può considerare l’ipotesi induttiva, nel passo induttivo,
e non c’è più bisogno della base.
Questo non significa che lo 0 sia trascurato; il fatto è che se si dimostra
il passo induttivo nella sua generalità, cioè per ogni x, la dimostrazione vale
anche per 0, per particolarizzazione, e quindi ∀y < 0A(y) → A(0). Ora
tuttavia ∀y < 0A(y) è sempre vero, essendo ∀y(y < 0 → A(y)), ed essendo
l’implicazione soddisfatta da ogni y per l’antecedente falso y < 0. Quindi si
è dimostrato (qualcosa che implica) A(0).
Bisogna fare attenzione che la dimostrazione del passo induttivo non sta- !!!
bilisca la validità di ∀y < xA(y) → A(x) solo per x da un certo punto in
24
Si faccia attenzione che qui e nel seguito ∀y < xA(y) sta per (∀y < xA(y)).
211
poi, ad esempio diverso da 0, eventualità che si può presentare, e allora i
primi casi restanti vanno trattati e dimostrati a parte. Ma non è la base
dell’induzione, è una distinzione di casi all’interno del passo induttivo.
Se interessa dimostrare ∀x > kA(x) naturalmente, è sufficiente dimostrare
come passo induttivo ∀x > k(∀y(k < y < x → A(y)) → A(x)). La giustifi-
cazione consiste nel fatto che N \ Nk+1 (la catena che si ottiene cominciando
da k + 1 invece che da 0) è anch’esso bene ordinato e anche per esso vale il
principio del minimo.
Oppure formalmente si consideri la formula B(x) ↔ x > k → A(x) e si
applichi l’induzione forte a B, cioè si mostri che da
segue
cioè proprio
Esempi
Il teorema che ogni numero naturale > 1 ammette una scomposizione
in fattori primi25 si dimostra per induzione forte nel seguente modo: dato
un numero n, o n è primo, oppure è il prodotto di due numeri minori di
n e maggiori di 1. Se la proprietà vale per tutti i numeri minori di n e
25
La formulazione concisa significa che ogni numero > 1 o è primo o è un prodotto di
numeri primi. Vale anche l’unicità della scomposizione, che non dimostriamo.
212
maggiori di 1, per ipotesi induttiva, questi due o sono primi o ammettono
una scomposizione in fattori primi, e allora anche il loro prodotto n ammette
una scomposizione in fattori primi. 2
Nella dimostrazione del passo induttivo per
1 − 12 + 13 + . . . + (−1)n−1 n1 > 0
si erano distinti due casi, a seconda che n fosse pari o dispari. Con l’induzione
forte la distinzione rimane ma non porta a due dimostrazioni diverse. Si può
ragionare nel seguente modo: se la disuguaglianza vale per ogni m < n allora
se n è pari vale
1 − 12 + 13 + . . . − 1
n−2
>0
e quindi
1 − 12 + 13 + . . . − 1
n−2
1
+ ( n−1 − n1 ) > 0
1
perché ( n−1 − n1 ) > 0, mentre se n è dispari
1 − 12 + 13 + . . . − 1
n−1
>0
e quindi
1 − 12 + 13 + . . . − 1
n−1
+ 1
n
> 0. 2
213
possibilità è forse la ragione della attribuzione di “forte” a questo tipo di
induzione.
Da un punto di vista logico, la giustificazione dell’appellativo “forte” è
che la stessa conclusione ∀xA(x) si ottiene nell’induzione forte da un’ipotesi
∀x(∀y < xA(y) → A(x)) più debole di A(0)∧∀x(A(x) → A(x+1)). Questa ul-
tima affermazione sulla forza delle rispettive ipotesi a sua volta si giustifica col
fatto che una stessa conclusione A(x) si ottiene una volta con un’assunzione
forte come ∀y < xA(y) e una volta con l’assunzione più debole che A valga
solo per il predecessore.
Si tratta tuttavia di impressioni psicologiche. Il motivo per cui la dizione
“forte” non è del tutto appropriata è che l’induzione forte è equivalente a
quella normale.
La conclusione ∀xA(x) a partire da ∀x(∀y < xA(y) → A(x)) si può gius-
tificare infatti formalmente nel seguente modo. Si considera la formula
B(x) ↔ ∀y < xA(y)
e si dimostra ∀xB(x) (da cui segue ovviamente ∀xA(x)) per induzione su x,
utilizzando anche ∀x(∀y < xA(y) → A(x)) nel corso della dimostrazione:
214
. . . < an+1 < an < . . . < a0 , l’insieme {an | n ∈ N } non avrebbe min-
imo. Viceversa, dato un insieme non vuoto X, preso un suo elemento a0 ,
se non è il minimo di X si può trovare un altro suo elemento a1 < a0 , e se
neanche a1 è il minimo si continua, ma siccome la successione cosı̀ generata
non può essere infinita, si trova un ak che è il minimo di X. 2
215
pn allora esiste (teorema di Euclide) un numero primo maggiore di pn , e uno
che dalla dimostrazione dell’infinità dei primi si sa che è minore o uguale a
2 · 3 · 4 · . . . · pn + 1.
Si definisce allora pn+1 come il minimo numero primo maggiore di pn .
La definizione è corretta in base solo al principio del minimo, ma l’esistenza
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.
A(0) Base
A(1) Base
∀x(A(x) ∧ A(x0 ) → A(x00 )) P asso induttivo
∀xA(x).
Questa forma di induzione si giustifica, come quella forte, con l’induzione
normale, considerando la formula
B(x) ↔ A(x) ∧ A(x0 )
e dimostrando ∀xB(x) (da cui ovviamente ∀xA(x)) per induzione, utilizzando
le assunzioni relative ad A:
Base: B(0) segue da A(0) e A(1).
Passo induttivo: Ammesso B(x), quindi A(x) ∧ A(x0 ), dal passo induttivo
per A si deduce A(x00 ), quindi A(x0 ) ∧ A(x00 ), cioè B(x0 ). 2
Varianti di questo genere corrispondono ad analoghe varianti della ricor-
sione primitiva, e permettono di dimostrare le proprietà della funzioni cosı̀
definite. Ad esempio la forma di induzione di sopra è quella adatta a di-
mostrare proprietà della successione di Fibonacci27
27
Nella precedente definizione si era posto a0 = a1 = 1; con questa, altrettanto usata,
si premette uno 0 e gli altri valori sono solo slittati di un posto.
216
0, 1, 1, 2, 3, 5, 8, 13, . . .
le radici dell’equazione x2 − x − 1 = 0, o
x2 = x + 1,
an = √1 (αn − β n ).
5
Dimostrazione
an = an−1 + an−2
quindi
Ma α + 1 = α2 e β + 1 = β 2 , per cui
an = √1 (αn − β n ). 2
5
217
L’induzione doppia è un’altra variante dell’induzione.
Quando la formula da dimostrare è del tipo ∀x∀yB(x, y), se si esegue
un’induzione su x la formula di induzione è ∀yB(x, y) e nel passo induttivo,
quando si deve derivare
può darsi che ∀yB(x0 , y) richieda di essere derivata a sua volta per induzione
(anche con l’utilizzo di ∀yB(x, y) che è l’ipotesi induttiva dell’induzione su
x).
Si parla allora di induzione doppia, anche se si tratta di due appli-
cazioni di un’induzione normale, solo che una è all’interno del passo induttivo
dell’altra; bisogna fare attenzione a indicare con pulizia le varie tappe della
dimostrazione, perché nel passo induttivo dell’induzione su y si avrà a dis-
posizione l’ipotesi induttiva relativa all’induzione su y e l’ipotesi induttiva
relativa all’induzione più esterna su x.
Non è facile trovare esempi elementari in cui il ricorso all’induzione doppia
è proprio necessario28 . Diamo un esempio per mostrare come si organizzano
i passi della dimostrazione, scegliendo la commutatività dell’addizione, an-
che se per questa proprietà l’induzione doppia si potrebbe evitare (e dopo
mostreremo come).
Dimostriamo quindi
∀x∀y(x + y = y + x),
e iniziamo con un’induzione su x.
Basex : Dobbiamo dimostrare
∀y(0 + y = y + 0).
ovvero
∀y(0 + y = y).
28
Nel primo teorema del paragrafo 15.7 abbiamo visto un esempio in cui la formula
d’induzione era universale ma non ha richiesto l’induzione doppia.
218
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.
∀y(x0 + y = y + x0 )
per induzione su y.
Basey : Da dimostrare è
x0 + 0 = 0 + x0 .
Ma
0 + x0 = (0 + x)0
= (x + 0)0
(il precedente passaggio per l’ipotesi induttivax particolarizzando
∀y a 0)
= x0
= x0 + 0 .
Passo induttivoy : Assumiamo l’ipotesi 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
219
y 0 + x0 = (y 0 + x)0
= (x + y 0 )0
= (x + y)00
= (y + x)00
Base: 0 + 1 = (0 + 00 ) = (0 + 0)0 = 00 = 1 = 1 + 0.
1 + x0 = (1 + x)0
= (x + 1)0
= (x + 1) + 1
= x0 + 1.2
∀y(x + y = y + x)
per induzione su y:
220
Base: x + 0 = 0 + x.
x + y 0 = (x + y)0 = (y + x)0
= (y + x) + 1
= y + (x + 1)
= y + (1 + x)
= (y + 1) + x
= y 0 + x.2
221
nuovo mucchio. Qualunque mucchio di sabbia, di qualsiasi peso, si ottiene
accumulando un numero sufficiente di granelli di sabbia. 2
Sul prossimo sarebbero d’accordo i matematici, e non si può dire che sia
un errore, né un paradosso, sembra solo paradossale.
222
diversi dai numeri, in generale insiemi, relazioni. La formulazione più gen-
erale quindi si dà in termini insiemistici; una tipica definizione induttiva si
presenta nella forma seguente.
Dato un insieme B e una funzione F che manda insiemi in insiemi, si
pone
½
I0 = B
In+1 = F (In ),
oppure, nella forma cumulativa, che garantisce che In ⊆ In+1 per ogni n,
½
I0 = B
In+1 = In ∪ F (In ).
Quindi si pone
S
I= {In | n ∈ N}
e si dice che I è definito induttivamente, o per induzione, mediante F , con
base B.
I risulta un insieme qualunque, dipende da B e F , può anche essere un
insieme di coppie, o un insieme di altre strutture.
F anche è una funzione qualunque, ma in generale si prende crescente,
rispetto all’inclusione, nel senso che se X ⊆ Y allora F (X) ⊆ F (Y ), e
continua, rispetto all’unione, nel senso che “F della unione uguale unione
degli F ”:
S S
F ( {Xj | j ∈ J }) = {F (Xj ) | j ∈ J }.
Si può sempre fare in modo di utilizzare una funzione crescente ponendo
F 0 (X) = X ∪ F (X). Se F è continua, la definizione cumulativa si può anche
esprimere con
S
In = F ( i<n Ii )
avendo posto
Sn−1
S i=0 Xi se n>0
i<n Xi =
∅ se n=0
223
e ovviamente F (∅) = B.
Esempi
L’insieme dei polinomi in x a coefficienti reali si può definire con
½
P0 =R
Pn+1 = {x · p + c | p ∈ Pn , c ∈ R}
e
S
P = {Pn | n ∈ N }.
F (X) = {x · p + c | p ∈ X, c ∈ R},
che si vede facilmente essere crescente e continua, come sarà anche negli
esempi successivi.
L’insieme dei termini T costruiti con 0, 1, x, + e · si può definire con
½
T0 = {0, 1, x}
Tn+1 = Tn ∪ {t1 + t2 | t1 , t2 ∈ Tn } ∪ {t1 · t2 | t1 , t2 ∈ Tn }
e
S
T = {Tn | n ∈ N }.
I due tipi di definizione si dicono anche definizione dal basso (quella in-
duttiva con l’unione) e dall’alto, per intersezione.
224
Un modo di esprimere in simboli il fatto che un insieme X è il più pic-
colo insieme che ha una certa proprietà P è infatti quello di dire che X è
l’intersezione (generalizzata) di tutti gli Y tali che P (Y ), quando l’intersezione
ha ancora la proprietà P . !!!
Questo succede ad esempio se la proprietà P consiste, come nel caso
attuale, nel contenere un dato insieme o nell’essere chiusi rispetto a una
funzione. Non è sempre cosı̀, ad esempio nel campo reale l’intersezione di tutti
gli intervalli che contengono propriamente l’intervallo (−1, 1) è l’intervallo
chiuso [−1, 1] (estremi inclusi), che ha ancora la stessa proprietà; invece
l’intersezione di tutti gli intervalli aperti (−x, x) è l’insieme {0}, che non è
un intervallo aperto29 .
Facciamo vedere che le due definizioni di I sono equivalenti, se si usa
l’induzione cumulativa ed F è crescente e continua, e a questo scopo chiami-
amo J l’insieme definito dall’alto:
T
J = {X | B ⊆ X ∧ ∀Y (Y ⊆ X → F (Y ) ⊆ X)}.
225
Di solito infatti la funzione F è precisata da una serie di operazioni da
compiere sugli elementi dell’insieme In per ottenere In+1 e allora per ogni
operazione si ha una clausola induttiva.
La definizione del precedente insieme di termini T si presenta nel seguente
nel seguente modo:
Base: 0, 1, x sono termini
Clausola induttiva 1: Se t1 e t2 sono termini, anche t1 + t2 è un termine.
Clausola induttiva 2: Se t1 e t2 sono termini, anche t1 · t2 è un termine.
226
Base: Un singoletto {•} è un albero, che è radice, in quanto non ha prede-
cessori immediati, ed è foglia in quanto non ha successori immediati (o
figli).
mentre A1 contiene
• • •
↓ .&
• • •
e A2 oltre a quelli di A1
• • •
↓ ↓ .&
• • • •
↓ .& ↓
• • • •
• • •
.& .& .&
• • • • • •
↓ .& ↓ .&
• • • • • •
• • •
.& .& .&
• • • • • •
.& .& ↓ .& .&
• • • • • • •• •
227
Infine mostriamo come si definisce una relazione, come insieme di coppie,
anche se spesso per le relazioni si adottano equivalenze di tipo ricorsivo, come
abbiamo visto per <. Proprio la relazione < si può definire con
½
I0 = {hx, x0 i | x ∈ N }
In+1 = In ∪ {hx, y 0 i | hx, yi ∈ In },
e I = <, che mostra come < sia l’iterazione della relazione “successore” (che
è la base I0 ).
La definizione ricorsiva che abbiamo visto in precedenza, da cui segue
mostra anch’essa come < sia l’iterazione del successore, dal momento che
l’addizione è l’iterazione del successore; quest’ultima equivalenza peraltro è
piuttosto la definizione di una formula, che a sua volta definisce la relazione,
che non la definizione della relazione come insieme.
Un altro modo di presentare la relazione < è quello di definirla come la
chiusura transitiva della relazione successore S = {hx, x0 i | x ∈ N }.
La chiusura transitiva di una relazione S è la più piccola relazione che
estende S ed è transitiva; se scriviamo
Esempi
228
La relazione d’ordine parziale negli alberi è la chiusura transitiva della
relazione di successore immediato che è inclusa nella definizione ricorsiva
degli alberi.
La relazione “B è una sottoproposizione di A” è la chiusura transitiva
della relazione “B è una sottoproposizione immediata di A” della definizione
del paragrafo 3.2.1.
229
Ogni proposizione ha un numero pari di parentesi.
Dimostrazione Per induzione forte. Supponiamo che tutte le proposizioni di
altezza minore di n abbiano un numero pari di parentesi. Indichiamo con ]A
il numero di parentesi di A.
Sia A una proposizione di altezza n. Se n = 0, la proposizione è atomica,
della forma (p), e ha due parentesi.
Se n > 0, A è una proposizione composta, e il fatto cruciale è che le sue
componenti hanno altezza minore di quella di A. Si danno due casi.
Se A è (¬B), per ipotesi induttiva ]B è un numero pari e ]A = ]B + 2 è
anch’esso pari.
Se A è (B • C) composta con un connettivo binario, per ipotesi induttiva
]B e ]C sono pari e ]A = ]B + ]C + 2 è anch’esso pari. 2
230
S∞
P= i=3 L≤
i
dove L≤
i è l’insieme delle proposizioni che hanno lunghezza ≤ i.
15.10.1 Esercizi
Dimostrare per induzione
2. Ogni proposizione inizia con una parentesi sinistra e termina con una
parentesi destra.
11. Dimostrare per induzione sul numero di lettere che il numero delle
interpretazioni delle proposizioni A[p1 , . . . , pn ] è 2n .
231