logic a

140
Universit` a di Udine FACOLTA’ DI SCIENZE MM.FF.NN. Corso di Laurea in Informatica dispense di Logica Matematica 1 Alberto Marcone e-mail: [email protected] pagina web: http://users.dimi.uniud.it/˜alberto.marcone/LM1.html Versione definitiva (14 gennaio 2010) Anno Accademico 2009–2010

Upload: marcoscimbro

Post on 23-Jun-2015

116 views

Category:

Documents


2 download

TRANSCRIPT

Universita di Udine

FACOLTA’ DI SCIENZE MM.FF.NN.

Corso di Laurea in Informatica

dispense di

Logica Matematica 1

Alberto Marcone

e-mail: [email protected]

pagina web: http://users.dimi.uniud.it/˜alberto.marcone/LM1.html

Versione definitiva (14 gennaio 2010)

Anno Accademico 2009–2010

Indice

Presentazione iii

Introduzione 1

Parte 1. La logica proposizionale 4

Capitolo 1. Sintassi della logica proposizionale 51. Formule proposizionali 52. Usare meno parentesi: precedenze tra connettivi 73. Sottoformule 8

Capitolo 2. Semantica della logica proposizionale 91. Valutazioni e interpretazioni 92. Equivalenza e conseguenza logica 103. Validita e soddisfacibilita 144. Una procedura di decisione: le tavole di verita 165. Traduzioni dal linguaggio naturale 18

Capitolo 3. Forma normale congiuntiva e disgiuntiva 211. Definizione di forma normale congiuntiva e disgiuntiva 212. Doppie negazioni, �-formule e �-formule 223. Gli algoritmi di Fitting 224. Terminazione forte degli algoritmi di Fitting 26

Capitolo 4. Il metodo dei tableaux: caso proposizionale 281. Coppie complementari 282. Esempi preliminari 293. L’algoritmo 304. Terminazione forte dei tableaux 315. Correttezza e completezza del metodo dei tableaux 336. Semplificare i tableaux 377. I tableaux e la conseguenza logica 38

Capitolo 5. La deduzione naturale: caso proposizionale 401. Caratteristiche di un sistema deduttivo 402. La deduzione naturale proposizionale 433. Le regole della deduzione naturale proposizionale 474. Correttezza e completezza della deduzione naturale proposizionale 485. La deduzione naturale e la logica intuizionistica 496. Esempi di deduzione naturale proposizionale 50

i

ii INDICE

Parte 2. La logica predicativa 55

Capitolo 6. Sintassi della logica predicativa 561. Linguaggi predicativi 562. Termini 573. Formule predicative 594. Variabili libere e enunciati 615. Sottoformule 636. Sostituzioni in formule 647. Linguaggi con uguaglianza 66

Capitolo 7. Semantica della logica predicativa 671. Interpretazioni e soddisfazione 672. Equivalenza e conseguenza logica 723. Il lemma di sostituzione 744. Alcune equivalenze logiche notevoli 765. Trasformazione in forma prenessa 796. Validita e soddisfacibilita 847. Logica con uguaglianza 86

Capitolo 8. Traduzioni dal linguaggio naturale 891. Traduzioni di frasi 892. Traduzioni di argomenti 923. Traduzioni con uguaglianza 944. Traduzioni in linguaggi multisorta 95

Capitolo 9. Interpretazioni elementarmente equivalenti 971. Equivalenza elementare e omomorfismi forti 972. Relazioni di congruenza 1013. Applicazione alla logica con uguaglianza 103

Capitolo 10. Il metodo dei tableaux: caso predicativo 1041. Letterali, e �-formule 1042. Esempi preliminari 1053. L’algoritmo 1094. La correttezza dei tableaux predicativi 1115. La costruzione sistematica dei tableaux 1136. Cenni sulla completezza dei tableaux predicativi 1157. Tableaux per la conseguenza logica 1188. Tableaux per la logica con uguaglianza 1189. Tableaux per linguaggi con simboli di funzione 119

Capitolo 11. La deduzione naturale: caso predicativo 1211. La deduzione naturale e i quantificatori 1212. Le regole della deduzione naturale predicativa 1263. Correttezza e completezza della deduzione naturale predicativa 1274. Esempi di deduzione naturale predicativa 1295. Deduzione naturale per la logica con uguaglianza 134

Presentazione

Queste dispense raccolgono il materiale (teoria ed esercizi) sviluppato nell’annoaccademico 2009–2010 nel corso di Logica Matematica 1 del Corso di Laureain Informatica triennale dell’Universita di Udine, riformato ex DM 270/04. A par-tire da questo anno accademico questo corso ha sostituito quello di Elementi diLogica Matematica, segnando un raddoppio dei crediti dedicati alla Logica Ma-tematica nella laurea triennale (da 3 a 6). Percio il materiale coperto dal corso, eche quindi compare in queste dispense, e stato sensibilmente ampliato.

Ringrazio quanti hanno contribuito o contribuiranno, con le loro segnalazionidi errori, imprecisioni ed omissioni, a migliorare queste dispense.

Alberto Marcone

iii

Introduzione

Sia la logica che l’informatica si occupano di problemi legati alla formalizzazio-ne, elaborazione e comunicazione della conoscenza. Alcune delle radici dell’infor-matica, che e una disciplina relativamente nuova, sono proprio nella logica. Da unlato la logica si e occupata, soprattutto a partire dal lavoro di Alan Turing intornoal 1935, di studiare il concetto astratto di computer (prima ancora che i computersvenissero effettivamente realizzati), dall’altro l’informatica ha l’esigenza di un lin-guaggio formale e sintatticamente preciso. La logica e la disciplina che da sempresi e occupata dello studio delle leggi del ragionamento. A partire dalla fine del XIXsecolo, e con sempre maggior successo fino ad oggi, questo si e sviluppato attraversola costruzione e lo studio con strumenti matematici dei linguaggi formali.

Per capire le problematiche che affronteremo iniziamo con il considerare tresemplici esempi di “deduzione”, in cui da due affermazioni di partenza se ne deduceuna terza (nella colonna di destra abbiamo riportato le traduzioni in un opportu-no linguaggio formale delle affermazioni della colonna di sinistra: rendere precisequeste traduzioni e tra gli scopi di queste dispense).

Ogni cane e un mammifero ∀x(c(x) → m(x))Esistono cani non bianchi ∃x(c(x) ∧ ¬b(x))Non ogni mammifero e bianco ¬∀x(m(x) → b(x))

Alcuni studenti sono biondi ∃x(s(x) ∧ b(x))Alcuni biondi hanno gli occhi azzurri ∃x(b(x) ∧ a(x))Qualche studente biondo ha gli occhi azzurri ∃x(s(x) ∧ b(x) ∧ a(x))

Ogni computer e una mucca ∀x(c(x) → m(x))Esistono computer non biondi ∃x(c(x) ∧ ¬b(x))Non ogni mucca e bionda ¬∀x(m(x) → b(x))

Il primo e il terzo esempio, pur parlando di argomenti assai diversi, e facendoaffermazioni piu o meno sensate, hanno la stessa forma, e infatti le formule checompaiono nella colonna di destra risultano essere identiche. Queste due deduzionisono (in un senso che renderemo preciso piu avanti) argomenti corretti, e cio dipendesolo dalla loro forma, cioe dalle formule della colonna di destra.

Il secondo esempio, pur facendo asserzioni presumibilmente vere e deducendoneuna conclusione presumibilmente vera, non e un argomento corretto: possiamoconcepire una situazione in cui tutti gli studenti biondi hanno gli occhi neri, puresistendo studenti biondi e persone bionde con gli occhi azzurri. Invece, per quantopossa essere assurda la situazione descritta, se siamo in una situazione in cui ognicomputer e una mucca ed esistono computer non biondi, allora necessariamentenon tutte le mucche sono bionde.

Gli esempi precedenti hanno lo scopo di evidenziare come il nostro interesse siconcentri sulla correttezza degli argomenti indipendentemente dal modo in cui leasserzioni contenute in essi vengono “interpretate”, ovvero tenendo conto di tutte le

1

2 INTRODUZIONE

possibili interpretazioni di queste asserzioni. Percio dal punto di vista della logicail primo e il terzo esempio sono del tutto equivalenti.

In questo corso ci concentreremo quindi sulla manipolazione di formule di lin-guaggi formali, allo scopo di individuare precisamente cosa significa affermare che apartire da un insieme di formule possiamo dedurre logicamente una formula e comepossiamo fare per riconoscere se cio avviene o meno.

Il nostro oggetto di studio saranno quindi le formule e gli insiemi di formule.Questo comporta un’analisi del linguaggio formale che utilizziamo.

L’analisi di un linguaggio formale ha essenzialmente due aspetti:

∙ la sintassi: le “regole” per la costruzione di un linguaggio formale e dellesue espressioni (termini e formule);

∙ la semantica: il “significato” dei termini e delle formule di un linguaggioformale, analizzato attraverso le nozioni di interpretazione e di soddisfa-zione, che conducono a quelle di equivalenza logica, conseguenza logica,soddisfacibilita e validita.

Per applicare questa analisi del linguaggio formale introdurremo

∙ i calcoli logici: gli “algoritmi” che ci permettono di stabilire le pro-prieta semantiche di certe formule lavorando solo con la loro sintassi.

Inizieremo lo studio di sintassi e semantica in un caso piuttosto semplice, mache permette di acquisire familiarita con le idee principali della materia, quello dellalogica proposizionale. Ad essa e dedicata la prima parte di queste dispense.

∙ Nel capitolo 1 definiremo la sintassi della logica proposizionale, cioe leregole che ci permettono di costruire formule in questa logica.

∙ Il secondo capitolo e dedicato alla definizione della semantica della logicaproposizionale, che conduce alle importanti nozioni di conseguenza logica

(che e la definizione matematicamente precisa della nozione intuitiva di“deduzione corretta”) e di formula valida. Nell’ultima sezione di questocapitolo vedremo alcuni esempi di traduzione di asserzioni da un linguag-gio naturale (quale l’italiano) ad un linguaggio formale (quale appunto lalogica proposizionale).

∙ Nel capitolo 3 vengono presentate alcune procedure che permettono ditrasformare (in modo puramente sintattico) una formula della logica pro-posizionale in una formula ad essa logicamente equivalente (una nozio-ne semantica) che abbia una forma (sintattica) particolarmente sempli-ce. Visto che il corso e indirizzato a studenti di informatica, particolareattenzione sara dedicata agli aspetti algoritmici di queste trasformazioni.

∙ Nel quarto capitolo viene introdotto un primo calcolo logico: il metododei tableaux e un algoritmo relativamente efficiente per stabilire se unaformula della logica proposizionale e valida.

∙ Nel capitolo 5 viene introdotto (sempre nel caso proposizionale) un altrocalcolo logico: la deduzione naturale, che formalizza i metodi di dimostra-zione utilizzati per dedurre da certe ipotesi una conclusione.

La seconda parte delle dispense e invece dedicata alla logica predicativa (dettaanche logica del prim’ordine). Rivedremo quanto visto nel caso piu semplice delcalcolo proposizionale, concentrandoci in particolare sugli aspetti piu complessi checaratterizzano la logica predicativa.

∙ Il sesto capitolo e dedicato alla sintassi della logica predicativa. Diversesono le differenze con il caso proposizionale: a partire da variabili, simbolidi costante e di funzione si arriva dapprima alla nozione di termine, e soloa partire da essa, con l’uso dei simboli di relazione e dei quantificatori, sidefiniscono le formule.

INTRODUZIONE 3

∙ Nel settimo capitolo viene sviluppata la semantica della logica predicativa,assai piu complessa di quella vista nel contesto proposizionale, basatasulle nozioni di assegnazione e di interpretazione. Anch’essa conduce allenozioni di conseguenza logica e di validita che sono da considerarsi leprincipali di questo corso.

∙ Il capitolo 9 affronta molto brevemente lo studio (di cui si occupa unimportante settore della logica matematica moderna, la teoria dei modelli)delle relazioni che possono intercorrere tra interpretazioni del medesimolinguaggio.

∙ Nel capitolo 8 viene affrontata la traduzione di asserzioni da un linguaggionaturale ad un linguaggio formale (in questa sede la logica predicativa).Il lettore potra apprezzare la maggior espressivita della logica predicativarispetto al calcolo proposizionale.

∙ Nel decimo capitolo viene affrontato, in modo sintetico e senza forniretutte le dimostrazioni, il metodo dei tableaux nel caso predicativo. Sa-ranno messe in risalto le notevoli, ed intrinseche, differenze con il casoproposizionale, ed in particolare la possibilita che il metodo non termini.

∙ Infine, nel capitolo 11 la deduzione naturale viene estesa al caso predica-tivo.

Gli esercizi inseriti nel testo sono parte integrante delle dispense e si invita illettore a tentare sistematicamente di svolgerli. Gli esercizi o le parti di eserciziocontrassegnati con (★) sono piu impegnativi, e spesso richiedono una certa “maturitamatematica”.

La durata limitata del corso non permette un’introduzione esaustiva a tutti inumerosi aspetti della logica matematica di interesse per l’informatica: ulterioriapprofondimenti sono lasciati al corso piu avanzato offerto nel Corso di LaureaMagistrale.

Parte 1

La logica proposizionale

CAPITOLO 1

Sintassi della logica proposizionale

Nella logica proposizionale partiamo da alcune affermazioni che non possonovenir scomposte in affermazioni piu semplici e di cui supponiamo di poter stabilireverita o falsita. Affermazioni di questo tipo sono ad esempio: “la terra e una sfera”,“oggi piove”, “Roma e la capitale della Francia”, “Claudio e Maria sono amici”.

A partire da questi atomi costruiamo delle affermazioni piu complesse, quali“oggi piove oppure Claudio e Maria sono amici”, “la terra non e una sfera”, “seRoma e la capitale della Francia allora oggi piove”, “se oggi piove allora Claudioe Maria sono amici e Roma non e la capitale della Francia”. La costruzione diaffermazioni piu complesse avviene per mezzo di connettivi quali “e”, “non”, “se . . .allora . . . ”, “oppure”. La verita o falsita di un’affermazione complessa dipende dallaverita o falsita degli atomi da cui essa e stato costruita. Ad esempio l’affermazione“oggi piove e Claudio e Maria sono amici” e vera se e solo se entrambe le affermazioniatomiche “oggi piove” e “Claudio e Maria sono amici” sono vere.

Il lettore si sara accorto che un’analisi di questo tipo si applica solo a frasidel linguaggio naturale (nel nostro caso l’italiano) di un certo tipo. Non ha sensostabilire se frasi interrogative come “oggi piove?” sono vere o false, e quindi questefrasi non rientrano nel nostro oggetto di analisi. Lo stesso si puo dire per frasiimperative come “vai a comprare il latte!”. D’altra parte affermazioni a primavista complesse come “ogni amico di Angela e amico anche di Bruna” non possonoessere scomposte in affermazioni piu semplici da cui sono state costruite usandoi connettivi. Dal punto di vista della logica proposizionale questa affermazionee dunque un atomo. Vedremo pero nella seconda parte del corso che la logicapredicativa permette di analizzare assai meglio questo tipo di affermazioni.

1. Formule proposizionali

Per approfondire la nostra analisi dobbiamo definire in modo matematicamen-te preciso il concetto di affermazione che finora abbiamo discusso con riferimen-to al linguaggio naturale. Nell’ambito della logica matematica un’affermazione erappresentata da una formula, nel nostro caso della logica proposizionale.

Definizione 1.1. Sia P un insieme, i cui elementi verranno chiamati lettere pro-posizionali o formule proposizionali atomiche. P determina un linguaggio proposi-zionale, le cui formule saranno costruite utilizzando gli elementi di P e i seguentisimboli logici proposizionali :

∙ i connettivi proposizionali sono i quattro simboli ¬, ∧, ∨ e →, che sonochiamati rispettivamente negazione, congiunzione, disgiunzione e implica-zione; il primo e un connettivo unario, mentre i restanti tre sono connettivibinari ;

∙ le parentesi sono i due simboli ( e ).

Convenzione 1.2. Nella prima parte (corrispondente ai primi cinque capitoli) diqueste dispense le lettere p, q, r, s, . . . (eventualmente fornite di pedice: p0, q1, pi, . . . )rappresentano sempre lettere proposizionali del linguaggio che stiamo considerando.

5

6 1. SINTASSI DELLA LOGICA PROPOSIZIONALE

Una formula proposizionale e una stringa di lettere proposizionali, connettiviproposizionali e parentesi, costruita secondo le regole specificate dalla prossimadefinizione.

Definizione 1.3. L’insieme delle formule proposizionali (o, limitatamente ai primicinque capitoli, formule) e definito per ricorsione come segue:

∙ se p ∈ P allora p e una formula;∙ se F e una formula allora (¬F ) e una formula;∙ se F e G sono formule allora (F ∧G) e una formula;∙ se F e G sono formule allora (F ∨G) e una formula;∙ se F e G sono formule allora (F → G) e una formula.

La formula (¬F ) viene letta “non F”, la formula (F ∧G) viene letta “F e G”oppure “F et G”, la formula (F ∨ G) viene letta “F oppure G” o anche “F velG” (“vel” e una delle due forme di “oppure” in latino, vedi nota 2.5), la formula(F → G) viene letta “se F allora G” oppure “F implica G”.

Esempio 1.4. La definizione 1.3 ci permette di riconoscere se una certa stringadi simboli e una formula. E’ facile verificare che ∧p → non e una formula (none un elemento di P e non e stata costruita utilizzando nessuna delle altre quattrocondizioni). D’altra parte ((¬p)∨q) e una formula: per verificarlo dettagliatamentesi osserva che sono formule p, (¬p), q ed infine ((¬p)∨ q) stessa (abbiamo utilizzatonell’ordine la prima, la seconda, la prima e la quarta condizione della definizione1.3).

Esercizio 1.5. Quali delle seguenti stringhe di simboli sono formule? (∨pq),(¬(p → (q ∧ p))), ((p ∧ q) → (r ∨ )), ((p ∧ (¬q)) ∨ (q → r)), (p¬r), (∧p), p→ q.

Notazione 1.6. Nel seguito le lettere maiuscole F , G e H , eventualmente fornitedi pedice, indicheranno sempre formule (proposizionali nei primi cinque capitoli,predicative nei capitoli seguenti). Con le lettere maiuscole greche Γ, Δ e Σ in-dicheremo invece insiemi di formule. Con Γ, F indicheremo l’insieme Γ ∪ {F} esimilmente Γ, F,G significa Γ ∪ {F,G}.Definizione 1.7. Una formula H e:

∙ una negazione se e della forma (¬F ) per qualche formula F ;∙ una congiunzione se e della forma (F ∧G) per formule F e G, che vengonodetti i congiunti di H ;

∙ una disgiunzione se e della forma (F ∨G) per formule F e G, che vengonodetti i disgiunti di H ;

∙ un’implicazione, se e della forma (F → G) per formule F e G; in questocaso F e detto l’antecedente di H , mentre G e il conseguente di H .

Il seguente lemma ci permette di classificare le formule in cinque insiemi di-sgiunti.

Lemma 1.8. Ogni formula proposizionale e di uno e uno solo dei seguenti cinquetipi:

∙ una lettera proposizionale;∙ una negazione;∙ una congiunzione;∙ una disgiunzione;∙ un’implicazione.

Esercizio 1.9. Di che tipo sono la formula ((¬p) ∨ q) e le stringhe dell’esercizio1.5 che sono formule?

2. USARE MENO PARENTESI: PRECEDENZE TRA CONNETTIVI 7

La definizione 1.3 e ricorsiva, e questo ci permette di dimostrare proprieta delleformule ragionando per ricorsione. Una dimostrazione di questo tipo e giustificatadal seguente teorema e viene detta per induzione sulla complessita delle formule.

Teorema 1.10 (Induzione sulla complessita delle formule). Sia A una proprietache puo valere per le stringhe di simboli. Supponiamo di dimostrare che

∙ A(p) vale per ogni p ∈ P;∙ se vale A(F ) per una formula F allora vale anche A((¬F ));∙ se valgono A(F ) e A(G) per formule F e G allora vale anche A((F ∧G));∙ se valgono A(F ) e A(G) per formule F e G allora vale anche A((F ∨G));∙ se valgono A(F ) e A(G) per formule F e G allora vale anche A((F → G)).

Allora A(F ) vale per ogni formula F .

Similmente e possibile dare definizioni procedendo per ricorsione sulla comples-sita delle formule. Anziche dare una descrizione generale di questo procedimento,preferiamo fornire un esempio del suo utilizzo.

Definizione 1.11. Il grado della formula F , indicato con g(F ), e definito da:

∙ g(F ) = 0 se F e una lettera proposizionale;∙ g(¬F ) = g(F ) + 1;∙ g(F ∧G) = g(F ∨G) = g(F → G) = g(F ) + g(G) + 1.

Esercizio 1.12. Calcolare il grado delle formule dell’esempio 1.4 e dell’esercizio1.5.

Esercizio 1.13. (★) Dimostrare per induzione sulla complessita delle formule cheil grado di F e il numero di connettivi che compaiono in F .

2. Usare meno parentesi: precedenze tra connettivi

Il lettore che ha svolto con cura l’esercizio 1.5 si sara accorto che la nostradefinizione di formula comporta l’uso di molte parentesi, piu di quelle a cui siamosolitamente abituati. Si considerino ad esempio le stringhe (¬((¬p) → (q ∧ (¬r)))),(¬((¬p) → (q∧(¬r))) e p∧q: secondo la nostra definizione la prima e una formula, laseconda no (perche una parentesi aperta non si “chiude”) e la terza neppure, a causadella mancanza di parentesi. La differenza tra la prima e la seconda stringa e perodifficile da cogliere, almeno all’occhio umano, proprio a causa dell’alto numero diparentesi. La terza stringa e invece di facile lettura, e forse l’abbiamo gia incontratacome formalizzazione di “p e q”. Secondo le nostre regole la formula che si legge “pe q” e (p ∧ q), appesantita dalle parentesi esterne.

Per semplificare la lettura introdurremo ora alcune regole di precedenza tra iconnettivi. Per capire cio che intendiamo fare e bene richiamare le regole sull’usodelle parentesi in aritmetica, con cui siamo talmente familiari da non accorgercineppure piu del loro utilizzo. In quel contesto la scrittura a ⋅ b + c va intesa come(a ⋅ b)+ c e non come a ⋅ (b+ c): questo perche alla moltiplicazione e stata assegnata(per convenzione universalmente accettata) precedenza sull’addizione. Similmentea⋅b2 significa a⋅(b2) e non (a⋅b)2: l’operazione di elevamento a potenza ha precedenzasulla moltiplicazione. Naturalmente ci sono dei casi in cui l’uso delle parentesi einevitabile, per sovvertire l’ordine di precedenza delle operazioni aritmetiche fissato:e il caso di ((a + b) ⋅ c)2, in cui vanno eseguite nell’ordine addizione, prodotto eelevamento a potenza.

Convenzione 1.14. Nella scrittura delle formule adotteremo le seguenti conven-zioni :

(1) si omettono le parentesi piu esterne;(2) ¬ ha la precedenza su ∧, ∨ e →, cosı che ¬F ∨G abbrevia ((¬F ) ∨G);

8 1. SINTASSI DELLA LOGICA PROPOSIZIONALE

(3) ∧ e ∨ hanno la precedenza su →, cosı che F ∧G→ H e F → G∨H abbrevianorispettivamente ((F ∧G) → H) e (F → (G ∨H));

(4) ulteriori parentesi eventualmente omesse in formule costruite con piu di una∧ o ∨ si appoggiano a sinistra, cosı che F ∧ G ∧ H e F ∨ G ∨ H abbrevianorispettivamente ((F ∧G) ∧H) e ((F ∨G) ∨H).

Esempio 1.15. Consideriamo nuovamente la formula (¬((¬p) → (q ∧ (¬r)))):utilizzando la convenzione 1.14 essa viene abbreviata da ¬(¬p → q ∧ ¬r), che eassai piu leggibile.

Esercizio 1.16. Stabilite qual e la differenza tra le formule (scritte adottando laconvenzione 1.14) ¬p → ¬q ∧ r e ¬(p → ¬q) ∧ r analizzando i passaggi attraversocui sono state costruite a partire dalle lettere proposizionali.

D’ora in poi utilizzeremo sistematicamente, e senza piu richiamarla esplicita-mente, la convenzione 1.14 per scrivere le formule.

3. Sottoformule

Definizione 1.17. Se F e una formula, diciamo che G e una sottoformula di F seG e una formula che e una sottostringa di F . G e una sottoformula propria di Fse e diversa da F .

La definizione precedente va applicata tenendo a mente la definizione 1.3 diformula, anche quando si utilizza la convenzione 1.14.

Esempio 1.18. Se F e p→ q∨¬r, allora q∨¬r e una sottoformula di F , mentre p→q non lo e. Infatti, inserendo alcune delle parentesi omesse in base alla convenzione1.14, F e p→ (q∨¬r). In effetti q∨¬r e una delle formule utilizzate nella costruzionedi F , mentre p→ q non lo e.

Esercizio 1.19. Elencate tutte le sottoformule della F dell’esempio precedente(sono sei, di cui cinque proprie).

Per dare una definizione precisa di sottoformula possiamo procedere per ricor-sione sulla complessita delle formule.

Definizione 1.20. Definiamo per ricorsione sulla complessita della formula F qualisono le sottoformule di F :

∙ se F e una lettera proposizionale, F e la sua unica sottoformula;∙ se F e ¬G allora le sottoformule di F sono le sottoformule di G e F stessa;∙ se F e G ∧H , G ∨H oppure G → H allora le sottoformule di F sono lesottoformule di G, le sottoformule di H e F stessa.

CAPITOLO 2

Semantica della logica proposizionale

Nel capitolo 1 abbiamo introdotto la nozione di formula, ora il nostro obiettivoe stabilire quando una formula risulta essere vera. Anche in questo caso e utilericorrere all’analogia con l’aritmetica: l’uguaglianza a+ b2 = c ⋅ a non e ne vera nefalsa, almeno sino a quando non assegnamo dei valori a a, b e c. Se a = 8, b = 4 ec = 3 essa risultera essere vera, mentre per a = 3, b = 4 e c = 7 essa risultera falsa.In modo analogo la verita o falsita delle formule proposizionali dipende dalla veritao falsita delle lettere proposizionali che sono state utilizzate nella loro costruzione.

1. Valutazioni e interpretazioni

Definizione 2.1. I valori di verita sono V e F: il valore V corrisponde a vero, ilvalore F corrisponde a falso.

Definizione 2.2. Una valutazione per il linguaggio proposizionale P e una funzionev : P → {V,F} che associa da ogni lettera proposizionale un valore di verita.

Una valutazione puo venir estesa ad una funzione che associa un valore di veritaad ogni formula nel modo seguente.

Definizione 2.3. Sia v : P → {V,F} una valutazione. L’interpretazione v associaad ogni formula F un valore di verita ed e definita per ricorsione sulla complessitadelle formule nel modo seguente:

∙ se F e un p ∈ P allora v(F ) = v(p).

∙ se F e ¬G allora v(F ) =

{

V, se v(G) = F;F, se v(G) = V.

∙ se F e G ∧H allora v(F ) =

{

V, se v(G) = V e v(H) = V;F, altrimenti.

∙ se F e G ∨H allora v(F ) =

{

F, se v(G) = F e v(H) = F;V, altrimenti.

∙ se F e G→ H allora v(F ) =

{

F, se v(G) = V e v(H) = F;V, altrimenti.

La definizione 2.3 va vista come un’usuale definizione matematica in cui vienedato per acquisito il senso di “se” e “e”.

Nota 2.4. La seguente tabella riassume alcune parti della definizione precedente.In ogni riga sono indicati i valori di verita di F∧G, F∨G e F → G in corrispondenzadei valori di verita di F e G indicati nelle prime due colonne.

F G F ∧G F ∨G F → G

V V V V V

V F F V F

F V F V V

F F F F V

Nota 2.5. Notiamo che F ∨ G e vera se e solo se F e vera oppure G e vera. Quiintendiamo “oppure” nel senso inclusivo del “vel” latino (dalla cui iniziale proviene

9

10 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

il simbolo ∨) per cui e ammesso che entrambe le asserzioni siano vere. In latinoesiste anche l’oppure esclusivo “aut” (di cui resta traccia nell’espressione “aut aut”),

per affermare che una e una sola delle due alternative e vera. E possibile introdurreun ulteriore connettivo logico per designare l’aut, ma e piu semplice osservare che“F aut G” puo venir scritto1 come (F ∨G) ∧ ¬(F ∧G).Nota 2.6. La nostra intenzione e che F → G sia vera se e solo se e vera l’afferma-zione “se F allora G”. Qui “se . . . allora . . . ” va inteso nel senso dell’implicazionemateriale: se F e vero deve esserlo anche G, se F e falso allora l’implicazione evera, indipendentemente dalla verita di G. Percio F → G e vero se e solo se F efalso oppure G e vero. Questo giustifica la nostra definizione: perche F → G siafalso e necessario che F sia vero e G falso.

Esempio 2.7. Consideriamo la valutazione v definita da v(p) = F, v(q) = V,v(r) = V e supponiamo di voler calcolare v(F ) dove F e ¬(¬p → q ∧ ¬r). Ap-plicando le varie parti della definizione di interpretazione troveremo: v(¬r) = F,v(q ∧ ¬r) = F, v(¬p) = V, v(¬p → q ∧ ¬r) = F, ed infine v(F ) = V. La formulaF risulta dunque essere vera nell’interpretazione v.

Continuando ad utilizzare la stessa valutazione notiamo che v(p→ (q → p)) =V, v((p → q) → p) = F, v((p ∧ q) ∨ r) = V e v(p ∧ (q ∨ r)) = F. Questo mostrache le scritture p→ q → p e p∧ q∨ r sono ambigue (la convenzione 1.14 infatti nonstabilisce che queste stringhe abbreviano delle formule).

Il prossimo lemma e la formulazione matematicamente precisa di un’osserva-zione intuitiva che abbiamo utilizzato implicitamente nell’esempio 2.7: il valore diverita di una formula secondo l’interpretazione v dipende solo dai valori assunti dav sulle lettere proposizionali che compaiono nella formula.

Lemma 2.8. Sia F una formula e sia P ′ ⊆ P l’insieme delle lettere proposizionaliche compaiono in F . Siano v1 e v2 due valutazioni tali che v1(p) = v2(p) per ognip ∈ P ′. Allora v1(F ) = v2(F ).

Dimostrazione. Per induzione sulla complessita di F . □

Notazione 2.9. Per semplificare la notazione d’ora in poi scriveremo v anche perl’interpretazione, confondendola cosı con la valutazione da cui siamo partiti perdefinirla.

Definizione 2.10. Se v e un’interpretazione e F una formula, diciamo che v sod-disfa F o F e soddisfatta da v se v(F ) = V. Se Γ e un insieme di formule, diciamoche v soddisfa Γ se v soddisfa ogni formula di Γ.

Esercizio 2.11. Stabilire se la valutazione v dell’esempio 2.7 soddisfa le formule(p→ ¬q) ∨ ¬(r ∧ q) e ¬(¬p → q) ∧ r.

2. Equivalenza e conseguenza logica

Siano F e G le formule p ∨ q e q ∨ p: e facile convincersi che per qualunquevalutazione v si ha v(F ) = v(G). F e G hanno dunque, in qualche senso, lo stessosignificato. La prossima definizione rende precisa questa idea.

Definizione 2.12. Diciamo che le formule F e G sono logicamente equivalenti (insimboli F ≡ G) se per ogni interpretazione v si ha v(F ) = v(G).

1L’espressione “puo venir scritto” viene resa precisa come segue. Sia ⊕ un nuovo connettivobinario per l’aut, con la regola v(F ⊕G) = V se e solo se v(F ) = V e v(G) = F oppure v(F ) = F

e v(G) = V. Allora F ⊕ G ≡ (F ∨G) ∧ ¬(F ∧ G), dove il simbolo ≡ di equivalenza logica verraintrodotto nella definizione 2.12.

2. EQUIVALENZA E CONSEGUENZA LOGICA 11

Nota 2.13. L’equivalenza logica e (come suggerisce il nome) una relazione di equi-valenza sull’insieme delle formule: F ≡ F , da F ≡ G segue G ≡ F , e se F ≡ G eG ≡ H allora F ≡ H .

Esempio 2.14. Siano F e G le formule p → ¬p e ¬p. Sia v una valutazionequalsiasi. Ci sono due possibilita: se v(p) = V allora si verifica che v(F ) = v(G) =F; se v(p) = F invece v(F ) = v(G) = V. In ogni caso v(F ) = v(G), e percioF ≡ G.

Siano ora F e G le formule p ∧ q e p. F e G non sono logicamente equivalenti:basta considerare una valutazione con v(p) = V e v(q) = F. Possiamo pero notareche se un’interpretazione soddisfa F allora soddisfa anche G: la verita di F ha comeconseguenza la verita di G. Esiste dunque un legame tra le due formule.

Definizione 2.15. Siano F e G due formule. Diciamo che G e conseguenza logicadi F (in simboli F ∣= G) se ogni interpretazione che soddisfa F soddisfa anche G.

Nota 2.16. La relazione di conseguenza logica e riflessiva e transitiva: e immediatoverificare che F ∣= F , e da F ∣= G e G ∣= H segue F ∣= H .

Esempio 2.17. Siano F e G le formule (p→ q) ∧ p e p ∨ q rispettivamente.F ∣= G: infatti se v e una valutazione che soddisfa F allora in particolare deve

essere v(p) = V, da cui segue che v soddisfa G.G ⊭ F : si consideri ad esempio v tale che v(p) = F e v(q) = V; v soddisfa G

ma non soddisfa F .Notiamo che abbiamo dimostrato anche che F ∕≡ G.

L’esempio precedente evidenzia come per mostrare che G ⊭ F sia sufficientetrovare una valutazione che soddisfa G e non soddisfa F . Invece per mostrare cheF ∣= G e necessario considerare tutte le interpretazioni che soddisfano F .

Nota 2.18. Notiamo che F ≡ G e F ∣= G non sono formule: infatti ≡ e ∣= nonfanno parte dei connettivi introdotti nel capitolo 1. Le espressioni F ≡ G e F ∣= Gsono abbreviazioni per certe affermazioni che noi facciamo parlando delle formuledella logica, in quello che usualmente e chiamato metalinguaggio (il linguaggio cheutilizziamo per parlare dei linguaggi logici).

Possiamo affermare che gran parte delle presenti dispense riguarda lo studiodelle relazioni ∣= e ≡, le cui definizioni sono quindi le piu importanti del corso.Esse sono strettamente collegate tra loro, come evidenziato dal prossimo lemma.

Lemma 2.19. Due formule F e G sono logicamente equivalenti se e solo se F ∣= Ge G ∣= F .

Dimostrazione. Se F ∣= G e G ∣= F consideriamo una valutazione qualsiasiv. Se v(F ) = V allora F ∣= G implica v(G) = V. Se v(F ) = F allora non puoessere v(G) = V: altrimenti G ∣= F implicherebbe v(F ) = V.

La direzione inversa e lasciata come facile esercizio per il lettore. □

Il prossimo lemma raccoglie alcune equivalenze e conseguenze logiche elemen-tari, che seguono immediatamente dalle definizioni.

Lemma 2.20. Se F e G sono formule allora:

(1) F ≡ ¬¬F ;(2) F ∧G ≡ G ∧ F ;(3) F ∨G ≡ G ∨ F ;(4) F ∧ F ≡ F ;(5) F ∨ F ≡ F ;(6) F ∣= F ∨G e G ∣= F ∨G;

12 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

(7) F ∧G ∣= F , F ∧G ∣= G e F,G ∣= F ∧G.Dimostrazione. Immediata dalle definizioni 2.3, 2.15 e 2.12. Si invita il

lettore a svolgere in dettaglio almeno alcune di queste dimostrazioni. □

Notiamo che ciascuna delle affermazioni del lemma 2.20 e uno schema di equi-valenze e conseguenze logiche e non una singola equivalenza o conseguenza logica.Ad esempio (2) significa che, tra le altre, valgono le equivalenze logiche p∧q ≡ q∧p,p ∧ r ≡ r ∧ p e (p → q ∨ ¬r) ∧ (¬q ∨ s) ≡ (¬q ∨ s) ∧ (p → q ∨ ¬r). Quasi tuttele nostre affermazioni sulle conseguenze ed equivalenze logiche saranno schemi diquesto tipo.

Il seguente lemma e molto utile per dimostrare l’equivalenza logica. Esso asse-risce che sostituendo all’interno di una formula una sottoformula con una formulaad essa equivalente, si ottiene una formula equivalente a quella di partenza.

Lemma 2.21. Se F e una sottoformula di una formula H e F ≡ G allora H ≡ H ′,dove H ′ e la formula ottenuta da H rimpiazzando la sottoformula F con G.

Dimostrazione. Fissate F e G, la dimostrazione e per induzione sulla com-plessita della formula H di cui F e sottoformula. Il caso piu semplice possibile equello in cui F coincide con H : in questo caso H ′ e G e il risultato segue da F ≡ G.

Se H e una negazione ¬H0 e F e una sottoformula propria di H allora F euna sottoformula di H0. Per ipotesi induttiva H0 ≡ H ′

0 e quindi ¬H0 ≡ ¬H ′0, cioe

H ≡ H ′.Se H e del tipo H0 ∘ H1 con ∘ ∈ {∧,∨ →} e F e una sottoformula propria

di H allora F e una sottoformula di H0 oppure F e una sottoformula di H1. Nelprimo caso H ′ e H ′

0 ∘ H1 e per ipotesi induttiva H0 ≡ H ′0 da cui e facile ricavare

che H0 ∘H1 ≡ H ′0 ∘H1, cioe H ≡ H ′. Il secondo caso e analogo. □

Esempio 2.22. Utilizzando il lemma 2.21, la transitivita di ≡, e alcune delleequivalenze logiche del lemma 2.20 e facile dimostrare che

F ∧G→ (¬F ∨H) ∧ (¬¬H ∨ ¬F ) ≡ ¬¬G ∧ F → H ∨ ¬F.Il seguente lemma contiene alcuni importanti ed utili schemi di equivalenze lo-

giche. Le prime due equivalenze sono note come leggi di De Morgan, la terza e laquarta permettono di eliminare l’implicazione in favore di disgiunzione e congiun-zione, la quinta e la sesta esprimono l’associativita di congiunzione e disgiunzione,mentre le ultime quattro esprimono la distributivita della congiunzione rispetto alladisgiunzione e viceversa.

Lemma 2.23. Se F , G e H sono formule allora:

(1) ¬(F ∧G) ≡ ¬F ∨ ¬G;(2) ¬(F ∨G) ≡ ¬F ∧ ¬G;(3) F → G ≡ ¬F ∨G;(4) ¬(F → G) ≡ F ∧ ¬G;(5) (F ∧G) ∧H ≡ F ∧ (G ∧H);(6) (F ∨G) ∨H ≡ F ∨ (G ∨H);(7) F ∧ (G ∨H) ≡ (F ∧G) ∨ (F ∧H);(8) (G ∨H) ∧ F ≡ (G ∧ F ) ∨ (H ∧ F );(9) F ∨ (G ∧H) ≡ (F ∨G) ∧ (F ∨H);

(10) (G ∧H) ∨ F ≡ (G ∨ F ) ∧ (H ∨ F ).Dimostrazione. Spesso utilizzeremo il lemma 2.19, senza citarlo esplicita-

mente. In tutta la dimostrazione v e un’interpretazione arbitraria.

(1) Se v soddisfa ¬(F ∧ G) consideriamo due possibilita. Se v(F ) = F, allorav(¬F ) = V e quindi v(¬F ∨ ¬G) = V. Se invece v(F ) = V, dall’ipotesi che

2. EQUIVALENZA E CONSEGUENZA LOGICA 13

v(¬(F ∧G)) = V, si ottiene che v(G) = F, quindi che v(¬G) = V e dunque chev(¬F ∨¬G) = V. In ogni caso v(¬F ∨¬G) = V. Quindi ¬(F ∧G) ∣= ¬F ∨¬G.

Se v soddisfa ¬F ∨ ¬G allora v(F ) = F oppure v(G) = F. In ogni casov(F ∧G) = F, cioe v(¬(F ∧G)) = V. Percio ¬F ∨ ¬G ∣= ¬(F ∧G).

(2) Tanto v(¬(F ∨ G)) = V che v(¬F ∧ ¬G) = V sono equivalenti a v(F ) = F ev(G) = F.

(3) Se v soddisfa F → G consideriamo due possibilita. Se v(F ) = V allora v(G) =V e quindi v(¬F ∨ G) = V. Se invece v(F ) = F, allora v(¬F ) = V e quindiv(¬F ∨G) = V. In ogni caso v soddisfa ¬F ∨G, cosı che F → G ∣= ¬F ∨G.

Se v soddisfa ¬F∨G e immediato constatare che sia nel caso in cui v(¬F ) =V, sia in quello in cui v(G) = V si ha che v(F → G) = V. Quindi ¬F ∨ G ∣=F → G.

(4) Questa equivalenza si puo ottenere, grazie al lemma 2.21 e alla transitivita di≡, utilizzando nell’ordine la (3), la (2) e il lemma 2.20.1:

¬(F → G) ≡ ¬(¬F ∨G) ≡ ¬¬F ∧ ¬G ≡ F ∧ ¬G.(5) e (6) sono immediate, usando l’associativita di “e” e “oppure” del linguaggio

naturale.(7) Se v(F ∧ (G ∨ H)) = V allora v(F ) = V e v(G ∨ H) = V. Se v(G) = V

allora v(F ∧G) = V, mentre se v(H) = V allora v(F ∧H) = V. In ogni casov((F ∧G) ∨ (F ∧H)) = V. Percio F ∧ (G ∨H) ∣= (F ∧G) ∨ (F ∧H).

Sia v((F∧G)∨(F∧H)) = V. Se v(F∧G) = V allora v(F ) = V e v(G) = V,mentre se v(F ∧H) = V allora v(F ) = V e v(H) = V. In ogni caso v(F ) = V

e v(G∨H) = V. Quindi v(F ∧(G∨H)) = V e (F ∧G)∨(F ∧H) ∣= F ∧(G∨H).(8) segue da (7) utilizzando il lemma 2.20.2 e il lemma 2.21.(9) Se v(F∨(G∧H)) = V allora v(F ) = V oppure v(G∧H) = V. Se vale v(F ) = V

allora v(F∨G) = V e v(F∨H) = V, cosı che v((F∨G)∧(F∨H)) = V. Se invecev(G∧H) = V allora v(G) = V e v(H) = V, e quindi v((F ∨G)∧ (F ∨H)) = V

anche in questo caso. Abbiamo mostrato che F ∨ (G∧H) ∣= (F ∨G)∧ (F ∨H).Se v((F ∨ G) ∧ (F ∨ H)) = V allora v(F ∨ G) = V e v(F ∨ H) = V. Se

v(F ) = V allora ovviamente v(F ∨ (G ∧H)) = V. Se invece v(F ) = F alloraabbiamo tanto v(G) = V che v(H) = V: quindi v(G∧H) = V e di conseguenzav(F ∨ (G ∧H)) = V. Percio (F ∨G) ∧ (F ∨H) ∣= F ∨ (G ∧H).

(10) segue da (9) utilizzando il lemma 2.20.3 e il lemma 2.21. □

Esercizio 2.24. Dare una dimostrazione diretta usando le interpretazioni di (4)del lemma 2.23.

Esercizio 2.25. Utilizzando i lemmi 2.20 e 2.23 (nonche il lemma 2.21) dimostrarele seguenti equivalenze logiche:

F → G ≡ ¬G→ ¬F ;(F → G) ∧ (H ∨ ¬F ) ≡ ¬(H → F ) ∨ (F → (G ∧ (F → H)));

¬((F ∨G) ∧ (¬G ∨H)) ≡ F ∨G→ G ∧ ¬H.In alcune circostanze e utile estendere la nozione di conseguenza logica ad

insiemi di formule.

Definizione 2.26. Siano Γ e G un insieme di formule ed una formula. Diciamo cheG e conseguenza logica di Γ (in simboli Γ ∣= G) se ogni interpretazione che soddisfaogni formula di Γ soddisfa anche G.

Nota 2.27. E immediato che se F ∈ Γ e F ∣= G allora Γ ∣= G. E invece possibileche Γ ∣= G ma che nessuna F ∈ Γ sia tale che F ∣= G: considerare ad esempioΓ = {p, q}, G = p ∧ q.

14 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

Notazione 2.28. Se Γ = {F1, . . . , Fn} e un insieme finito di formule spessoscriveremo F1, . . . , Fn ∣= G al posto di {F1, . . . , Fn} ∣= G.

Lemma 2.29. Se F1, . . . , Fn e G sono formule, allora F1, . . . , Fn ∣= G se e solo seF1 ∧ ⋅ ⋅ ⋅ ∧ Fn ∣= G.

Dimostrazione. Immediata dalle definizioni. □

Esercizio 2.30. Siano Γ e Δ insiemi di formule, F , G e H formule. Dimostrare leseguenti proprieta:

(a) F,G ∣= F ∧G;(b) F, F → G ∣= G;(c) F → G,¬G ∣= ¬F ;(d) Se Γ ∣= F e Δ ⊇ Γ allora Δ ∣= F ;(e) Se Γ ∣= F e Δ, F ∣= G allora Γ ∪Δ ∣= G;(f) Γ, F ∣= G se e solo se Γ ∣= F → G;(g) Γ,¬F ∣= G se e solo se Γ ∣= F ∨G;(h) Se Γ ∣= F e Γ ∣= F → G allora Γ ∣= G;(i) Se Γ ∣= F e Γ, G ∣= H allora Γ, F → G ∣= H .

3. Validita e soddisfacibilita

Definizione 2.31. Se F e una formula diciamo che

∙ F e valida se F e soddisfatta da ogni interpretazione;∙ F e soddisfacibile se F e soddisfatta da qualche interpretazione;∙ F e insoddisfacibile se non esiste un’interpretazione che soddisfa F .

Ovviamente una formula e insoddisfacibile se e solo se non e soddisfacibile.

Esempio 2.32. La formula p ∨ ¬p e valida. La formula p ∧ ¬p e insoddisfacibile.La formula p→ ¬p e soddisfacibile ma non valida.

Piu in generale, per ogni formula F la formula F ∨¬F e valida, mentre F ∧¬Fe insoddisfacibile.

Esercizio 2.33. Dimostrate che ogni lettera proposizionale e soddisfacibile e nonvalida.

Nota 2.34. Osserviamo che se F ≡ G e F e valida (soddisfacibile, insoddisfacibile),allora G e valida (soddisfacibile, insoddisfacibile).

Un importante legame tra validita e insoddisfacibilita e contenuto nel prossimoteorema.

Teorema 2.35. Sia F una formula:

(a) F e valida se e solo se ¬F e insoddisfacibile;(b) F e insoddisfacibile se e solo se ¬F e valida.

Dimostrazione. (a) F e valida se e solo se per ogni interpretazione v si hav(F ) = V, se e solo se per ogni interpretazione v si ha v(¬F ) = F, se e solo se¬F e insoddisfacibile.

(b) Si puo ragionare come in (a), oppure osservare che per (a) ¬F e valida se esolo se ¬¬F e insoddisfacibile: per il lemma 2.20.1 ¬¬F ≡ F e quindi l’ultimacondizione e equivalente alla insoddisfacibilita di F . □

Esempio 2.36. Verifichiamo che la formula (p → q) ∧ (q → ¬p), che indicheremocon F , e soddisfacibile.

A questo scopo ci basta trovare una valutazione v che soddisfa F . Ponendov(p) = F e v(q) = V e facile verificare che vale v(F ) = V.

Notiamo che anche la valutazione v′ tale che v′(p) = F e v′(q) = F soddisfa F :comunque una sola valutazione e sufficiente a mostrare la soddisfacibilita di F .

3. VALIDITA E SODDISFACIBILITA 15

Esempio 2.37. Verifichiamo che la formula (p → q) ∨ (p ∧ (q → ¬q)), cheindicheremo con G, e valida.

A questo scopo consideriamo una valutazione arbitraria v. Se v(p→ q) = V

allora v soddisfa G. Se v non soddisfa p→ q allora deve essere v(p) = V e v(q) = F.Allora v soddisfa q → ¬q e quindi anche p ∧ (q → ¬q). Ma allora anche in questocaso v(G) = V. Abbiamo dunque dimostrato che qualunque valutazione soddisfaG, cioe che G e valida.

Per il teorema 2.35 abbiamo anche dimostrato che ¬G e insoddisfacibile.

Gli esempi 2.36 e 2.37 mostrano una differenza essenziale tra le dimostrazionidi soddisfacibilita e quelle di validita: nelle prime e sufficiente costruire una in-terpretazione che soddisfa la formula in esame, nelle seconde si devono consideraretutte le possibili interpretazioni e, ragionando piu astrattamente, mostrare che laformula e soddisfatta da ognuna di esse. Da questo punto di vista le dimostrazionidi insoddisfacibilita di una formula sono simili a quelle di validita: in questo casosi tratta di dimostrare che la formula non e soddisfatta in tutte le interpretazioni.Questa discussione e molto simile a quella svolta dopo l’esempio 2.17 a propositodelle dimostrazioni di conseguenza logica e di non conseguenza logica. In effet-ti c’e uno stretto legame tra conseguenza logica e validita/soddisfacibilita, comeevidenziato dal prossimo lemma.

Lemma 2.38. Siano F e G formule.

(a) F ∣= G se e solo se F → G e valida.(b) F ⊭ G se e solo se F ∧ ¬G e soddisfacibile.

Dimostrazione. (a) Supponiamo F ∣= G e dimostriamo la validita di F → G.Sia v un’interpretazione qualunque. Se v(F ) = F allora v(F → G) = V. Seinvece v(F ) = V dalla nostra ipotesi segue v(G) = V e quindi v soddisfaF → G anche in questo caso.

Per l’implicazione inversa supponiamo che F → G sia valida e fissiamoun’interpretazione v che soddisfa F . Visto che v(F → G) = V deve esserev(G) = V: abbiamo dunque dimostrato che F ∣= G.

(b) Per (a) abbiamo che F ⊭ G se e solo se F → G non e valida. Per il teorema 2.35quest’ultima condizione e equivalente alla soddisfacibilita di ¬(F → G). Datoche per il lemma 2.23.4 ¬(F → G) ≡ F ∧ ¬G la dimostrazione e completa. □

Esercizio 2.39. Alcune delle seguenti affermazioni riguardanti le formule F e Gsono corrette, altre no. Dimostrate le prime e trovate un controesempio alle seconde.

(a) Se sia F che G sono soddisfacibili allora esiste un’interpretazione v tale chev(F ∧G) = V.

(b) G ⊭ ¬F se e solo F ∧G e soddisfacibile.(c) F ∣= ¬G se e solo se F ⊭ G.(d) Se F non e valido allora ¬F e valido.

Consideriamo ora validita e soddisfacibilita per insiemi di formule.

Definizione 2.40. Se Γ e un insieme di formule diciamo che

∙ Γ e valido se ogni interpretazione soddisfa Γ, cioe soddisfa ogni F ∈ Γ;∙ Γ e soddisfacibile se qualche interpretazione soddisfa Γ, cioe soddisfa ogniF ∈ Γ;

∙ Γ e insoddisfacibile se ogni interpretazione non soddisfa Γ, cioe non sod-disfa qualche F ∈ Γ (F puo dipendere dall’interpretazione).

Nel caso in cui Γ e finito ci si puo ricondurre al caso di una singola formula.

16 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

Lemma 2.41. Se Γ = {F1, . . . , Fn} e un insieme finito di formule allora la validita(soddisfacibilita, insoddisfacibilita) di Γ e equivalente alla validita (soddisfacibilita,insoddisfacibilita) della formula F1 ∧ ⋅ ⋅ ⋅ ∧ Fn.

Dimostrazione. Immediata dalle definizioni. □

Nota 2.42. Notiamo che un insieme di formule e valido se e solo se tutti i suoielementi sono validi. La proprieta analoga non vale pero per soddisfacibilita einsoddisfacibilita: l’insieme {p,¬p} e insoddisfacibile, pur essendo ognuno dei suoielementi soddisfacibile. Se pero un insieme di formule e soddisfacibile allora tuttii suoi elementi sono soddisfacibili. D’altra parte se una formula e insoddisfacibile,allora tutti gli insiemi che la contengono sono insoddisfacibili.

Esercizio 2.43. (★) Dimostrate che l’insieme

Γ = { pi → ¬pi+1 : i ∈ ℕ } ∪ {¬pi → pi+1 : i ∈ ℕ }e soddisfacibile e che l’insieme Γ ∪ {p1, p4} e insoddisfacibile.

Notazione 2.44. ∣= F sta ad indicare ∅ ∣= F , dove ∅ e l’insieme vuoto.

Lemma 2.45. Sia F una formula e Γ un insieme di formule.

(a) ∣= F se e solo se F e valida.(b) Γ ∣= F se e solo se Γ,¬F e insoddisfacibile (si veda la notazione 1.6).

Dimostrazione. (a) ∣= F significa che per ogni interpretazione che soddisfatutti gli elementi di ∅ soddisfa anche F . Ma qualunque interpretazione soddisfatutti gli elementi di ∅ (perche non ce ne sono), e percio questa condizione eequivalente alla validita di F .

(b) Γ,¬F insoddisfacibile significa che nessuna interpretazione soddisfa sia le for-mule di Γ che ¬F , cioe che se un’interpretazione v soddisfa tutte le formuledi Γ non puo essere v(¬F ) = V. Questo e equivalente a affermare che seun’interpretazione soddisfa tutte le formule di Γ allora soddisfa anche F , cioeΓ ∣= F . □

4. Una procedura di decisione: le tavole di verita

Iniziamo specificando cosa intendiamo per procedura di decisione nel nostrocontesto.

Definizione 2.46. Sia ℱ un insieme di formule proposizionali. Una procedura didecisione per ℱ e un algoritmo che riceve in input una formula F , termina semprela sua esecuzione e fornisce l’output “sı” se F ∈ ℱ , l’output “no” se F /∈ ℱ .

Un obiettivo della logica e individuare procedure di decisione per gli insiemidelle formule valide e delle formule soddisfacibili. Il teorema 2.35 mostra che unaprocedura di decisione per uno qualunque di questi insiemi puo essere facilmenteconvertita in una procedura di decisione per l’altro. Ad esempio se abbiamo unaprocedura di decisione per la validita, per testare la soddisfacibilita di F e suffi-ciente applicare la procedura di decisione a ¬F e ribaltare la risposta. Grazie allemma 2.38 un tale algoritmo puo essere anche applicato anche per verificare se unaformula e conseguenza logica di un’altra. Il lemma 2.41 ci permette di utilizzareuna procedura di decisione di questo tipo anche per insiemi finiti di formule.

Nella logica proposizionale esiste una procedura di decisione piuttosto semplicee naturale per la validita e per la soddisfacibilita. Il metodo delle tavole di veritasi basa sul lemma 2.8: per stabilire se una valutazione v soddisfa una formula Fbasta conoscere i valori assunti da v sulle lettere proposizionali che compaiono inF . Dato che in F compaiono solo un numero finito di lettere proposizionali, per

4. UNA PROCEDURA DI DECISIONE: LE TAVOLE DI VERITA 17

stabilire se F e valida e sufficiente considerare tutte le possibili combinazioni divalori di verita assegnati dalle valutazioni a queste lettere.

Algoritmo 2.47. L’algoritmo delle tavole di verita prende in input una formulaproposizionale F e esamina le lettere proposizionali che compaiono in F , che possia-mo indicare con p1, . . . , pn. Si crea una tabella che contiene n+1 colonne, una perogni pi ed una per F , e 2n righe. Le prime n colonne (quelle delle pi) contengonoV o F in modo che nelle 2n righe compaia ogni possibile funzione che associa allen lettere proposizionali i valori di verita (cio si ottiene ad esempio se nella primacolonna 2n−1 V sono seguiti da 2n−1 F, nella seconda colonna si alternano 4 blocchidi lunghezza 2n−2 di V e di F, e cosı via fino alla colonna n-esima in cui il valoredi verita cambia ad ogni riga). La colonna corrispondente a F contiene V o F aseconda se l’interpretazione generata dalla valutazione che compare in quella rigasoddisfa o meno F .

Se la colonna di F contiene solo V allora F e valida, se contiene almeno un V

allora F e soddisfacibile, se contiene solo F allora F e insoddisfacibile.In pratica e comodo avere a disposizioni colonne supplementari, usualmente

posizionate tra quelle delle lettere proposizionali e quella di F , in cui calcolare ivalori di verita di opportune sottoformule di F .

Esempio 2.48. Usiamo l’algoritmo delle tavole di verita per verificare che laformula (p→ q) ∨ (p→ ¬q) e valida.

p q p→ q ¬q p→ ¬q (p→ q) ∨ (p → ¬q)V V V F F V

V F F V V V

F V V F V V

F F V V V V

Come si nota l’ultima colonna e composta interamente da V.

Esempio 2.49. Usiamo l’algoritmo delle tavole di verita per verificare che la for-mula (che per comodita indichiamo con F ) (¬p ∨ q) ∧ (q → ¬r ∧ ¬p) ∧ (p ∨ r) esoddisfacibile.

p q r ¬p ∨ q ¬r ∧ ¬p q → ¬r ∧ ¬p p ∨ r F

V V V V F F V F

V V F V F F V F

V F V F F V V F

V F F F F V V F

F V V V F F V F

F V F V V V F F

F F V V F V V V

F F F V V V F F

L’unica riga in cui nell’ultima colonna compare V corrisponde alla valutazionev(p) = F, v(q) = F, v(r) = V, che definisce dunque un’interpretazione che soddisfaF .

L’algoritmo delle tavole di verita e piuttosto inefficiente: per stabilire se unaformula con n lettere proposizionali e valida e necessario compilare 2n righe. Esisto-no metodi di decisione per la validita delle formule proposizionali che molto spessosono piu efficienti (ad esempio quello cui e dedicato il capitolo 4), ma non e statotrovato un algoritmo che sia piu efficiente in ogni caso. In realta l’esistenza di unmetodo di decisione siffatto e equivalente ad una risposta positiva all’importanteproblema P = NP , che viene discusso in altri corsi.

Esempio 2.50. Usiamo l’algoritmo delle tavole di verita per verificare che la for-mula p∧ ¬q → p∧ q e conseguenza logica di ¬p. Per il lemma 2.38 basta verificare

18 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

che ¬p→ (p∧¬q → p∧ q) e valida. Una lieve semplificazione consiste nel calcolarele tavole di verita delle due formule e verificare che quando ¬p e soddisfatta lo eanche p ∧ ¬q → p ∧ q:

p q ¬p p ∧ ¬q p ∧ q p ∧ ¬q → p ∧ qV V F F V V

V F F V F F

F V V F F V

F F V F F V

Un’ulteriore semplificazione consiste nel non calcolare il valore di verita di p∧¬q →p ∧ q quando si e verificato che v(¬p) = F:

p q ¬p p ∧ ¬q p ∧ q p ∧ ¬q → p ∧ qV V F

V F F

F V V F F V

F F V F F V

Esempio 2.51. Usiamo l’algoritmo delle tavole di verita per verificare che le for-mule p→ (q∧¬q) e ¬p sono logicamente equivalenti. Per i lemmi 2.19 e 2.38 bastadimostrare che (p → q ∧ ¬q) → ¬p e ¬p → (p → q ∧ ¬q) sono entrambe valide.Una strada piu breve e calcolare le tavole di verita delle due formule e verificareche p→ q ∧ ¬q e ¬p hanno sempre lo stesso valore di verita:

p q q ∧ ¬q p→ q ∧ ¬q ¬pV V F F F

V F F F F

F V F V V

F F F V V

Esercizio 2.52. Dimostrare con le tavole di verita che p → (q → r) e p ∧ q → rsono logicamente equivalenti.

Esercizio 2.53. Stabilite se le seguenti formule sono valide, soddisfacibili, insod-disfacibili (usate sia le tavole di verita che le definizioni):

(p→ q) ∧ ¬q → ¬p;(p→ q) → (p→ ¬q);(p ∨ q → r) ∨ p ∨ q;

(p ∨ q) ∧ (p→ r ∧ q) ∧ (q → ¬r ∧ p);(p → (q → r)) → ((p→ q) → (p→ r)).

Esercizio 2.54. Stabilite se le seguenti conseguenze ed equivalenze logiche sonocorrette (usate sia le tavole di verita che le definizioni):

p→ q ∣= ¬p → ¬q;(p→ q) ∧ ¬q ∣= ¬p;

(p ∨ q) ∧ (¬p→ ¬q) ≡ q;

(p ∨ q) ∧ (¬p→ ¬q) ≡ p.

5. Traduzioni dal linguaggio naturale

In questa sezione ci occuperemo di tradurre frasi del linguaggio naturale (nelnostro caso, l’italiano) in formule della logica proposizionale e viceversa.

5. TRADUZIONI DAL LINGUAGGIO NATURALE 19

Esempio 2.55. Consideriamo un linguaggio proposizionale in cui p significa “Paolae contenta”, q significa “Paola dipinge un quadro” e r significa “Renzo e contento”.La formula proposizionale p∧ q → ¬r viene interpretata come “se Paola e contentae dipinge un quadro allora Renzo non e contento”. La formula p → q viene in-terpretata come “se Paola e contenta allora dipinge un quadro”, ma anche come“Paola e contenta soltanto se dipinge un quadro”.

Queste due diverse traduzioni della stessa formula mostrano che l’italiano, co-me qualunque altro linguaggio naturale, consente di aggiungere sfumature che illinguaggio formale non e in grado di esprimere (un ulteriore esempio e fornito dalfatto che dal punto di vista logico non c’e differenza tra “e” e “ma”). D’altro cantoil linguaggio formale permette una maggior precisione, ed evita le ambiguita tipichedei linguaggi naturali.

La traduzione dal linguaggio formale al linguaggio naturale non presenta ingenere difficolta, mentre la direzione inversa e spesso piu delicata.

Esempio 2.56. Consideriamo un linguaggio proposizionale in cui p significa “Pie-tro sara eletto leader del partito”, r significa “Raffaella si dimettera”, m significa“Mario si dimettera” e v significa “vinceremo le elezioni”. La frase “vinceremo leelezioni, se Pietro sara eletto leader del partito” puo venir tradotta dalla formulaproposizionale p → v. La frase “solo se Pietro sara eletto leader del partito vince-remo le elezioni” viene tradotta da v → p (la frase e equivalente ad affermare chese Pietro non verra eletto leader del partito le elezioni saranno certamente perse,e infatti v → p ≡ ¬p → ¬v). La frase “se Pietro non sara eletto leader del parti-to, allora Raffaella o Mario si dimetteranno e non vinceremo le elezioni” ha cometraduzione ¬p→ (r ∨m) ∧ ¬v.Esempio 2.57. Consideriamo un linguaggio proposizionale in cui p significa “x eprimo” e d significa “x e dispari”. “Una condizione sufficiente perche x sia primoe che x sia dispari” viene tradotto come d→ p. “Una condizione necessaria perchex sia primo e che x sia dispari” viene tradotto come p → d. “Una condizionenecessaria e sufficiente perche x sia primo e che x sia dispari” viene tradotto come(d→ p) ∧ (p→ d).

Esercizio 2.58. Introducendo opportuni linguaggi proposizionali, traducete le frasiseguenti:

(a) “Se l’algoritmo termina abbiamo un risultato, e se abbiamo un risultato lostampiamo”, “se l’algoritmo termina abbiamo un risultato e lo stampiamo”,“non e possibile che l’algoritmo non termini”, “non e possibile che l’algoritmotermini ma non dia un risultato”.

(b) “Patrizia va al cinema solo se Roberta ci va”, “se Roberta va al cinema, anchePatrizia ci va”, “al massimo una tra Roberta e Patrizia va al cinema”.

(c) “Se il Signor Rossi e felice, la Signora Rossi e felice”, “se il Signor Rossi einfelice, la Signora Rossi e infelice”.

La logica proposizionale ha degli evidenti limiti espressivi, gia notati all’iniziodel capitolo 1. Malgrado questo e possibile utilizzarla per analizzare alcuni tipi diragionamento e stabilirne la correttezza (o meno).

Esempio 2.59. Supponiamo di sapere che:

∙ se Paolo e grasso allora Carlo non e biondo oppure Roberta non e alta;∙ se Roberta e alta allora Sandra e magra;∙ se Sandra e magra e Carlo e biondo allora Paolo e grasso;∙ Carlo e biondo.

Possiamo dedurre che Roberta non e alta?

20 2. SEMANTICA DELLA LOGICA PROPOSIZIONALE

Se indichiamo “Paolo e grasso”, “Carlo e biondo”, “Roberta e alta” e “Sandrae magra” rispettivamente con p, q, r e s allora dobbiamo verificare se

p→ ¬q ∨ ¬r, r → s, s ∧ q → p, q ∣= ¬r.Lasciamo al lettore la verifica, utilizzando il ragionamento diretto basato sulledefinizioni, oppure le tavole di verita (che richiedono 16 righe).

CAPITOLO 3

Forma normale congiuntiva e disgiuntiva

In questo capitolo ci occuperemo di trasformare una formula proposizionale inuna formula ad essa logicamente equivalente che abbia una forma particolarmentesemplice dal punto di vista sintattico. Questa trasformazione e di tipo algoritmi-co, e l’algoritmo che introdurremo e non deterministico (ad ogni passo abbiamodiverse scelte possibili), ma gode della proprieta della terminazione forte (terminaqualunque sia la successione delle scelte).

1. Definizione di forma normale congiuntiva e disgiuntiva

Definizione 3.1. Un letterale e una lettera proposizionale oppure la negazione diuna lettera proposizionale.

Definizione 3.2. Una formula proposizionale e in forma normale congiuntiva se edella forma F1 ∧ ⋅ ⋅ ⋅ ∧ Fm, dove per 1 ≤ i ≤ m, Fi e della forma Gi,1 ∨ ⋅ ⋅ ⋅ ∨ Gi,ℎi

,dove per 1 ≤ j ≤ ℎi, Gi,j e un letterale.

Una formula proposizionale e in forma normale disgiuntiva se e della formaF1 ∨ ⋅ ⋅ ⋅ ∨ Fm, dove per 1 ≤ i ≤ m, Fi e della forma Gi,1 ∧ ⋅ ⋅ ⋅ ∧ Gi,ℎi

, dove per1 ≤ j ≤ ℎi, Gi,j e un letterale.

Esempio 3.3. La formula (p∨¬q ∨ r)∧ p∧¬s e in forma normale congiuntiva conm = 3 e ℎ1 = 3, ℎ2 = ℎ3 = 1.

La formula ¬p ∨ (¬q ∧ ¬r ∧ s) ∨ (p ∧ ¬s) e in forma normale disgiuntiva conm = 3 e ℎ1 = 1, ℎ2 = 3, ℎ3 = 2.

La formula p ∧ ¬r e sia in forma normale congiuntiva che in forma normaledisgiuntiva (nel primo caso m = 2 e ℎ1 = ℎ2 = 1, nel secondo caso m = 1 e ℎ1 = 2).

La formula p∨¬¬q non e ne in forma normale congiuntiva ne in forma normaledisgiuntiva (perche ¬¬q non e un letterale).

La formula p ∧ ¬(q ∨ r) non e ne in forma normale congiuntiva ne in formanormale disgiuntiva.

Ogni formula che contiene → non e ne in forma normale congiuntiva ne informa normale disgiuntiva.

L’obiettivo di questo capitolo e dimostrare il seguente teorema.

Teorema 3.4. Ogni formula proposizionale F puo essere trasformata in due formu-le G1 e G2, la prima in forma normale congiuntiva e la seconda in forma normaledisgiuntiva, tali che

F ≡ G1 e F ≡ G2.

L’espressione “puo essere trasformata” nell’enunciato del teorema e stata usataper asserire qualcosa di piu della semplice esistenza di G1 e G2: intendiamo direche il teorema verra dimostrato attraverso la descrizione di due algoritmi che presocome input F , forniscono come output rispettivamente G1 e G2.

Il teorema 3.4 non asserisce l’unicita di G1 e G2. Ad esempio e immediatoverificare che p ≡ (p ∨ q) ∧ (p ∨ ¬q) ed abbiamo due formule in forma normalecongiuntiva che sono logicamente equivalenti.

21

22 3. FORMA NORMALE CONGIUNTIVA E DISGIUNTIVA

2. Doppie negazioni, �-formule e �-formule

Esistono diversi algoritmi per la trasformazione in forma normale congiuntivae disgiuntiva delle formule proposizionali e quindi per la dimostrazione del teorema3.4. Gli algoritmi che utilizzeremo sono dovuti a Melvin Fitting e si basano su unaclassificazione delle formule proposizionali che ci sara utile anche nel capitolo 4.

Definizione 3.5. Una formula F e una doppia negazione se e del tipo ¬¬G perqualche formula G. In questo caso diciamo che G e il ridotto di F .

Usando il lemma 2.23 si puo mostrare che ogni formula che non e un lette-rale e una doppia negazione oppure e equivalente ad una congiunzione o ad unadisgiunzione. Per formulare questa osservazione in forma compatta (come faremonei lemmi 3.7 e 3.8) introduciamo la seguente definizione.

Definizione 3.6. Una formula e una �-formula se esistono F e G tali che laformula e di uno dei tipi che compaiono nella colonna sinistra della prima delleseguenti tabelle. Una formula e una �-formula se esistono F e G tali che la formulae di uno dei tipi che compaiono nella colonna sinistra della seconda delle seguentitabelle. In entrambi i casi i ridotti di una �- o �-formula sono le formule checompaiono nelle due colonne piu a destra.

�-formulaF ∧G F G

¬(F ∨G) ¬F ¬G¬(F → G) F ¬G

�-formulaF ∨G F G

¬(F ∧G) ¬F ¬GF → G ¬F G

Lemma 3.7. Ogni �-formula e logicamente equivalente alla congiunzione dei suoiridotti. Ogni �-formula e logicamente equivalente alla disgiunzione dei suoi ridotti.

Dimostrazione. Per le formule contenute nelle prime righe di ognuna delledue tabelle l’affermazione e ovvia, per le altre e contenuta nel lemma 2.23. □

Lemma 3.8. Una formula proposizionale e di uno e uno solo dei tipi seguenti:

∙ un letterale,∙ una doppia negazione,∙ una �-formula,∙ una �-formula.

Dimostrazione. Per il lemma 1.8 ogni formula F e una lettera proposizionale,una negazione, una congiunzione, una disgiunzione o un’implicazione.

∙ Se F e una lettera proposizionale allora e un letterale;∙ Se F e una negazione ¬G dobbiamo considerare di che tipo e G:

– se G e una lettera proposizionale allora F e un letterale;– se G e una negazione allora F e una doppia negazione;– se G e una congiunzione allora F e una �-formula;– se G e una disgiunzione oppure un’implicazione allora F e una �-

formula.∙ Se F e una congiunzione allora e una �-formula.∙ Se F e una disgiunzione oppure un’implicazione allora e una �-formula.

3. Gli algoritmi di Fitting

Conviene ricordare alcune equivalenze logiche dimostrate nel capitolo 2 (lemmi2.20 e 2.23), che saranno utili per giustificare i passaggi degli algoritmi di Fitting:

Lemma 3.9. Siano F , G e H formule proposizionali qualunque. Valgono leseguenti equivalenze logiche:

3. GLI ALGORITMI DI FITTING 23

(1) ¬¬F ≡ F ;(2) F ∧ (G ∨H) ≡ (F ∧G) ∨ (F ∧H);(3) (G ∨H) ∧ F ≡ (G ∧ F ) ∨ (H ∧ F );(4) F ∨ (G ∧H) ≡ (F ∨G) ∧ (F ∨H);(5) (G ∧H) ∨ F ≡ (G ∨ F ) ∧ (H ∨ F ).

Per descrivere gli algoritmi di Fitting useremo la seguente notazione.

Convenzione 3.10. Visto che ∧ e sia commutativo che associativo tutte le formuleottenute combinando in un ordine qualunque G1, . . . , Gn attraverso ∧ sono logica-mente equivalenti a G1 ∧ ⋅ ⋅ ⋅ ∧ Gn (che, per la convenzione 1.14.4 sulla scritturadelle formule, e (((G1 ∧ G2) ∧ . . . Gn−1) ∧ Gn)). Quest’ultima formula e chiamatala congiunzione generalizzata di G1, . . . , Gn ed e indicata con ⟨G1, . . . , Gn⟩.

Similmente, a partire da commutativita e associativita di ∨, si definisce ladisgiunzione generalizzata di G1, . . . , Gn, che e indicata con [G1, . . . , Gn].

Usando congiunzioni e disgiunzioni generalizzate, una formula in forma normalecongiuntiva ha la forma

⟨[G1,1, . . . , G1,ℎ1], . . . , [Gm,1, . . . , Gm,ℎm

]⟩dove ogni Gi,j e un letterale, mentre una formula in forma normale disgiuntiva hala forma

[⟨G1,1, . . . , G1,ℎ1⟩ , . . . , ⟨Gm,1, . . . , Gm,ℎm

⟩]con ogni Gi,j letterale.

Algoritmo 3.11. L’algoritmo di Fitting per la trasformazione in forma normalecongiuntiva prende in input una formula proposizionale F e la considera come unacongiunzione generalizzata di una disgiunzione generalizzata: ⟨[F ]⟩. Ad ogni passodell’algoritmo avremo una congiunzione generalizzata di disgiunzioni generalizzatedi formule. Se tutti gli elementi di queste disgiunzioni generalizzate sono letteralila formula e in forma normale congiuntiva e l’algoritmo si arresta. Se esistonoelementi di queste disgiunzioni generalizzate che non sono letterali se ne sceglieuno, che indichiamo con G. Per il lemma 3.8 ci sono tre possibilita:

(1) G e una doppia negazione con ridotto H : in questo caso si sostituisce G con Hnel congiunto in cui appariva G; gli altri congiunti restano immutati.

(2) G e una �-formula e i suoi ridotti sono G1 e G2: in questo caso si sostituisce GconG1, G2 nel congiunto in cui apparivaG; gli altri congiunti restano immutati.

(3) G e una �-formula e i suoi ridotti sono G1 e G2: in questo caso si sostituisce ilcongiunto in cui appariva G con due nuovi congiunti; nel primo congiunto G esostituito da G1, nel secondo congiunto G e sostituito da G2 (e in entrambi icasi gli altri disgiunti restano immutati); gli altri congiunti restano immutati.

La congiunzione generalizzata di disgiunzioni generalizzate di formule cosı ottenutae sempre logicamente equivalente a quella precedente: nel primo caso per la (1) dellemma 3.9, nel secondo per il lemma 3.7, nel terzo per il lemma 3.7 e per (4) e (5)del lemma 3.9.

Esempio 3.12. Applichiamo l’algoritmo 3.11 alla formula

(r ∧ ¬s) ∨ ¬(p → ¬q).Sulla sinistra abbiamo la formula (congiunzione generalizzata di disgiunzioni gene-ralizzate di formule) a cui siamo arrivati ad ogni passo dell’applicazione dell’algo-ritmo, nella colonna centrale indichiamo la formula (che non e un letterale) su cuiagiamo per effettuare il passo successivo, nella colonna di destra il tipo di formula

24 3. FORMA NORMALE CONGIUNTIVA E DISGIUNTIVA

(�, � o doppia negazione, indicata da ¬¬).⟨[(r ∧ ¬s) ∨ ¬(p→ ¬q)]⟩ (r ∧ ¬s) ∨ ¬(p → ¬q) �⟨[r ∧ ¬s,¬(p→ ¬q)]⟩ r ∧ ¬s �

⟨[r,¬(p→ ¬q)], [¬s,¬(p → ¬q)]⟩ ¬(p→ ¬q) �⟨[r, p], [r,¬¬q], [¬s,¬(p → ¬q)]⟩ ¬¬q ¬¬⟨[r, p], [r, q], [¬s,¬(p→ ¬q)]⟩ ¬(p→ ¬q) �⟨[r, p], [r, q], [¬s, p], [¬s,¬¬q]⟩ ¬¬q ¬¬⟨[r, p], [r, q], [¬s, p], [¬s, q]⟩

La formula di partenza e quindi equivalente alla formula in forma normale congiun-tiva ⟨[r, p], [r, q], [¬s, p], [¬s, q]⟩, cioe a

(r ∨ p) ∧ (r ∨ q) ∧ (¬s ∨ p) ∧ (¬s ∨ q).

Esempio 3.13. Applichiamo l’algoritmo 3.11 alla formula

(p→ ¬q) ∨ ¬(r ∧ s→ ¬(¬r ∨ t)).Questa volta omettiamo l’indicazione della formula su cui si effettua la riduzione.

⟨[(p→ ¬q) ∨ ¬(r ∧ s→ ¬(¬r ∨ t))]⟩ �⟨[p→ ¬q,¬(r ∧ s→ ¬(¬r ∨ t))]⟩ �⟨[¬p,¬q,¬(r ∧ s→ ¬(¬r ∨ t))]⟩ �

⟨[¬p,¬q, r ∧ s], [¬p,¬q,¬¬(¬r ∨ t)]⟩ ¬¬⟨[¬p,¬q, r ∧ s], [¬p,¬q,¬r ∨ t]⟩ �

⟨[¬p,¬q, r], [¬p,¬q, s], [¬p,¬q,¬r ∨ t]⟩ �⟨[¬p,¬q, r], [¬p,¬q, s], [¬p,¬q,¬r, t]⟩

La formula in forma normale congiuntiva ottenuta e

(¬p ∨ ¬q ∨ r) ∧ (¬p ∨ ¬q ∨ s) ∧ (¬p ∨ ¬q ∨ ¬r ∨ t).

Esercizio 3.14. Applicate l’algoritmo 3.11 alla formula

¬(¬p → q) ∨ (r ∧ ¬s) → ¬t.

L’algoritmo di Fitting per la trasformazione in forma normale disgiuntiva eduale a quello per la forma normale congiuntiva: congiunzioni generalizzate e di-sgiunzioni generalizzate sono scambiate e il ruolo delle �-formule e delle �-formulee invertito.

Algoritmo 3.15. L’algoritmo di Fitting per la trasformazione in forma normaledisgiuntiva prende in input una formula proposizionale F e la considera come unadisgiunzione generalizzata di una congiunzione generalizzata: [⟨F ⟩]. Ad ogni passodell’algoritmo avremo una disgiunzione generalizzata di congiunzioni generalizzatedi formule. Se tutti gli elementi di queste congiunzioni generalizzate sono letteralila formula e in forma normale disgiuntiva e l’algoritmo si arresta. Se esistonoelementi di queste congiunzioni generalizzate che non sono letterali se ne sceglieuno, che indichiamo con G. Per il lemma 3.8 ci sono tre possibilita:

(1) G e una doppia negazione con ridotto H : in questo caso si sostituisce G con Hnel disgiunto in cui appariva G; gli altri disgiunti restano immutati.

(2) G e una �-formula e i suoi ridotti sono G1 e G2: in questo caso si sostituisce Gcon G1, G2 nel disgiunto in cui appariva G; gli altri disgiunti restano immutati.

(3) G e una �-formula e i suoi ridotti sono G1 e G2: in questo caso si sostituisceil disgiunto in cui appariva G con due nuovi disgiunti; nel primo disgiunto Ge sostituito da G1, nel secondo disgiunto G e sostituito da G2 (e in entrambi icasi gli altri congiunti restano immutati); gli altri disgiunti restano immutati.

3. GLI ALGORITMI DI FITTING 25

La disgiunzione generalizzata di congiunzioni generalizzate di formule cosı ottenutae sempre logicamente equivalente a quella precedente: nel primo caso per la (1) dellemma 3.9, nel secondo per il lemma 3.7, nel terzo per il lemma 3.7 e per (2) e (3)del lemma 3.9.

Esempio 3.16. Applichiamo l’algoritmo 3.15 alla formula dell’esempio 3.12.

[⟨(r ∧ ¬s) ∨ ¬(p→ ¬q)⟩] (r ∧ ¬s) ∨ ¬(p → ¬q) �[⟨r ∧ ¬s⟩ , ⟨¬(p→ ¬q)⟩] r ∧ ¬s �[⟨r,¬s⟩ , ⟨¬(p→ ¬q)⟩] ¬(p→ ¬q) �[⟨r,¬s⟩ , ⟨p,¬¬q⟩] ¬¬q ¬¬[⟨r,¬s⟩ , ⟨p, q⟩]

La formula di partenza e quindi equivalente alla formula in forma normale disgiun-tiva [⟨r,¬s⟩ , ⟨p, q⟩], cioe a (r ∧ ¬s) ∨ (p ∧ q).Esempio 3.17. Applichiamo l’algoritmo 3.15 alla formula dell’esempio 3.13.

[⟨(p→ ¬q) ∨ ¬(r ∧ s→ ¬(¬r ∨ t))⟩] �[⟨p→ ¬q⟩ , ⟨¬(r ∧ s→ ¬(¬r ∨ t))⟩] �[⟨¬p⟩ , ⟨¬q⟩ , ⟨¬(r ∧ s→ ¬(¬r ∨ t))⟩] �[⟨¬p⟩ , ⟨¬q⟩ , ⟨r ∧ s,¬¬(¬r ∨ t)⟩] ¬¬

[⟨¬p⟩ , ⟨¬q⟩ , ⟨r ∧ s,¬r ∨ t⟩] �[⟨¬p⟩ , ⟨¬q⟩ , ⟨r, s,¬r ∨ t⟩] �

[⟨¬p⟩ , ⟨¬q⟩ , ⟨r, s,¬r⟩ , ⟨r, s, t⟩]La formula in forma normale disgiuntiva ottenuta e

¬p ∨ ¬q ∨ (r ∧ s ∧ ¬r) ∨ (r ∧ s ∧ t).Esercizio 3.18. Applicate l’algoritmo 3.15 alla formula dell’esercizio 3.14.

Esercizio 3.19. Applicate gli algoritmi 3.11 e 3.15 alle formule:

(p→ q) → (q → ¬r); ¬(p ∧ q ∧ (r → s));

¬((p→ q) ∧ (q → p)); ¬(p→ ¬q) → (p ∧ q);(¬q → p) ∨ ¬(s ∧ q → ¬p); ¬(¬(p → q) ∧ (r ∨ s→ ¬t)).

Entrambi gli algoritmi di Fitting (3.11 e 3.15) sono non deterministici.

Esempio 3.20. La seguente tabella presenta due diverse applicazioni dell’algoritmo3.11 alla formula (p ∧ q) ∨ ¬(r ∧ s):

⟨[(p ∧ q) ∨ ¬(r ∧ s)]⟩ ⟨[(p ∧ q) ∨ ¬(r ∧ s)]⟩⟨[p ∧ q,¬(r ∧ s)]⟩ ⟨[p ∧ q,¬(r ∧ s)]⟩⟨[p ∧ q,¬r,¬s]⟩ ⟨[p,¬(r ∧ s)], [q,¬(r ∧ s)]⟩

⟨[p,¬r,¬s], [q,¬r,¬s]⟩ ⟨[p,¬r,¬s], [q,¬(r ∧ s)]⟩⟨[p,¬r,¬s], [q,¬r,¬s]⟩

La forma normale congiuntiva ottenuta e la stessa in entrambi i casi ma nella primacolonna al secondo passo si e operato sulla �-formula ¬(r∧s), mentre nella secondacolonna si e operato sulla �-formula p∧q. Questo ha portato ad ottenere il risultatofinale in tre e in quattro passi rispettivamente.

Esercizio 3.21. Trovate due diverse applicazioni dell’algoritmo 3.15 alla formula

(p→ ¬q) ∨ ¬(r → s).

Nota 3.22. Per ridurre i tempi di esecuzione dell’algoritmo 3.11 per la formanormale congiuntiva e opportuno operare su �-formule ogniqualvolta cio sia possi-bile. Dualmente, per ridurre i tempi di esecuzione dell’algoritmo 3.15 per la formanormale disgiuntiva e opportuno operare, ove possibile, su �-formule.

26 3. FORMA NORMALE CONGIUNTIVA E DISGIUNTIVA

Nota 3.23. Durante l’esecuzione degli algoritmi 3.11 e 3.15 puo essere utile pren-dere qualche scorciatoia, che permette di diminuire il numero dei passaggi. Le piucomode sono le seguenti:

∙ quando un ridotto e una doppia negazione scrivere immediatamente laformula senza ¬¬, saltando quindi il passaggio successivo in cui si appli-cherebbe la regola della doppia negazione;

∙ nell’algoritmo 3.11 si puo agire simultaneamente su formule che compa-iono in due congiunti diversi; dualmente, nell’algoritmo 3.15 si puo agiresimultaneamente su formule che compaiono in due disgiunti diversi.

4. Terminazione forte degli algoritmi di Fitting

Abbiamo descritto gli algoritmi di Fitting 3.11 e 3.15, e abbiamo osservato chese arrivano a una formula in forma normale congiuntiva (risp. disgiuntiva), e quindisi fermano, allora la formula finale e logicamente equivalente alla formula da cuisono partiti. Cio che non abbiamo ancora dimostrato, ma stiamo per fare, e cheessi si fermano sempre.

Definizione 3.24. Associamo ad ogni formula proposizionale un numero naturalepositivo che chiameremo rango, secondo la seguente definizione ricorsiva (le cuiclausole comprendono tutte le possibilita, per il lemma 3.8):

∙ se F e un letterale allora rg(F ) = 1;∙ se F e una doppia negazione con ridotto G allora rg(F ) = rg(G) + 1;∙ se F e una �-formula o una �-formula e ha ridotti F1 e F2 allora rg(F ) =rg(F1) + rg(F2) + 1.

Lemma 3.25. Gli algoritmi 3.11 e 3.15 godono della proprieta della terminazioneforte, cioe terminano qualunque sia la formula su cui si decide di operare ad ognisingolo passo.

Dimostrazione. Dimostreremo la terminazione forte per l’algoritmo 3.11: ladimostrazione per l’algoritmo 3.15 si ottiene con semplici modifiche.

Ad ogni congiunzione generalizzata di disgiunzioni generalizzate

H = ⟨[F1,1, . . . , F1,ℎ1], . . . , [Fm,1, . . . , Fm,ℎm

]⟩associamo il numero naturale

�(H) = 2rg(F1,1)+⋅⋅⋅+rg(F1,ℎ1) + ⋅ ⋅ ⋅+ 2rg(Fm,1)+⋅⋅⋅+rg(Fm,ℎm ).

Dimostreremo ora che, se un’applicazione di una delle tre regole dell’algoritmo3.11 ci fa passare da una congiunzione generalizzata di disgiunzioni generalizzateH ad un’altra H ′, allora �(H ′) < �(H). Nel caso si agisca su una doppia negazioneo su una �-formula la verifica di cio e immediata. Quando si agisce su una �-formula cio dipende dalla seguente disuguaglianza, che vale per ogni a, b > 0: 2a +2b < 2a+b+1 (per dimostrare la disuguaglianza supponete a ≥ b e osservate che2a + 2b ≤ 2a + 2a = 2a+1 < 2a+b+1). Percio se F e una �-formula con ridottiF1 e F2, si ha 2rg(F1) + 2rg(F2) < 2rg(F ) e quindi, moltiplicando entrambi i membridella disuguaglianza per 2n, anche 2rg(F1)+n+2rg(F2)+n < 2rg(F )+n per ogni numeronaturale n.

Se H1, H2, . . . sono le congiunzioni generalizzate di disgiunzioni generalizzateprodotte da un’esecuzione dell’algoritmo 3.11 si ha quindi �(H1) > �(H2) > ⋅ ⋅ ⋅ enon possono esistere infiniti passi, cioe l’algoritmo termina. □

Nota 3.26. Notiamo esplicitamente che gli algoritmi di Fitting non prevedonola sostituzione di una formula con un’altra logicamente equivalente ad essa. Seintroducessimo questa possibilita, l’algoritmo non godrebbe piu della proprieta dellaterminazione forte e sarebbe quindi assai meno utile.

4. TERMINAZIONE FORTE DEGLI ALGORITMI DI FITTING 27

La dimostrazione del lemma 3.25 fornisce un limite superiore al numero dipassi necessario all’algoritmo 3.11 per terminare: dato che la prima congiunzionegeneralizzata di disgiunzioni generalizzate e ⟨[F ]⟩ e �(⟨[F ]⟩) = 2rg(F ), certamentel’algoritmo termina entro 2rg(F ) passi. Questo limite superiore e molto grossolano:se F e la formula dell’esempio 3.12 si ha rg(F ) = 8 e quindi �(⟨[F ]⟩) = 256, mal’algoritmo termina in 6 passi.

Esercizio 3.27. Calcolate �(H) dove H rappresenta le varie congiunzioni genera-lizzate di disgiunzioni generalizzate ottenute nell’esempio 3.12.

Possiamo completare il nostro lavoro sulle trasformazioni in forma normalecongiuntiva e disgiuntiva con la:

Dimostrazione del teorema 3.4. Data una formula F applichiamo a par-tire da F gli algoritmi 3.11 e 3.15. Per il lemma 3.25 essi terminano, producendodue formule G1 e G2, la prima in forma normale congiuntiva, la seconda in for-ma normale disgiuntiva. Entrambe queste formule sono logicamente equivalenti aF . □

CAPITOLO 4

Il metodo dei tableaux: caso proposizionale

Il metodo dei tableaux proposizionali e un calcolo logico che consiste in unaprocedura di decisione relativamente efficiente per la soddisfacibilita delle formuleproposizionali. Il principio che ispira questo algoritmo e piuttosto semplice: cer-chiamo sistematicamente un’interpretazione che soddisfi la formula in esame. Se laricerca ha successo la formula sara soddisfacibile, altrimenti la sistematicita dellaricerca ci assicura che essa e insoddisfacibile. Come gia gli algoritmi del capitolo 3,l’algoritmo e non deterministico e possiede la proprieta della terminazione forte.

1. Coppie complementari

Partiamo da una formula F e, supponendo l’esistenza di un’interpretazione vche la soddisfi, esaminiamo quali altri caratteristiche deve avere v: ad esempio se Fe una congiunzione G ∧H dovremo avere v(G) = V e v(H) = V. A questo puntoesaminiamo quali conseguenze hanno queste prime conseguenze e cosı via, passandoad esaminare formule via via piu semplici fino a raggiungere i letterali (definizione3.1). Riconosceremo la non esistenza di un’interpretazione con le caratteristicherichieste se ci troveremo ad avere v(p) = V e v(¬p) = V per qualche letteraproposizionale p. Per semplificare la descrizione di questa situazione introduciamola seguente definizione.

Definizione 4.1. Se p e una lettera proposizionale {p,¬p} e una coppia comple-mentare di letterali. Piu in generale se F e una formula {F,¬F} e una coppiacomplementare. Diciamo che F e ¬F sono ciascuno il complemento dell’altro.

La proprieta fondamentale delle coppie complementari di letterali e contenutanel seguente lemma.

Lemma 4.2. Un insieme di letterali e soddisfacibile se e solo se non contienenessuna coppia complementare.

Dimostrazione. E ovvio che un insieme soddisfacibile di formule non puocontenere coppie complementari.

Viceversa sia Γ un insieme di letterali che non contiene nessuna coppia com-plementare. Definiamo un’interpretazione v ponendo

v(p) =

{

V se p ∈ Γ;

F se p /∈ Γ.

v soddisfa tutte le formule di Γ. Infatti se ¬p ∈ Γ non puo essere p ∈ Γ (perche Γnon contiene coppie complementari) e quindi v(p) = F, cioe v(¬p) = V. □

Nota 4.3. Notiamo che la direzione da destra a sinistra del lemma 4.2 e falsa se a“insieme di letterali” sostituiamo “insieme di formule”: {p∧¬p} non contiene coppiecomplementari, ma e insoddisfacibile. La direzione da sinistra a destra e invece veraanche per insiemi di formule (nella dimostrazione di quella direzione non si e fattoalcun uso del fatto che gli elementi dell’insieme fossero tutti letterali).

28

2. ESEMPI PRELIMINARI 29

2. Esempi preliminari

Prima di descrivere l’algoritmo dei tableaux esaminiamo in dettaglio un paiodi esempi.

Esempio 4.4. Sia F la formula (p ∨ ¬q) ∧ ¬p. Se v soddisfa F deve esserev(p ∨ ¬q) = V e v(¬p) = V. Dalla prima di queste proprieta possiamo dedur-re che v(p) = V oppure v(¬q) = V. La prima possibilita ci conduce a doversoddisfare la coppia complementare di letterali {p,¬p}, che e impossibile. Resta laseconda possibilita, che ci chiede di soddisfare l’insieme di letterali {¬q,¬p} che noncontiene nessuna coppia complementare: cio e possibile per il lemma 4.2. Dall’in-sieme soddisfacibile di letterali possiamo “leggere” un’interpretazione che soddisfaF : v(p) = F e v(q) = F.

Esempio 4.5. Sia F la formula (p → ¬q) ∧ (p ∧ q). Se v soddisfa F deve esse-re v(p→ ¬q) = V e v(p ∧ q) = V. La seconda condizione implica v(p) = V ev(q) = V. Ricordando che F → G ≡ ¬F ∨ G otteniamo che la prima condizionee soddisfatta se e solo se v(¬p) = V oppure v(¬q) = V. Nel primo caso dovrem-mo soddisfare l’insieme {¬p, p, q}, nel secondo caso l’insieme {¬q, p, q}. Entrambiquesti insiemi contengono una coppia complementare e sono quindi insoddisfacibiliper il lemma 4.2. Percio F e insoddisfacibile.

Se abbiamo a che fare con formule piu complesse il filo del ragionamento svoltonei due esempi precedenti puo diventare piuttosto difficile da seguire. Il metododei tableaux rappresenta questi ragionamenti in una forma piu facilmente leggibileattraverso una struttura ad albero.

La radice dell’albero e etichettata con la formula che si intende studiare, glialtri nodi con insiemi di formule. Inoltre una foglia (o nodo terminale) dell’alberoe etichettata con un insieme di letterali.

Esempio 4.6. Disegniamo il tableau relativo alla formula studiata nell’esempio4.4:

(p ∨ ¬q) ∧ ¬p

p ∨ ¬q,¬p

p,¬p ¬q,¬pe quello relativo alla formula studiata nell’esempio 4.5:

(p→ ¬q) ∧ (p ∧ q)

p→ ¬q, p ∧ q

p→ ¬q, p, q

¬p, p, q ¬q, p, q

Il primo tableau contiene una foglia (quella di destra) etichettata con un insiemedi letterali che non contiene coppie complementari: questo testimonia la soddisfa-cibilita della formula originaria. Il secondo tableau contiene solo foglie etichettatecon insiemi di letterali che contengono coppie complementari: cio implica che laformula di partenza e insoddisfacibile.

Esempio 4.7. La costruzione del tableau non e in generale unica. Ecco un altrotableau per la formula dell’esempio 4.5:

30 4. IL METODO DEI TABLEAUX: CASO PROPOSIZIONALE

(p→ ¬q) ∧ (p ∧ q)

p→ ¬q, p ∧ q

¬p, p ∧ q ¬q, p ∧ q

¬p, p, q ¬q, p, q

Il nuovo tableau corrisponde ad un inversione nell’ordine del ragionamento: si eprima considerato il significato della soddisfazione di p→ ¬q e solo successivamente,per ognuna delle due possibilita, il significato di p∧q. Notiamo comunque che anchein questo caso il tableau contiene solo foglie etichettate con insiemi di letterali checontengono coppie complementari.

Gli alberi costruiti in precedenza evidenziano una caratteristica dei tableaux:ci sono nodi che hanno un solo figlio e nodi che ne hanno due. I primi corrispondonoall’analisi di formule come p∧ q, i secondi all’analisi di p∨¬q o p→ ¬q. Il metodopiu comodo per introdurre precisamente questa distinzione e quello di ricorrerealla distinzione tra �-formule e �-formule utilizzata gia nel capitolo precedente (siricordino la definizione 3.6 e i lemmi 3.7 e 3.8).

3. L’algoritmo

Algoritmo 4.8. Un tableau per una formula F e un albero in cui ogni nodoe etichettato con un insieme finito di formule. Il tableau e costruito per stadiT0, . . . , Tk: per ogni i, Ti+1 e un albero che estende Ti aggiungendo uno o due nodicon le rispettive etichette e lasciando invariate le etichette dei nodi gia appartenentia Ti. L’albero Tk (k ovviamente dipende da F ) e il tableau per F . Se n e un nododi qualche Ti indichiamo con E(n) l’etichetta di n (che, per quanto detto prima, ela stessa per tutti i Ti cui appartiene n).

All’inizio della costruzione T0 consiste di un solo nodo (la radice dell’albero)etichettato con {F}. Allo stadio i cerchiamo una foglia n dell’albero Ti tale cheE(n) non sia un insieme di letterali. Se una tale foglia non esiste siamo al terminedella costruzione e il tableau e completo. Altrimenti fissiamo n e scegliamo unaformula G ∈ E(n) che non e un letterale. Per il lemma 3.8 ci sono tre possibilita:

(1) se G e una doppia negazione con ridotto G1 aggiungiamo un nodo n′ sotton e poniamo E(n′) = (E(n) ∖ {G}) ∪ {G1};

(2) se G e una �-formula con ridotti G1 e G2 aggiungiamo un nodo n′ sotto n eponiamo E(n′) = (E(n) ∖ {G}) ∪ {G1, G2};

(3) se G e una �-formula con ridotti G1 e G2 aggiungiamo due nodi tra loroinconfrontabili n1 e n2 sotto n e poniamo E(n1) = (E(n) ∖ {G}) ∪ {G1} eE(n2) = (E(n) ∖ {G}) ∪ {G2}.

Notiamo che in ogni caso n non e una foglia di Ti+1.

L’algoritmo che abbiamo appena descritto e non deterministico perche ad ognipasso scegliamo una foglia n non etichettata solo con letterali e, all’interno di E(n),scegliamo una formula che non sia un letterale.

In pratica gli alberi T0, . . . Tk non sono rappresentati separatamente: si devepiuttosto pensare che il tableau “cresce” verso la sua forma finale, che usualmentee l’unica che vediamo.

Definizione 4.9. Sia n un nodo del tableau che ha successori nel tableau: laformula su cui si agisce in n e la G della descrizione dell’algoritmo.

4. TERMINAZIONE FORTE DEI TABLEAUX 31

Convenzione 4.10. Per comodita di lettura aggiungeremo sotto le foglie del ta-bleau uno dei simboli

e ⃝: se l’etichetta della foglia contiene una coppia comple-mentare di letterali useremo

, altrimenti ⃝. Questo ci permette di evidenziaremeglio se il tableau contiene solo foglie etichettate con insiemi insoddisfacibili diletterali, oppure se c’e qualche foglia etichettata con un insieme soddisfacibile diletterali (stiamo usando il lemma 4.2).

Inoltre, per alleggerire la notazione, evitiamo di indicare le parentesi { e }intorno agli elementi di E(n).

Esempio 4.11. Costruiamo un tableau per ¬(p → ¬q ∨ r) ∧ (¬p ∨ (q → ¬r)). Inogni nodo sottolineiamo la formula su cui agiamo in quel nodo.

¬(p → ¬q ∨ r) ∧ (¬p ∨ (q → ¬r))

¬(p → ¬q ∨ r),¬p ∨ (q → ¬r)

p,¬(¬q ∨ r),¬p ∨ (q → ¬r)

p,¬¬q,¬r,¬p ∨ (q → ¬r)

p, q,¬r,¬p ∨ (q → ¬r)

p, q,¬r,¬p p, q,¬r, q → ¬r⊗

p, q,¬r,¬q p, q,¬r,¬r⊗ ⃝

Notate che l’interpretazione definita da v(p) = V, v(q) = V, v(r) = F soddisfa siai letterali che etichettano l’unica foglia marcata con ⃝ che la formula da cui siamopartiti.

Esercizio 4.12. Costruite tableaux per (q → ¬p) ∧ (r → q) ∧ p ∧ r e per ¬(p ∧q → ¬r) ∨ (p ∧ ¬(q ∧ r)). Controllate anche, con le tavole di verita o ragionandodalle definizioni, se queste due formule sono soddisfacibili e, se e il caso, trovateun’interpretazione che le soddisfi.

4. Terminazione forte dei tableaux

Il primo risultato che vogliamo dimostrare relativamente al metodo dei tableauxe la sua terminazione forte. La dimostrazione si basa sul seguente lemma, che e uncaso particolare del lemma di Konig. Ricordiamo che un albero binario e un alberotale che ogni nodo ha al piu due figli. Gli alberi costruiti dal metodo dei tableauxsono sempre binari.

Lemma 4.13. Se un albero binario e infinito allora ha un ramo infinito.

Dimostrazione. Sia T un albero binario e supponiamo che T sia infinito.Vogliamo dimostrare che T ha un ramo infinito. Diciamo che un nodo n di T ebuono se il sottoalbero radicato in n e infinito.

Per ipotesi la radice di T e buona (il sottoalbero radicato in essa e T ). Sia n unnodo buono: il sottoalbero radicato in n consiste di n e dell’unione dei sottoalberiradicati nei figli di n. Dato che n ha al piu due figli, se entrambi questi ultimifossero finiti (o addirittura n non avesse figli) il sottoalbero radicato in n sarebbefinito, contro la bonta di n. Percio almeno uno dei figli di n deve essere buono.

32 4. IL METODO DEI TABLEAUX: CASO PROPOSIZIONALE

Nel paragrafo precedente abbiamo dimostrato che la radice di T e buona e cheogni nodo buono ha un figlio buono. Usando questi due fatti e facile costruire unramo in T che consiste di nodi buoni ed e infinito. □

Possiamo ora dimostrare il teorema che ci interessa.

Teorema 4.14. L’algoritmo di costruzione dei tableaux gode della proprieta dellaterminazione forte, cioe termina qualunque siano il nodo e la formula su cui sidecide di operare ad ogni singolo passo.

Dimostrazione. Se per assurdo la costruzione di un tableau non terminasse,essa darebbe origine ad un albero binario infinito. Per il lemma 4.13 un tale alberoavrebbe un ramo infinito. Per raggiungere una contraddizione assegnamo ad ogninodo n di T un numero naturale W (n) in modo tale che se n′ e un figlio di n siabbiaW (n′) < W (n). Se T avesse un ramo infinito i valori diW lungo questo ramosarebbero una successione infinita decrescente di numeri naturali, che e assurdo.

Per definire W useremo il rango rg (definizione 3.24): se n e un nodo di T ,W (n) e la somma dei ranghi delle formule in E(n):

W (n) =∑

G∈E(n)

rg(G).

Sia ora n′ un figlio di n. Dobbiamo verificare che si ha sempre W (n′) < W (n),cioe W (n′) ≤W (n)− 1.

Se n′ e stato ottenuto agendo su una doppia negazione G con ridotto G1 allora

E(n′) = (E(n) ∖ {G}) ∪ {G1}e quindi

W (n′) =W (n)− rg(G) + rg(G1) =W (n)− (rg(G1) + 1) + rg(G1) =W (n)− 1.

Se n′ e stato ottenuto agendo su una �-formula G ∈ E(n), con ridotti G1 e G2

allora

E(n′) = (E(n) ∖ {G}) ∪ {G1, G2}e quindi

W (n′) =W (n)− rg(G) + rg(G1) + rg(G2) =

=W (n)− (rg(G1) + rg(G2) + 1) + rg(G1) + rg(G2) =W (n)− 1.

Se invece n′ e stato ottenuto agendo su una �-formula G ∈ E(n), con ridottiG1 e G2 allora

E(n′) = (E(n) ∖ {G}) ∪ {G1} oppure

E(n′) = (E(n) ∖ {G}) ∪ {G2}.Nel primo caso abbiamo

W (n′) =W (n)− rg(G) + rg(G1) =

=W (n)− (rg(G1) + rg(G2) + 1) + rg(G1) =W (n)− rg(G2)− 1 ≤W (n)− 1.

Il secondo caso e del tutto analogo.La dimostrazione del teorema e cosı completa. □

Esercizio 4.15. Costruite un tableau per la formula ¬(p → q) → (¬p ∨ q) e perogni nodo n calcolate W (n).

La dimostrazione del teorema 4.14 fornisce un limite superiore all’altezza di untableau completo: se F e la formula che etichetta la radice l’altezza e minore ouguale a rg(F ).

5. CORRETTEZZA E COMPLETEZZA DEL METODO DEI TABLEAUX 33

Esercizio 4.16. Sia F la formula dell’esempio 4.11. Calcolate rg(F ) e confrontatelocon l’altezza del tableau per F .

Nota 4.17. Come notato per gli algoritmi di Fitting nella nota 3.26, anche l’algo-ritmo di costruzione dei tableaux non prevede la sostituzione di una formula conun’altra logicamente equivalente ad essa. Anche in questo caso, se introducessimoquesta possibilita, l’algoritmo non godrebbe piu della proprieta della terminazioneforte e sarebbe quindi assai meno utile.

5. Correttezza e completezza del metodo dei tableaux

Dobbiamo ora dimostrare che il metodo dei tableaux e effettivamente una pro-cedura di decisione per la soddisfacibilita delle formule proposizionali. Iniziamo conalcune definizioni che ci permettono di leggere l’output del nostro algoritmo.

Definizione 4.18. Un tableau e chiuso se tutte le sue foglie sono etichettate coninsiemi di letterali che contengono una coppia complementare. Un tableau e apertose non e chiuso, cioe se almeno una foglia e etichettata con un insieme di letteraliche non contiene una coppia complementare.

Un ramo aperto di un tableau e un ramo che collega la radice dell’alberocon una foglia etichettata con un insieme di letterali che non contiene una coppiacomplementare.

Il teorema principale che dimostreremo e il seguente.

Teorema 4.19. Sia F una formula e T un tableau per F . F e insoddisfacibile see solo se T e chiuso.

Enunciamo immediatamente due importanti e utili conseguenze del teorema4.19.

Teorema 4.20. Sia F una formula e T un tableau per F . F e soddisfacibile se esolo se T e aperto.

Dimostrazione. Immediata dal teorema 4.19. □

Teorema 4.21. Sia F una formula e T un tableau per ¬F . F e valida se e solose T e chiuso.

Dimostrazione. F e valida se e solo se ¬F e insoddisfacibile (teorema 2.35),se e solo se T e chiuso (teorema 4.19). □

I teoremi appena enunciati ci permettono anche di concludere che la chiusurao apertura del tableau dipende solo dalla formula iniziale, e non dalle scelte fattedurante la costruzione del tableau stesso.

Corollario 4.22. Sia F una formula e T e T ′ due tableaux per F . T e T ′ sonoentrambi chiusi o entrambi aperti.

Dimostrazione. Se F e soddisfacibile T e T ′ sono entrambi aperti per ilteorema 4.20. Se F e insoddisfacibile T e T ′ sono entrambi chiusi per il teorema4.19. □

Dobbiamo ora dimostrare il teorema 4.19. E bene distinguere le due direzionidi questo teorema. Quella in avanti, cioe da sinistra a destra, e nota come teoremadi completezza: ci dice che se F e insoddisfacibile il metodo dei tableaux riesce ascoprirlo, chiudendo tutti i rami di qualsiasi tableau per F . La direzione oppostae invece chiamata teorema di correttezza e asserisce che se il metodo dei tableauxdichiara una formula insoddisfacibile perche il tableau per essa e chiuso, la formulae veramente insoddisfacibile. La distinzione tra completezza e correttezza e utile

34 4. IL METODO DEI TABLEAUX: CASO PROPOSIZIONALE

per tutte le procedure di decisione, anche in logiche molto piu complesse di quel-la proposizionale. Usualmente e molto piu facile dimostrare la correttezza di unaprocedura di decisione che provarne la completezza. Infatti e probabile che unaprocedura di decisione consista di passaggi chiaramente corretti, cosı che la cor-rettezza sia facile da verificare. Piu delicato e dimostrare che i passaggi ammessisono sufficienti a garantire la completezza, cioe che non si e “dimenticato nulla”. Ilseguente esempio, per quanto paradossale, puo essere utile a chiarire questo punto.Consideriamo la procedura di decisione che dichiara ogni formula soddisfacibile:essa e corretta perche non sbaglia mai nel dichiarare una formula insoddisfacibile(non lo fa mai!), ma e ovviamente ben lontana dall’essere completa.

Terremo dunque distinte le due direzioni del teorema 4.19, e le enunceremo edimostreremo separatamente, iniziando dalla piu semplice.

Teorema 4.23 (Teorema di correttezza). Se T e un tableau chiuso per la formulaF allora F e insoddisfacibile.

Dimostrazione. Sia T un tableau chiuso per F . Dimostreremo i seguentefatto, che indichiamo con (†):

per ogni nodo n di T l’insieme di formule E(n) e insoddisfacibile.

Il caso particolare di (†) ottenuto quando n e la radice di T (e quindi E(n) = {F})mostra che F e insoddisfacibile.

La dimostrazione di (†) e per induzione sull’altezza di n in T .Se l’altezza di n in T e 0 significa che n e una foglia del tableau. Dato che T e

chiuso E(n) e un insieme di letterali che contiene una coppia complementare. Peril lemma 4.2 E(n) e insoddisfacibile.

Consideriamo ora il caso in cui l’altezza di n in T e maggiore di 0. Allora n hauno o due successori in T , che sono stati ottenuti agendo su qualche G ∈ E(n) e cisono tre possibilita.

(1) Se G e una doppia negazione con ridotto G1, n ha un solo successore n′ esi ha E(n′) = (E(n) ∖ {G}) ∪ {G1}. n′ ha altezza minore di n in T . Peripotesi induttiva (cioe applicando (†) a n′) E(n′) e insoddisfacibile. Sia orav un’interpretazione qualsiasi: deve essere v(H) = F per qualche formulaH ∈ E(n′) (che puo dipendere da v).

(i) se H ∈ E(n) ∖ {G} allora H ∈ E(n) e quindi v non soddisfa E(n);(ii) se H e G1 allora v(H) = F implica v(G) = F (ricordate che G e

¬¬G1 e ¬¬G1 ≡ G1) ed anche in questo caso v non soddisfa E(n).Dato che un’interpretazione arbitraria non soddisfa E(n) concludiamo cheE(n) e insoddisfacibile.

(2) se G e una �-formula con ridotti G1 e G2, n ha un solo successore n′ e si haE(n′) = (E(n) ∖ {G}) ∪ {G1, G2}. Come nel caso precedente deduciamo cheE(n′) e insoddisfacibile: fissato v si ha v(H) = F per qualche H ∈ E(n′).

(i) se H ∈ E(n) ∖ {G} allora ragioniamo come sopra;(ii) se H e G1 oppure G2 allora da v(H) = F segue v(G1 ∧G2) = F e

quindi v(G) = F perche G ≡ G1 ∧ G2 per il lemma 3.7. Dunque vnon soddisfa E(n).

Abbiamo dunque dimostrato che E(n) e insoddisfacibile.(3) se G e una �-formula con ridotti G1 e G2, n ha due successori n1 e n2 e si ha

E(ni) = (E(n) ∖ {G}) ∪ {Gi} (per i = 1 e i = 2). Il ragionamento del punto(1) puo venir ripetuto per ognuno dei due successori ottenendo che sia E(n1)che E(n2) sono insoddisfacibili. Fissiamo nuovamente un’interpretazione v:

(i) se v(H) = F per qualche H ∈ E(n) ∖ {G} allora v non soddisfa E(n)per le ragioni considerate in precedenza;

5. CORRETTEZZA E COMPLETEZZA DEL METODO DEI TABLEAUX 35

(ii) se per ogni H ∈ E(n) ∖ {G} si ha v(H) = V allora, dato che v nonsoddisfa E(n1), deve essere v(G1) = F. Similmente, dato che v nonsoddisfa E(n2), deve essere v(G2) = F. Allora v(G1 ∨G2) = F e,dato che G ≡ G1 ∨ G2 per il lemma 3.7, si ha v(G) = F. Dunque vnon soddisfa E(n).

Percio E(n) e insoddisfacibile.

Abbiamo dunque dimostrato (†) e quindi il teorema. □

Teorema 4.24 (Teorema di completezza). Se la formula F e insoddisfacibile alloraogni tableau per F e chiuso.

Schema della dimostrazione. Dimostreremo che se qualche tableau per Fe aperto allora F e soddisfacibile. Sia dunque T un tableau aperto per F e fissiamoun ramo aperto r di T . La dimostrazione si sviluppera in tre passi:

a. definiremo quando un insieme di formule e un insieme di Hintikka (definizione4.25);

b. dimostreremo che ogni insieme di Hintikka e soddisfacibile (lemma 4.29);c. dimostreremo che

n∈r E(n) e un insieme di Hintikka (lemma 4.30).

Dato che F ∈ ∪

n∈r E(n) (perche la radice del tableau appartiene a r) questi passisono sufficienti a completare la dimostrazione. □

Definizione 4.25. Un insieme di formule Γ e un insieme di Hintikka se soddisfale seguenti quattro condizioni:

(1) Γ non contiene una coppia complementare di letterali;(2) se una doppia negazione appartiene a Γ allora il suo ridotto appartiene a Γ;(3) se una �-formula appartiene a Γ allora entrambi i suoi ridotti appartengono

a Γ;(4) se una �-formula appartiene a Γ allora almeno uno dei suoi ridotti appartiene

a Γ.

Esempio 4.26. L’insieme

{p ∨ ¬r → q,¬(p ∨ ¬r),¬p,¬¬r, r}e un insieme di Hintikka. Infatti non contiene coppie complementari di letterali,contiene uno dei ridotti della �-formula p ∨ ¬r → q, entrambi i ridotti della �-formula ¬(p ∨ ¬r) e il ridotto della doppia negazione ¬¬r.Esercizio 4.27. Siano F1 e F2 le formule ¬(p → q ∨ ¬r) e ¬p ∨ (r → q).

(i) Definite insiemi di Hintikka Γ1 e Γ2 con Fi ∈ Γi.(ii) Γ1 ∪ Γ2 e un insieme di Hintikka?(iii) (★) Esiste un insieme di Hintikka che contiene sia F1 che F2?

Esercizio 4.28. Verificare che l’insieme di formule che compaiono nelle etichettedel ramo aperto del tableau dell’esempio 4.11 e un insieme di Hintikka.

Lemma 4.29 (Lemma di Hintikka). Ogni insieme di Hintikka e soddisfacibile.

Dimostrazione. Sia Γ un insieme di Hintikka. Definiamo un’interpretazionev come segue:

v(p) =

{

V se p ∈ Γ;

F se p /∈ Γ.

Dimostreremo che per ogni F ∈ Γ si ha v(F ) = V: questo implica che Γ esoddisfacibile. La dimostrazione e per induzione sul rango di F (definizione 3.24).Se rg(F ) = 1 allora F e un letterale:

36 4. IL METODO DEI TABLEAUX: CASO PROPOSIZIONALE

∙ se F ∈ Γ e una lettera proposizionale allora v(F ) = V per definizione div.

∙ se F ∈ Γ e la negazione di una lettera proposizionale p allora p /∈ Γ per(1) nella definizione di insieme di Hintikka. Quindi v(p) = F e perciov(F ) = V.

Se rg(F ) > 1 allora F e una doppia negazione, una �-formula o una �-formula:

∙ Se F ∈ Γ e una doppia negazione con ridotto G allora G ∈ Γ per (2) nelladefinizione di insieme di Hintikka. Poiche rg(G) = rg(F ) − 1 l’ipotesiinduttiva ci dice che v(G) = V. Dato che F ≡ G abbiamo v(F ) = V.

∙ Se F ∈ Γ e una �-formula con ridotti G e H allora G,H ∈ Γ per (3)nella definizione di insieme di Hintikka. Per ipotesi induttiva, dato cherg(G) < rg(F ) e rg(H) < rg(F ), possiamo assumere v(G) = V e v(H) =V. Poiche F ≡ G ∧H abbiamo v(F ) = V.

∙ Se F ∈ Γ e una �-formula con ridotti G e H allora G ∈ Γ oppure H ∈ Γper (4) nella definizione di insieme di Hintikka. Se G ∈ Γ per ipotesiinduttiva, dato che rg(G) < rg(F ), v(G) = V e, dato che F ≡ G ∨ H ,abbiamo v(F ) = V. Il caso in cui H ∈ Γ e del tutto analogo. □

Lemma 4.30. Se r e un ramo aperto di un tableau allora Γ =∪

n∈r E(n) e uninsieme di Hintikka.

Dimostrazione. Sia f la foglia di r. Dobbiamo verificare che Γ soddisfa lequattro proprieta della definizione di insieme di Hintikka.

(1) Per verificare che Γ non contiene una coppia complementare di letterali notiamoche l’algoritmo dei tableaux non elimina mai i letterali dalle etichette dei nodi.Percio se un letterale G appartene a qualche E(n) con n ∈ r allora G ∈ E(f).Questo significa che se Γ contiene due letterali complementari G e H si haG,H ∈ E(f) e r non e aperto, contro la nostra ipotesi.

(2) Se una doppia negazione G con ridotto G1 appartiene a Γ allora sia n il nododi r piu vicino a f tra quelli tali che G ∈ E(n). Non puo essere n = f , percheE(f) e un insieme di letterali, e quindi n ha un successore n′ ∈ r. Dato cheG /∈ E(n′) deve essere che G e la formula su cui si agisce in n. PercioG1 ∈ E(n′)e quindi G1 ∈ Γ come volevamo.

(3) Se una �-formula G con ridotti G1 e G2 appartiene a Γ allora si puo ripetere ilragionamento svolto nel caso della doppia negazione per arrivare a concludereche G1, G2 ∈ Γ.

(4) se una �-formula G con ridotti G1 e G2 appartiene a Γ allora come sopra sian ∕= f il nodo di r piu vicino a f tra quelli tali che G ∈ E(n). Anche in questocaso deve essere che G e la formula su cui si agisce in n e quindi n ha duesuccessori. Esattamente uno di questi successori appartiene a r: indichiamolocon n′. Si ha G1 ∈ E(n′) oppure G2 ∈ E(n′) e quindi G1 ∈ Γ oppure G2 ∈ Γ,come volevamo. □

La dimostrazione del teorema di completezza fornisce informazioni su cometrovare un’interpretazione che soddisfi una formula il cui tableau e aperto.

Lemma 4.31. Se una foglia f di un tableau per F non contiene coppie comple-mentari allora l’interpretazione v definita da

v(p) =

{

V se p ∈ E(f);

F se p /∈ E(f).

soddisfa F .

Un esempio di applicazione di questo lemma e contenuto nell’esempio 4.11.

6. SEMPLIFICARE I TABLEAUX 37

Esempio 4.32. Utilizziamo il metodo dei tableaux per dimostrare la validita dellaformula (p→ q) ∧ (p → ¬q) → ¬p. Per il teorema 4.21 dobbiamo verificare che untableau per la negazione di questa formula e chiuso. In ogni nodo sottolineiamo laformula su cui agiamo in quel nodo.

¬((p→ q) ∧ (p→ ¬q) → ¬p)

(p→ q) ∧ (p→ ¬q),¬¬p

(p→ q) ∧ (p→ ¬q), p

p→ q, p→ ¬q, p

¬p, p→ ¬q, p q, p→ ¬q, p

¬p,¬p, p ¬p,¬q, p q,¬p, p q,¬q, p⊗ ⊗ ⊗ ⊗

6. Semplificare i tableaux

Per scrivere piu concisamente i tableaux e utile introdurre alcune abbreviazionie piccole varianti dell’algoritmo 4.8.

Convenzione 4.33. Da questo punto in poi ogniqualvolta nelle etichette di unnodo di un tableau compare una doppia negazione F con ridotto G scriveremodirettamente G, utilizzando la regola della doppia negazione immediatamente econtraendo due nodi in uno.

Nel tableau dell’esempio 4.32 la precedente convenzione avrebbe permesso discrivere un nodo in meno (il secondo dalla radice, in cui si e agito su ¬¬p).Convenzione 4.34. Da questo punto in poi ogniqualvolta nelle etichette di unnodo di un tableau compaiono una formula F con la sua negazione ¬F consideriamoil nodo in questione chiuso e non operiamo piu su di esso (secondo l’algoritmo4.8 dovremmo ancora operare su di esso se l’etichetta contiene formule, compresaeventualmente F , che non sono letterali).

Nel tableau dell’esempio 4.32 la precedente convenzione avrebbe permesso dinon scrivere le due foglie piu a sinistra, chiudendo il ramo di sinistra dopo il nodoetichettato con ¬p, p→ ¬q, p.Nota 4.35. La convenzione 4.33 e solo formale (si tratta in pratica di un semplicetrucco per scrivere un po’ piu rapidamente i tableaux). La convenzione 4.34 ri-guarda invece un mutamento sostanziale ed in realta sarebbe necessario dimostrarenuovamente il teorema di correttezza per tableaux ottenuti in questo modo (non enecessario dimostrare nuovamente la completezza perche in quel caso la dimostra-zione partiva dall’esistenza di rami aperti, mentre la convenzione indica un modoper chiudere rami). Omettiamo questa dimostrazione, che e una semplice modificadella dimostrazione precedente, basata sulla seconda parte della nota 4.3.

Esempio 4.36. Utilizziamo le convenzioni 4.33 e 4.34 per costruire un tableau perla formula

(p→ ¬q ∨ ¬r) ∧ (q → r) ∧ ¬(q → ¬p)Per semplificare la notazione indichiamo con F , G e H le tre formule p→ ¬q ∨¬r,q → r e ¬(q → ¬p). In ogni nodo sottolineiamo la formula su cui agiamo in quelnodo.

38 4. IL METODO DEI TABLEAUX: CASO PROPOSIZIONALE

F ∧G ∧H

F ∧G,H

F,G,H

F,G, q, p

F, q, p,¬q F , q, p, r⊗

q, p, r,¬p q, p, r,¬q ∨ ¬r⊗

q, p, r,¬q q, p, r,¬r⊗ ⊗

La convenzione 4.33 e stata applicata nel nodo ottenuto agendo suH (in cui sarebbedovuto comparire ¬¬p), la convenzione 4.34 nel nodo chiuso piu in alto, in cuicompare la formula F che non e un letterale.

Dato che tutti i rami sono chiusi il teorema di correttezza ci permette diconcludere che la formula di partenza e insoddisfacibile.

Esempio 4.37. Nel seguente tableaux la semplificazione apportata dalla conven-zione 4.34 e particolarmente evidente:

(p ∨ q → q ∧ ¬r) ∧ ¬(p ∨ q → q ∧ ¬r)

p ∨ q → q ∧ ¬r,¬(p ∨ q → q ∧ ¬r)⊗

Esercizio 4.38. Sviluppate completamente un tableau per la formula

(p ∨ q → q ∧ ¬r) ∧ ¬(p ∨ q → q ∧ ¬r)dell’esempio precedente utilizzando l’algoritmo 4.8 senza usare la convenzione 4.34.

Come gia notato, l’algoritmo 4.8 e non deterministico: la seguente osservazioneci indica come cercare di ottenere il tableau piu semplice possibile.

Nota 4.39. Per semplificare il piu possibile il tableau costruito dall’algoritmo 4.8 eopportuno agire su doppie negazioni o �-formule ogniqualvolta cio sia possibile. Inquesto modo si dilaziona il piu possibile la creazione di biforcazioni e l’incrementodel numero delle foglie.

Esercizio 4.40. Studiate con il metodo del tableaux le formule degli esempi 2.36,2.37, 2.48 e 2.49 e dell’esercizio 2.53 (verificate che il risultato ottenuto con itableaux coincida con quello ottenuto in precedenza).

7. I tableaux e la conseguenza logica

Abbiamo presentato il metodo dei tableaux come un metodo per studiare lavalidita o la soddisfacibilita di una singola formula. Usando il lemma 2.41 possiamousare i tableaux per studiare la validita o la soddisfacibilita di un insieme finitodi formule {F1, . . . , Fn}. Nel caso della soddisfacibilita si dovrebbe costruire untableau per F1∧⋅ ⋅ ⋅∧Fn. I primi passi del tableau conducono ad un nodo etichettatoF1, . . . , Fn: questa semplice osservazione giustifica il seguente algoritmo.

7. I TABLEAUX E LA CONSEGUENZA LOGICA 39

Algoritmo 4.41. Per stabilire se un insieme finito Γ = {F1, . . . , Fn} di formule esoddisfacibile costruiamo un tableau la cui radice e etichettata con Γ. Se il tableaue aperto Γ e soddisfacibile (e l’etichetta priva di coppie complementari di una fogliaci permette di definire un’interpretazione che soddisfa Γ), se il tableau e chiuso Γ einsoddisfacibile.

Il lemma 2.38 ci permette di usare i tableaux per stabilire la sussistenza dellarelazione di conseguenza logica. In questo caso per stabilire che F ∣= G bisognacostruire un tableau chiuso per ¬(F → G) (la negazione delle formula di cui sivuole stabilire la validita), che ha il primo nodo sotto la radice etichettato daF,¬G. Generalizzando questa osservazione al caso in cui a sinistra del simbolo diconseguenza logica compare un insieme finito di formule (definizione 2.26) si ottieneil seguente algoritmo.

Algoritmo 4.42. Per stabilire se F1, . . . , Fn ∣= G costruiamo un tableau la cuiradice e etichettata con {F1, . . . , Fn,¬G}. Se il tableau e chiuso F1, . . . , Fn ∣= G,se il tableau e aperto F1, . . . , Fn ⊭ G (e l’etichetta priva di coppie complementaridi una foglia ci permette di definire un’interpretazione che soddisfa F1, . . . , Fn manon G).

Esercizio 4.43. Studiate con il metodo del tableaux le conseguenze logiche degliesempi 2.17, 2.50, 2.51 e 2.59 e degli esercizi 2.25, 2.52 e 2.54 (verificate che ilrisultato ottenuto con i tableaux coincida con quello ottenuto in precedenza). Per iproblemi che riguardano un’equivalenza logica bisogna studiare le due conseguenzelogiche, usando il lemma 2.19.

CAPITOLO 5

La deduzione naturale: caso proposizionale

La deduzione naturale e un calcolo logico introdotto da Gentzen nel 1935. Il suoscopo e quello di riprodurre in modo formale alcuni ragionamenti che siamo abituatiad effettuare nella nostra vita quotidiana per trarre conclusioni e fare previsioni apartire da cio che sappiamo. Nell’attivita scientifica, ed in modo particolarmentespiccato in quella matematica, questi ragionamenti sono sottoposti a criteri di rigoreassai stringenti. In questo contesto i ragionamenti assumono la forma di vere eproprie deduzioni in cui si dimostra che un’affermazione e conseguenza di certeipotesi. La deduzione naturale si propone quindi come un metodo per ottenereconseguenze logiche.

La deduzione naturale e un sistema deduttivo. Un sistema deduttivo, vistoastrattamente, e una relazione che puo sussistere tra un insieme di formule e unaformula: se la relazione vale diciamo che la formula viene dedotta dall’insieme. Ladeduzione naturale parte quindi da un approccio diverso da quello utilizzato dalmetodo dei tableaux, che si concentra sulle dimostrazioni di insoddisfacibilita (nellasezione 4.7 abbiamo descritto come utilizzare i tableaux per studiare la conseguenzalogica, ma cio avviene riducendo la conseguenza logica all’insoddisfacibilita).

1. Caratteristiche di un sistema deduttivo

Per introdurre le regole della deduzione naturale partiamo dall’analisi di alcunecaratteristiche che sono desiderabili in un sistema deduttivo arbitrario. Fissatodunque un sistema deduttivo, indichiamo con Γ ⊢ F il fatto che dall’insieme diformule Γ deduciamo la formula F 1. La prima condizione che vorremmo vedersoddisfatta da ⊢ e che Γ ⊢ F implichi Γ ∣= F : cio che deduciamo deve essere vero.Questa proprieta e la correttezza del sistema deduttivo rappresentato da ⊢ ed egarantita se i singoli passi della nostra deduzione sono corretti.

Idealmente desideriamo anche che valga l’implicazione inversa: Γ ∣= F dovrebbeimplicare Γ ⊢ F . Questa proprieta (la completezza di ⊢) e assai piu difficile daottenere e da dimostrare: per raggiungerla e necessario che il sistema deduttivorappresentato da ⊢ sia sufficientemente “ricco”.

Un’altra proprieta fondamentale che il sistema deduttivo dovrebbe possederee quella della componibilita delle deduzioni. Spesso per dimostrare un teorema Fa partire da certe ipotesi Γ iniziamo con il dimostrare un “lemma” intermedio G,per poi utilizzare G e Γ nella dimostrazione di F . Utilizzando il nostro simbolismo,possiamo esprimere questo procedimento in questo modo:

se Γ ⊢ G e Γ, G ⊢ F allora Γ ⊢ FQuesto principio e spesso chiamato regola di taglio, e verra usato implicitamentenel nostro sistema di deduzione naturale.

Nell’individuare le regole che vogliamo inserire nel nostro sistema deduttivo (eche saranno le regole fondamentali della deduzione naturale) ci facciamo guidare

1La scelta (tradizionale) del simbolo ⊢ ha lo scopo di richiamare, pur differenziandosene, il

simbolo ∣= usato per la conseguenza logica: ∣= e un concetto semantico, mentre qui abbiamo a chefare con un concetto deduttivo che si basa solo sulle proprieta sintattiche delle formule coinvolte.

40

1. CARATTERISTICHE DI UN SISTEMA DEDUTTIVO 41

dall’esigenza di conservare la correttezza, ed esaminiamo i vari connettivi per isolarele regole di base che li riguardano.

Iniziamo da ∧. Dato che da F ∧ G possiamo dedurre sia F che G, mentre sesupponiamo sia F che G possiamo dedurre F ∧ G, le seguenti regole appaiono deltutto naturali:

F ∧G ⊢ F (∧e.1)F ∧G ⊢ G (∧e.2)F,G ⊢ F ∧G (∧i)

Le lettere e e i sono state scelte perche nelle prime due righe stiamo eliminando ilconnettivo ∧, mentre nell’ultima lo stiamo introducendo. La correttezza delle regoledi eliminazione e garantita dal lemma 2.20.7, quella della regola di introduzionedall’esercizio 2.30.a.

Nel caso di ∨ e evidente (sulla base del lemma 2.20.6) come possiamo introdurreil connettivo:

F ⊢ F ∨G (∨i.1)G ⊢ F ∨G (∨i.2)

Non e invece immediatamente chiaro come eliminare ∨: se sappiamo che vale F ∨Gnon sappiamo quale dei due congiunti e vero, e quindi sembra che non possiamodedurre nulla. Vedremo piu sotto come risolvere questo problema.

Nel caso di→ la regola di eliminazione e nota comemodus ponens, e rappresentail modo tipico di utilizzare un’implicazione:

F, F → G ⊢ G (→e)

Questa regola e giustificata dall’esercizio 2.30.b. Essa corrisponde al ragionamentoper cui sapendo che se piove allora Marco non prende la bici ed osservando chepiove, possiamo giungere alla conclusione che Marco non prende la bici.

Esempio 5.1. Vediamo ora come combinando (attraverso l’uso ripetuto della re-gola di taglio) queste prime regole e possibile ottenere qualche ragionamento nonbanale. Vogliamo mostrare che

F ∧ (G→ H), F → G ⊢ G ∧H,

ovvero che assumendo F ∧ (G→ H) e F → G possiamo dedurre G ∧H .Per (∧e.1) abbiamo F ∧ (G→ H) ⊢ F ed abbiamo quindi ottenuto F a partire

da una delle nostre ipotesi. Per (→e) abbiamo F, F → G ⊢ G, e siamo quindi giuntia G partendo da una delle ipotesi e da una conclusione gia ottenuta. Per (∧e.2)abbiamo F ∧ (G→ H) ⊢ G→ H e da (→e) otteniamo G,G→ H ⊢ H .

Abbiamo quindi ottenuto sia G che H , e possiamo usare (∧i) per ottenereG ∧H .

Il ragionamento dell’esempio precedente non e facilissimo da seguire quandoviene scritto per esteso come sopra, ed e possibile che a qualche lettore sia venutonaturale prendere carta e penna per “disegnarlo”. La deduzione naturale fornisceproprio un modo di “disegnare” i ragionamenti e rappresentarli in maniera chiara.

Tornando all’analisi delle regole, abbiamo lasciato finora da parte il connet-tivo ¬, che e senz’altro il piu delicato. Per eliminare ¬ e naturale supporre diaver ottenuto sia F che ¬F , e da queste dedurre una contraddizione. La nega-zione e quindi strettamente connessa con la nozione di contraddizione, e percio econveniente introdurre una formula che rappresenti quest’ultima.

42 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

Definizione 5.2. La formula ⊥ e una costante logica che appartiene all’insiemeP delle lettere proposizionali e viene letta “falso” o “contraddizione”. Per ogniinterpretazione v poniamo v(⊥) = F.

Nota 5.3. La definizione precedente implica che ⊥ e insoddisfacibile e (quindi) che¬⊥ e valida. Possiamo anzi considerare ⊥ e ¬⊥ come i “prototipi” rispettivamentedelle formule insoddisfacibili e delle formule valide.

Esercizio 5.4. Dimostrare che per qualunque formula F e insieme di formule Γ:

(1) ⊥ ∣= F e F ∣= ¬⊥;(2) ⊥ ≡ F ∧ ¬F ;(3) ¬⊥ ≡ F ∨ ¬F ;(4) F ∧ ⊥ ≡ ⊥;(5) F ∧ ¬⊥ ≡ F ;(6) F ∨ ⊥ ≡ F ;(7) F ∨ ¬⊥ ≡ ¬⊥(8) F → ⊥ ≡ ¬F ;(9) F → ¬⊥ ≡ ¬⊥;

(10) ⊥ → F ≡ ¬⊥;(11) ¬⊥ → F ≡ F ;(12) Γ ∣= ⊥ se e solo se Γ e insoddisfacibile;(13) ¬⊥ ∣= F se e solo se F e valida.

Riprendendo il discorso sulla negazione, otteniamo la regola:

F,¬F ⊢ ⊥ (¬e)Questa regola, la cui correttezza deriva dall’esercizio 5.4.2, puo anche essere vistacome la regola di introduzione di ⊥, (⊥i).

Un’ultima regola che riguarda la negazione e l’eliminazione della doppia nega-zione:

¬¬F ⊢ F (¬¬e)Essa e ovviamente giustificata dalla prima equivalenza logica del lemma 2.20.

Passiamo ora a considerare regole piu complesse, in cui a partire da una dedu-zione di partenza si arriva ad una deduzione in cui alcune delle ipotesi sono statecambiate.

La regola piu semplice di questo tipo e quella che riguarda l’introduzione di →.Per dimostrare l’implicazione F → G e naturale assumere F e dedurre G da essa.In altre parole, se abbiamo una deduzione di G a partire da F , allora possiamodedurre F → G. La correttezza di questo principio e verificata osservando che seF e falsa, F → G e certamente vera, mentre se F e vera la nostra deduzione dipartenza (che supponiamo corretta) ci assicura che anche G e vera e quindi ancheF → G lo e. Utilizzando la nostra simbologia:

se F ⊢ G allora ⊢ F → G (→i)

dove la deduzione finale non ha alcuna ipotesi.Consideriamo ora l’introduzione di ¬: un tipico modo di dimostrare ¬F e quello

di supporre F e dedurne una contraddizione. La regola che otteniamo e:

se F ⊢ ⊥ allora ⊢ ¬F (¬i)Questa regola puo anche essere viste come l’eliminazione di ⊥, (⊥e).

Consideriamo ora l’eliminazione di ∨, che avevamo rimandato in precedenza.Se sappiamo che una formula H e deducibile sia da F che da G, allora possiamo

2. LA DEDUZIONE NATURALE PROPOSIZIONALE 43

affermare che da F ∨G possiamo dedurre H (in termini matematici, si tratta di unadimostrazione per casi). Questo ragionamento puo venire riassunto dalla regola:

se F ⊢ H e G ⊢ H allora F ∨G ⊢ H (∨e)Un esempio di ragionamento che viene formalizzato da questa regola e il seguente:se dal fatto che piova possiamo dedurre che Marco non prende la bici e dal fatto chenevichi possiamo arrivare alla stessa conclusione, a partire dall’ipotesi che piove onevica possiamo giungere alla conclusione che Marco non prende la bici.

Le varie regole che abbiamo introdotto possono essere combinate tra di loroottenendo nuove regole. Se ad esempio ¬F ⊢ ⊥, allora per (¬i) abbiamo ⊢ ¬¬F , eper (¬¬e) otteniamo ⊢ F . Quindi

se ¬F ⊢ ⊥ allora ⊢ F (RAA)

dove il nome della regola e l’abbreviazione del latino reductio ad absurdum, cioeriduzione all’assurdo. Questa regola riproduce le usuali dimostrazioni per assurdoo per contraddizione: se vogliamo dimostrare F supponiamo ¬F con l’obiettivo diraggiungere una contraddizione.

2. La deduzione naturale proposizionale

In ogni deduzione naturale le regole che abbiamo analizzato nella sezione pre-cedente vengono combinate (usando la regola di taglio, ma non solo: si veda loscaricamento delle ipotesi descritto piu avanti) tra di loro in modo da ottenere unalbero (a differenza del metodo dei tableaux, nel caso della deduzione naturale e piunaturale che l’albero abbia la radice in basso). Ogni nodo dell’albero e etichettatocon una formula (anziche con un insieme di formule come nel caso dei tableaux).La radice dell’albero e etichettata con il risultato della deduzione, mentre le fogliesono etichettate con le ipotesi della deduzione. Quando abbiamo a che fare con ladeduzione naturale usiamo ⊳ come simbolo deduttivo (al posto di ⊢): percio Γ⊳Fsignifica che esiste una deduzione naturale in cui F e l’etichetta della radice e tuttele etichette delle foglie sono contenute nell’insieme Γ.

Ogni regola corrisponde ad aggiungere un nodo sotto uno o due nodi preesi-stenti. Cosı ad esempio (∧i) e rappresentata dall’albero

F GF ∧G

(la linea orizzontale e il modo tradizionale di rappresentare una regola deduttiva).Similmente e facile rappresentare (∧e.1), (∧e.2), (∨i.1), (∨i.2), (→e), (¬e) e (¬¬e),rispettivamente come

F ∧GF

F ∧GG

FF ∨G

GF ∨G

F F → GG

F ¬F⊥

¬¬FF

Piu delicato e il caso delle regole “condizionali”, cioe (∨e), (→i) e (¬i), in cuie necessario rappresentare una variazione nelle ipotesi della deduzione. Posticipia-mo un poco la loro discussione, per permettere al lettore di familiarizzare con lacostruzione di deduzioni naturali in cui non compaiono le regole condizionali.

Esempio 5.5. Utilizzando le regola introdotte sinora, rappresentiamo con unalbero di deduzione naturale il ragionamento svolto nell’Esempio 5.1:

44 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

F ∧ (G→ H)

F F → GG

F ∧ (G→ H)

F F → GG

F ∧ (G→ H)

G→ HH

G ∧HAbbiamo cosı ottenuto F ∧ (G→ H), F → G⊳G ∧H .

Notiamo come in questa deduzione naturale ognuna delle nostre ipotesi compaiain piu di una foglia. Cio e perfettamente accettabile: se assumiamo F ∧ (G → H)possiamo sfruttare questa ipotesi ripetutamente nel corso della dimostrazione.

Esercizio 5.6. Scrivere accanto ad ogni linea orizzontale della deduzione naturaledell’esempio precedente la regola utilizzata.

Nota 5.7. Notiamo come la deduzione naturale dell’esempio 5.5 sia in realta unoschema. Essa vale qualunque siano le formule F , G e H e quindi abbiamo mostratoad esempio che ¬p ∧ (q → (r → s)),¬p → q ⊳ q ∧ (r → s). Tutte le deduzioninaturali che presenteremo in questo capitolo sono in effetti schemi, e non noteremopiu esplicitamente questo fatto.

Esercizio 5.8. Costruire una deduzione naturale che mostri F ∧ (F → ¬¬G)⊳G.

Per trattare le regole condizionali, e opportuno considerare alcune delle formulecoinvolte come delle “ipotesi ausiliarie”. Ad esempio in (→i), il nostro obiettivo ededurre F → G, e per ottenerlo facciamo l’ipotesi ausiliaria F . Quando, utilizzandoquesta ipotesi ausiliaria, avremo ottenuto G, potremo eliminare (la terminologiadella deduzione naturale usa l’espressione scaricare) l’ipotesi ausiliaria e dedurreF → G. Per indicare lo scaricamento di F metteremo questa formula tra parentesiquadre. La deduzione naturale che corrisponde a (→i) e dunque

[F ]

GF → G

In questa deduzione il simbolo ⊳ indica l’esistenza di una deduzione naturale che

mostra F ⊳ G. Le etichette di foglie che sono messe tra [ ] non sono ipotesi delladeduzione naturale. In questo modo abbiamo effettivamente ottenuto ⊳ F → G.

Similmente (∨e) e (¬i) sono rappresentate dalle deduzioni naturali

F ∨G

[F ]

H

[G]

HH

e

[F ]

⊥¬F

Si noti che quando scarichiamo le ipotesi ausiliarie esse non “spariscono”, mavengono in qualche modo incorporate nella conclusione (e il caso di (→i) e (¬i)) oin una nuova ipotesi (nel caso di (∨e)).Esempio 5.9. Vogliamo dimostrare in deduzione naturale l’inverso della regoladella doppia negazione, cioe che F ⊳ ¬¬F . Consideriamo la deduzione naturale

F [¬F ]1⊥

1¬¬F

2. LA DEDUZIONE NATURALE PROPOSIZIONALE 45

La prima riga della deduzione naturale e un’applicazione di (¬e): da F e ¬Fabbiamo dedotto ⊥. Successivamente abbiamo un’applicazione di (¬i): dato cheda ¬F (piu l’altra ipotesi F , che in questo passaggio non viene toccata) abbiamodedotto ⊥, possiamo concludere ¬¬F eliminando l’ipotesi ¬F . Le parentesi quadreintorno a ¬F indicano che questa ipotesi e stata scaricata, mentre l’esponente 1(riportato anche sulla linea che corrisponde al passaggio relativo a (¬i)) serve adindicare quando lo scaricamento e avvenuto.

Osservando la deduzione naturale globalmente, e ora possibile vedere che l’unicaipotesi non scaricata e F , mentre la conclusione e ¬¬F , e percio abbiamo ottenutocio che volevamo: F ⊳ ¬¬F .Esempio 5.10. Come primo esempio di applicazione della regola (∨e) consideriamola seguente deduzione naturale, che mostra che ¬F ∧ ¬G⊳ ¬(F ∨G):

[F ∨G]2[F ]1

¬F ∧ ¬G¬F

⊥[G]1

¬F ∧ ¬G¬G

⊥1⊥

2¬(F ∨G)Proviamo a percorrere a parole il ragionamento rappresentato da questa deduzionenaturale. Dato che vogliamo dimostrare ¬(F ∨G), facciamo l’ipotesi ausiliaria F∨Gcon l’obiettivo di ottenere⊥ e utilizzare la regola (¬i). Per sfruttare l’ipotesi appenafatta dobbiamo usare (∨e), e quindi supporre separatamente F e G, ottenendo ⊥in entrambi i casi. Cio non e difficile, applicando le regole di eliminazione di ∧all’ipotesi ¬F ∧ ¬G. Avendo ottenuto ⊥ a partire sia da F che da G otteniamo ⊥da F ∨G (notiamo che a questo punto della deduzione naturale, cioe dopo la lineamarcata con 1, l’ipotesi F ∨ G non e ancora stata scaricata, come testimoniatodall’indice 2 che rimanda ad una linea successiva). A questo punto e sufficienteutilizzare, come previsto, (¬i) per concludere la dimostrazione.

Esempio 5.11. Consideriamo ora la seguente deduzione naturale, che mostra che¬F ∨ ¬G ⊳ ¬(F ∧G):

¬F ∨ ¬G[¬F ]1

[F ∧G]2F

⊥[¬G]1

[F ∧G]2G

⊥1⊥

2¬(F ∧G)In questo caso consigliamo al lettore di percorrere autonomamente a parole ilragionamento rappresentato dalla deduzione naturale.

Osserviamo che nell’applicazione della regola (¬i) al termine della deduzionenaturale, abbiamo scaricato due occorrenze di F ∧G: questo e utile quando, comein questo caso, un’ipotesi ausiliaria viene utilizzata piu di una volta.

Una seconda osservazione e che la deduzione naturale potrebbe essere modifi-cata invertendo l’ordine di applicazione di (∨e) e di (¬i). Otterremmo cosı un’altradeduzione naturale per ¬F ∨ ¬G⊳ ¬(F ∧G):

¬F ∨ ¬G

[¬F ]3[F ∧G]1

F

⊥1¬(F ∧G)

[¬G]3[F ∧G]2

G

⊥2¬(F ∧G)3¬(F ∧G)

Esempio 5.12. La regola di riduzione all’assurdo (RAA), che avevamo dedottoastrattamente nelle sezione precedente, e rappresentata da

46 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

[¬F ]

⊥F

Una deduzione naturale che, utilizzando (¬i) e (¬¬e), giustifica questa regola e

[¬F ]1

⊥1¬¬F

F

Nella nostra presentazione della deduzione naturale (RAA) e quindi una regoladerivata.

Esempio 5.13. Consideriamo ora la deduzione naturale

F ∨ ¬G [F ]2

G [¬G]2⊥

1¬¬FF

2F

che mostra F ∨ ¬G,G ⊳ F . Le applicazioni (contrassegnate da 1 e 2) delle regole(¬i) e (∨e) in questa deduzione naturale hanno caratteristiche che vale la pena dimettere in evidenza.

Dato che il risultato di (¬i) e ¬¬F , la formula a cui applichiamo la regolae ¬F , e siamo quindi autorizzati a scaricare l’ipotesi ausiliaria ¬F . In questocaso pero non c’e nessuno scaricamento (ed in effetti non vi sono ipotesi ausiliariecontrassegnate con 1), perche l’ipotesi ausiliaria non e mai stata utilizzata. Questasituazione evidenzia come lo scaricamento di un’ipotesi sia una possibilita, e nonun obbligo, nella costruzione della deduzione naturale.

Nell’uso di (∨e) notiamo che una delle deduzioni ausiliarie utilizzate consistedel solo nodo F , che svolge simultaneamente il ruolo di radice e di foglia. Ciosignifica che questa deduzione naturale mostra F ⊳ F . Nel suo utilizzo all’internodi (∨e), cio implica che F e sia la conclusione (visto che anche l’altra deduzione hala stessa conclusione) che una delle ipotesi ausiliarie da scaricare.

Esempio 5.14. L’utilizzo consecutivo di (¬i) e (¬¬e) nell’esempio precedente puoessere generalizzato considerando la deduzione naturale

⊥1¬¬F

FOtteniamo percio la regola

⊥F

che asserisce che da una contraddizione e possibile dedurre qualsiasi formula. Que-sta regola e giustificata dall’Esercizio 5.4.1 (che ne mostra la correttezza) e for-malizza il principio logico tradizionalmente noto come ex-falso quodlibet sequitur(dal falso segue qualunque cosa) e percio e nota come regola ex-falso. In alcunepresentazioni della deduzione naturale essa e una delle regole di base, mentre pernoi ex-falso e derivabile dalle altre regole, ed e quindi una regola derivata.

Esempio 5.15. Un altro esempio di regola derivata e la regola (MT ) di modustollens (“toglie” la verita di una proposizione “togliendo” quella di un’altra), checorrisponde alla conseguenza logica dell’esercizio 2.30.c:

3. LE REGOLE DELLA DEDUZIONE NATURALE PROPOSIZIONALE 47

F → G ¬G¬F

Una deduzione naturale che, utilizzando (¬i), giustifica questa regola e

[F ]1 F → G

G ¬G⊥

1¬FEsempio 5.16. Mostriamo ora come sia possibile ricavare il principio del terzoescluso (TE), cioe otteniamo ⊳ F ∨ ¬F per ogni formula F :

[F ]1

F ∨ ¬F [¬(F ∨ ¬F )]2⊥

1¬FF ∨ ¬F [¬(F ∨ ¬F )]2

⊥2

F ∨ ¬FSi noti che in corrispondenza della linea marcata con 2 abbiamo utilizzato la regola(RAA).

3. Le regole della deduzione naturale proposizionale

Per favorire la consultazione, in questa sezione riassumiamo tutte le regole delsistema di deduzione naturale. Nel formulare le regole inseriamo esplicitamentele ipotesi delle deduzioni naturali, che formano un insieme di formule usualmenteindicato con Γ.

(∧i)Γ

F

Γ

GF ∧G

(∧e.1)Γ

F ∧GF

(∧e.2)Γ

F ∧GG

(∨i.1)Γ

FF ∨G

(∨i.2)Γ

GF ∨G

(∨e)Γ

F ∨G

Γ, [F ]

H

Γ, [G]

HH

(→i)

Γ, [F ]

GF → G

(→e)

Γ

F

Γ

F → GG

(¬i)Γ, [F ]

⊥¬F

(¬e)Γ

F

Γ

¬F⊥

(¬¬e)Γ

¬¬FF

Ci limitiamo ad un esempio per chiarire il significato di queste regole: la regola(∨e) va letta come “se da Γ deduco F ∨G, da Γ, F deduco H e da Γ, G deduco H ,allora da Γ posso dedurre H”.

48 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

Negli esempi 5.12, 5.14, 5.15 e 5.16, a partire dalle regole riportate sopraabbiamo ottenuto le seguenti regole derivate:

(RAA)

Γ, [¬F ]

⊥F

(ex-falso)

Γ

⊥F

(MT )

Γ

F → G

Γ

¬G¬F

(TE) [F ∨ ¬F ]

La regola (TE) afferma che ipotesi della forma F ∨¬F sono immediatamente consi-derate scaricate. Dato che lo scaricamento di F ∨¬F non avviene in corrispondenzadi una regola successiva, quando useremo (TE) non indicheremo nessun numero adesponente.

Useremo liberamente queste quattro regole derivate nelle nostre deduzioni na-turali.

4. Correttezza e completezza della deduzione naturale proposizionale

In questa sezione dimostriamo che la deduzione naturale e un sistema dedut-tivo corretto (nel senso formulato all’inizio della sezione 5.1) e enunciamo, senzadimostrarla, la sua completezza.

Teorema 5.17 (Teorema di correttezza). Siano Γ un insieme di formule proposi-zionali e F una formula proposizionale. Se Γ⊳ F allora Γ ∣= F .

Dimostrazione. La dimostrazione e per induzione sull’altezza dell’albero del-la deduzione naturale che testimonia Γ⊳ F .

Il caso di base e quello in cui l’altezza dell’albero e 0. Cio significa che ladeduzione naturale consiste di un solo nodo etichettato con una formula F , chequindi testimonia F ⊳ F . Dato che F ∣= F , la conclusione e immediata.

Quando l’albero ha altezza n+1 concentriamo la nostra attenzione sull’ultimaregola utilizzata nella costruzione dell’albero, cioe quella con cui si e giunti alla for-mula F , la conclusione della deduzione naturale. Per ogni possibile regola utilizzata(l’elenco completo e nella sezione precedente, e naturalmente non dobbiamo pren-dere in esame le regole derivate) e necessaria una dimostrazione diversa. Molte diqueste dimostrazioni sono banali (e spesso abbiamo gia menzionato la conseguenzao equivalenza logica da utilizzare nella sezione 5.1, quando abbiamo presentato leregole nel contesto di un sistema deduttivo arbitrario). Qui ci limitiamo ad alcuniesempi (comprendendo tutte le regole condizionali, che rappresentano i casi piudelicati), e lasciamo al lettore il compito di verificare gli altri casi.

(∧i) Se la deduzione naturale e della forma

Γ

F

Γ

GF ∧G

abbiamo Γ ⊳ F ∧ G e vogliamo dimostrare Γ ∣= F ∧ G. Le due deduzioni naturalisopra la linea orizzontale mostrano che Γ ⊳ F e Γ ⊳ G e hanno entrambe altezza≤ n. Per ipotesi induttiva abbiamo dunque Γ ∣= F e Γ ∣= G. Da questo e facileottenere (usando l’esercizio 2.30.a) che Γ ∣= F ∧G.

(∨e) In questo caso la deduzione naturale e della forma

5. LA DEDUZIONE NATURALE E LA LOGICA INTUIZIONISTICA 49

Γ

F ∨G

Γ, [F ]

H

Γ, [G]

HH

e mostra Γ⊳H . Le deduzioni naturali sopra la linea orizzontale hanno altezza ≤ ne mostrano che Γ ⊳ F ∨ G, che Γ, F ⊳ H e che Γ, G ⊳ H (notiamo che in questededuzioni F e G non sono ancora state scaricate). L’ipotesi induttiva ci garantisceche Γ ∣= F ∨G, che Γ, F ∣= H e che Γ, G ∣= H : da queste ipotesi dobbiamo ottenereΓ ∣= H . Se v e un’interpretazione che soddisfa Γ allora, dato che Γ ∣= F ∨ G,soddisfa anche F ∨ G. Se v(F ) = V allora v(H) = V discende da Γ, F ∣= H ,altrimenti vale v(G) = V e v(H) = V e una conseguenza di Γ, G ∣= H .

(→i) In questo caso abbiamo una deduzione naturale della forma

Γ, [F ]

GF → G

che mostra Γ ⊳ F → G. La deduzione naturale sopra la linea orizzontale (in cuiF non e ancora stata scaricata) mostra che Γ, F ⊳ G e ha altezza ≤ n. L’ipotesiinduttiva ci garantisce che Γ, F ∣= G. Imitando la dimostrazione di una direzionedel lemma 2.38.1 si ottiene facilmente Γ ∣= F → G.

(¬i) Stiamo considerando una deduzione naturale della forma

Γ, [F ]

⊥¬F

che mostra Γ⊳¬F . La deduzione naturale sopra la linea orizzontale (in cui F none ancora stata scaricata) mostra che Γ, F ⊳⊥ e ha altezza ≤ n. L’ipotesi induttivaci garantisce che Γ, F ∣= ⊥. Per l’esercizio 5.4.12 cio significa che l’insieme Γ, Fe insoddisfacibile. Dato che F ≡ ¬¬F questo e equivalente a dire che Γ,¬¬Fe insoddisfacibile. Per il lemma 2.45.b questo e equivalente a Γ ∣= ¬F , comevolevamo. □

Il teorema di correttezza implica che gli esempi 5.11 e 5.10 mostrano rispettiva-mente che ¬F ∧¬G ∣= ¬(F ∨G) e che ¬F ∨¬G⊳¬(F ∧G). Essi forniscono dunqueuna dimostrazione attraverso un sistema deduttivo di meta delle equivalenze logichedel lemma 2.23.1-2 (leggi di De Morgan). Piu avanti (esempio 5.26 e esercizio 5.27)otterremo con la deduzione naturale anche le altre meta.

L’inverso del teorema di correttezza e il teorema di completezza, la cui dimo-strazione esula dai limiti di questo corso.

Teorema 5.18 (Teorema di completezza). Siano Γ un insieme di formule propo-sizionali e F una formula proposizionale. Se Γ ∣= F allora Γ⊳ F .

Il teorema di completezza asserisce che tutto cio che e vero e dimostrabile permezzo della deduzione naturale, che e quindi “completa”.

5. La deduzione naturale e la logica intuizionistica

La deduzione naturale si presta ad introdurre la distinzione tra logica classica(quella che abbiamo utilizzato sin qui e che continueremo ad utilizzare) e logicaintuizionistica. Nella logica intuizionistica si ritiene ad esempio che una dimostra-zione di F ∨ G debba sempre comprendere l’indicazione di quale tra F e G viene

50 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

dimostrata. Cio significa che si puo assumere F ∨ ¬F solo nei casi in cui si pos-sa decidere quale tra F e ¬F sia vera. Quindi il principio del terzo escluso (cheasserisce che F ∨ ¬F e vera per ogni F ) non e intuizionisticamente accettabile.L’approccio intuizionistico e particolarmente interessante se la deducibilita vieneinterpretata come dimostrabilita: infatti e possibile che ne F ne ¬F siano dimo-strabili. Per la logica intuizionistica e necessario introdurre una semantica diversada quella presentata nel capitolo 2.

Solitamente i matematici tendono ad accettare il principio del terzo escluso,sebbene a volte il suo uso abbia conseguenze che possono lasciare qualche dubbio.Considerate ad esempio la seguente dimostrazione di un fatto che riguarda i numerireali.

Teorema 5.19. Esistono a, b ∈ ℝ tali che a e b sono irrazionali mentre ab erazionale.

Dimostrazione. Sia b =√2: e noto sin dall’antica Grecia che b e irrazionale.

Per individuare a procediamo per casi:

∙ se√2√2e razionale allora prendiamo a =

√2;

∙ se√2√2e irrazionale allora prendiamo a =

√2√2.

In entrambi i casi a e irrazionale e dobbiamo verificare che ab e razionale. Nel primo

caso cio e immediato per ipotesi, mentre nel secondo abbiamo ab =

(√2√2)

√2

=

(√2)

√2⋅√2=

(√2)2

= 2. □

Questa dimostrazione usa il terzo escluso (√2√2e razionale oppure irrazionale)

ed e classicamente corretta, ma puo lasciare perplessi: abbiamo dimostrato l’esi-stenza di a e b con certe proprieta, ma non siamo in grado di esibire questi duenumeri (perche non sappiamo quale sia a)2.

Per ottenere una versione della deduzione naturale che sia in accordo con iprincipi intuizionistici e certamente necessario rinunciare a (TE). Pero (TE) e unaregola derivata. Nell’esempio 5.16 (TE) e stata derivata utilizzando (RAA) (che eintuizionisticamente inaccettabile: se da ¬F deduciamo una contraddizione allorasappiamo che ¬F non e dimostrabile, che non implica che F sia dimostrabile, datoche il terzo escluso non vale). A sua volta (RAA) e stata ottenuta nell’esempio5.12 a partire da (¬¬e). La regola di base che e in contrasto con l’intuizionismo edunque (¬¬e).

Eliminando la regola (¬¬e) si ottiene una versione piu debole della deduzionenaturale. Per ottenerne una che corrisponda alla logica intuizionistica e necessarioinserire tra le regole di base (ex-falso), che e intuizionisticamente accettabile manell’esempio 5.14 era stato ottenuto utilizzando (¬¬e). Nella deduzione naturaleintuizionistica rimane la regola derivata (MT ) (nell’esempio 5.15 non si e fatto usodi principi non intuizionistici), mentre ovviamente (RAA) e (TE) scompaiono.

In questo corso non abbiamo spazio per sviluppare ulteriormente queste proble-matiche, e continueremo quindi a lavorare nell’ambito della logica classica, limitan-doci di tanto in tanto ad evidenziare qualche uso delle regole non intuizionistiche.

6. Esempi di deduzione naturale proposizionale

In questa sezione presentiamo numerosi esempi di deduzione naturale, spessoottenendo alcune delle conseguenze logiche della sezione 2.2 (nella maggior parte

2Nel caso specifico del teorema 5.19 e possibile dare una dimostrazione che esibisce i duenumeri: basta prendere a = e e b = ln(2): si puo dimostrare che entrambi questi numeri sonoirrazionali, mentre ab = 2 per definizione di logaritmo.

6. ESEMPI DI DEDUZIONE NATURALE PROPOSIZIONALE 51

dei casi sono una parte di un’equivalenza logica). Nei primi esempi cerchiamo dispiegare al lettore come costruire le deduzioni naturali desiderate, mentre piu avantipresenteremo semplicemente le deduzioni naturali. Suggeriamo pero di studiare afondo queste deduzioni naturali per capire il ragionamento che viene formalizzato.Solo in questo modo sara possibile imparare a costruire autonomamente deduzio-ni naturali. E’ anche consigliabile provare a costruire alcune di queste deduzioninaturali prima di guardare le soluzioni: anche quando non si avesse successo ciopermette di comprendere ed apprezzare meglio la soluzione proposta.

Esempio 5.20. Cerchiamo di costruire una deduzione naturale che mostri

⊳ (F → (G→ H)) → (F ∧G→ H).

La conclusione della deduzione naturale (che non ha ipotesi) e un’implicazione, equindi pare naturale usare (→i) per ottenerla (questa non e la sola scelta: possiamoanche immaginare che l’ultima regola sia (∧e), oppure (RAA)). Quindi possiamousare l’antecedente F → (G→ H) come ipotesi ausiliaria, con l’obiettivo di ottenereil conseguente F ∧ G → H . Dato che quest’ultimo e nuovamente un’implicazione,pensiamo di usare un’altra volta (→i): possiamo dunque ipotizzare F ∧ G con loscopo di ottenere H . In altre parole e sufficiente mostrare che

F → (G→ H), F ∧G⊳H.

Questo obiettivo e piu facile da raggiungere di quello iniziale, e porta alla deduzionenaturale

F ∧GG

F ∧GF F → (G→ H)

G→ HH

Utilizzando ora due volte (→i) otteniamo la deduzione naturale cercata:

[F ∧G]1G

[F ∧G]1F [F → (G→ H)]2

G→ HH

1F ∧G→ H

2(F → (G→ H)) → (F ∧G→ H)

Esercizio 5.21. Mostrare che ⊳ (F ∧G→ H) → (F → (G→ H)).

Esempio 5.22. Mostriamo ora che F → H,G → H ⊳ F ∨ G → H . Anchein questo caso la conclusione e un’implicazione e possiamo supporre di voler usare(→i): assumiamo dunque F ∨G con l’obiettivo di ottenere H . Per sfruttare l’ipotesiausiliaria F ∨G e probabilmente necessario ricorrere a (∨e). Dobbiamo quindi usareseparatamente F e G per ottenere H . Grazie alle ipotesi F → H e G → H cio eimmediato.

Otteniamo quindi la deduzione naturale

[F ∨G]2[F ]1 F → H

H

[G]1 G→ H

H1

H2

F ∨G→ H

Esempio 5.23. Vogliamo mostrare che F ∨ (G∧H)⊳ (F ∨G)∧ (F ∨H). Dato chein questo caso la conclusione e una congiunzione supponiamo che l’ultima regolaapplicata sia (∧i). E’ dunque sufficiente mostrare che F ∨ (G ∧H) ⊳ F ∨ G e cheF ∨ (G∧H)⊳F ∨H . Per farlo e opportuno usare (∨e). La deduzione naturale chesi ottiene e la seguente:

52 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

F ∨ (G ∧H)

[F ]1

F ∨G

[G ∧H ]1

GF ∨G

1F ∨G

F ∨ (G ∧H)

[F ]2

F ∨H

[G ∧H ]2

HF ∨H

2F ∨H

(F ∨G) ∧ (F ∨H)

Esempio 5.24. Cerchiamo ora una deduzione naturale che mostri (F ∨G) ∧ (F ∨H) ⊳ F ∨ (G ∧ H). Un modo per farlo e ripercorre i passi della dimostrazionedella conseguenza logica corrispondente nel lemma 2.23.9, distinguendo il caso incui F e vera da quello in cui e falsa ed utilizzando quindi (TE). Nel primo casola conclusione e immediata, mentre nel secondo e necessario un po’ piu di lavoroper arrivare a concludere che G∧H e vero. L’idea e dunque quella di ottenere unadeduzione naturale della forma

[F ∨ ¬F ][F ]1

F ∨ (G ∧H)

(F ∨G) ∧ (F ∨H), [¬F ]1⊳

G ∧HF ∨ (G ∧H)

1F ∨ (G ∧H)

A questo punto e necessario mostrare che (F ∨G)∧ (F ∨H),¬F ⊳G∧H . Per farlobasta dimostrare (F ∨G) ∧ (F ∨H),¬F ⊳G e (F ∨G) ∧ (F ∨H),¬F ⊳H per poiutilizzare (∧i). Ecco una deduzione naturale che mostra (F ∨G)∧ (F ∨H),¬F ⊳G(la deduzione di H dalle stesse ipotesi e analoga):

(F ∨G) ∧ (F ∨H)

F ∨G

[F ]1 ¬F⊥G [G]1

1G

Si noti l’utilizzo di (ex-falso) in questa deduzione.Proponiamo ora una deduzione naturale diversa dalla precedente per mostrare

che (F ∨G) ∧ (F ∨H)⊳ F ∨ (G ∧H):

(F ∨G) ∧ (F ∨H)

F ∨G[F ]2

F ∨ (G ∧H)

(F ∨G) ∧ (F ∨H)

(F ∨H)

[F ]1

F ∨ (G ∧H)

[G]2 [H ]1

G ∧HF ∨ (G ∧H)

1F ∨ (G ∧H)

2F ∨ (G ∧H)

E’ quindi evidente che deduzioni naturali diverse possono avere le stesse ipotesie conclusione. In questo caso e utile ripercorrere le due deduzioni naturali percomprendere come esse formalizzino dimostrazioni essenzialmente differenti dellostesso fatto. Questa differenza e ancor piu significativa perche la prima deduzionenaturale usa (TE), che e intuizionisticamente inaccettabile, mentre la seconda usasolo principi ammissibili secondo la logica intuizionistica.

Il teorema di correttezza 5.17 implica che i due esempi precedenti mostranorispettivamente che F ∨ (G ∧H) ∣= (F ∨G) ∧ (F ∨H) e che (F ∨G) ∧ (F ∨H) ∣=F ∨ (G∧H), e quindi che F ∨ (G∧H) ≡ (F ∨G)∧ (F ∨H). Essi forniscono dunqueuna dimostrazione attraverso un sistema deduttivo del lemma 2.23.9.

Esercizio 5.25. Dimostrare con la deduzione naturale le due conseguenze logichecontenute nel lemma 2.23.10.

6. ESEMPI DI DEDUZIONE NATURALE PROPOSIZIONALE 53

Completiamo ora la dimostrazione delle leggi di De Morgan (lemma 2.23.1–2)per mezzo della deduzione naturale (per le altre direzioni si vedano gli esempi 5.11e 5.10).

Esempio 5.26. Per dimostrare ¬(F ∧G)⊳¬F ∨¬G formalizziamo il ragionamen-to utilizzato nella dimostrazione del lemma 2.23.1, che si basava sul considerareseparatamente il caso in cui vale ¬F da quello in cui vale F :

[F ∨ ¬F ]

¬(F ∧G)[F ]2 [G]1

F ∧G⊥

1¬G¬F ∨ ¬G

[¬F ]2¬F ∨ ¬G

2¬F ∨ ¬GIn questo caso e noto che l’uso di una regola non intuizionistica come (TE) nonpuo essere evitato.

Esercizio 5.27. Dimostrare che ¬(F ∨G)⊳ ¬F ∧ ¬G.Esempio 5.28. In questo esempio dimostriamo attraverso la deduzione naturalel’equivalenza logica del lemma 2.23.3. Anche in questo caso seguiamo le idee delledimostrazioni fatte a suo tempo. Iniziamo con il dimostrare che F → G⊳¬F ∨G:

[F ∨ ¬F ]

[F ]1 F → G

G¬F ∨G

[¬F ]1¬F ∨G

1¬F ∨GPer dimostrare invece che ¬F ∨G⊳ F → G basta costruire la deduzione naturale

¬F ∨G

[¬F ]3 [F ]1

⊥G

1F → G

[G]32

F → G3

F → G

Si noti come in quest’ultima deduzione naturale abbiamo utilizzato (→i) senzaeffettuare alcuno scaricamento. Infatti (→i) giustifica G⊳ F → G.

Una deduzione naturale analoga alla precedente, in cui pero l’ordine di appli-cazione di (→i) e (∨e) viene invertito, e la seguente:

¬F ∨G

[¬F ]1 [F ]2

⊥G [G]1

1G

2F → G

Esempio 5.29. Consideriamo ora l’equivalenza logica del lemma 2.23.4. Iniziamocon il dimostrare che F ∧ ¬G⊳ ¬(F → G):

F ∧ ¬GF

[F → G]1F ∧ ¬G¬G

¬F⊥

1¬(F → G)

Si noti l’uso di (MT ) per ottenere ¬F .Ecco una deduzione naturale alternativa per lo stesso risultato, dove viene

sfruttato l’esercizio precedente, in cui abbiamo mostrato che F → G⊳ ¬F ∨G:

54 5. LA DEDUZIONE NATURALE: CASO PROPOSIZIONALE

[F → G]2

¬F ∨G[¬F ]1

F ∧ ¬GF

⊥[G]1

F ∧ ¬G¬G

⊥1⊥

2¬(F → G)

Occupiamoci ora di dimostrare che ¬(F → G) ⊳ F ∧ ¬G. A questo scopo esufficiente dimostrare che ¬(F → G)⊳F e che ¬(F → G)⊳¬G, per poi combinare ledue deduzioni naturali con un’applicazione di (∧i). Ecco le due deduzioni naturali(nella prima si noti l’uso di (ex-falso) e di (RAA), nella seconda l’uso di (→i) senzascaricamento):

[F ]1 [¬F ]2⊥G

1F → G ¬(F → G)

⊥2

F

[G]21

F → G ¬(F → G)

⊥2¬G

Esempio 5.30. Dimostriamo ora che F → G ⊳ ¬G → ¬F (la conseguenza logicacorrispondente e parte dell’esercizio 2.25), utilizzando (MT ):

F → G [¬G]1¬F

1¬G→ ¬FEsercizio 5.31. Dimostrare che ¬G→ ¬F ⊳ F → G.

Esempio 5.32. In questo esempio dimostriamo che F ∨G,¬F ∨H ⊳G ∨H .

F ∨G¬F ∨H

[F ]2 [¬F ]1⊥

G ∨H[H ]1

G ∨H1

G ∨H[G]2

G ∨H2

G ∨HEsercizio 5.33. Costruire una deduzione naturale diversa dalla precedente chedimostri F ∨G,¬F ∨H ⊳G∨H utilizzando (TE) e partendo da [F ∨¬F ]. Notarecome questa deduzione naturale sia piu complessa della precedente.

Esempio 5.34. Mostriamo che ¬F ⊳ F → G:

[F ]1 ¬F⊥G

1F → G

Esercizio 5.35. Usare la deduzione naturale per dimostrare le conseguenze edequivalenze logiche dell’esercizio 5.4.

Parte 2

La logica predicativa

CAPITOLO 6

Sintassi della logica predicativa

In questo capitolo definiremo la sintassi della logica predicativa. Nel farlo fare-mo spesso riferimento ad una semantica “informale” per gli oggetti in questa logica(qualcosa di simile era gia accaduto nel capitolo 1, ma in forma assai meno mar-cata). Quest’uso della semantica nel definire la sintassi ha lo scopo di rendere piucomprensibili le definizioni che verranno date, che altrimenti potrebbero risultareingiustificate.

Le formule predicative sono asserzioni riguardo alle relazioni che intercorronotra certi oggetti. Esse si differenziano dalle formule proposizionali proprio per lapossibilita di riferirsi ad oggetti.

Per poter parlare di oggetti useremo espressioni che non sono formule: i termini.A differenza delle formule, anche dopo lo sviluppo della semantica i termini nonsaranno ne veri ne falsi. Anche in questo caso ci puo aiutare considerare la situazionedell’aritmetica: (1 + 1) ⋅ 1, che e un termine in un opportuno linguaggio (quellodell’esempio 6.3 qui sotto), designa un elemento (il numero 2, se tutti i simboli sonointerpretati in modo naturale), e non puo essere ne vero ne falso. 0 < (1 + 1) ⋅ 1e invece una formula del linguaggio dell’esempio 6.3 e risulta essere vera se tutti isimboli sono interpretati in modo naturale. Formule piu complicate sono ∀x∃y x <y e ∃y ∀xx < y, che sono rispettivamente vera e falsa (sempre se tutti i simbolisono interpretati in modo naturale nell’ambito dell’insieme dei numeri naturali ℕ).Per stabilire se la formula 1 < x sia vera o falsa e necessario specificare, oltreall’interpretazione di 1 e di <, anche il significato che si attribuisce a x. Notate chex era presente anche in alcune formule precedenti, ma in quei casi non era necessariointerpretarlo per capire se la formula fosse vera o falsa: questa distinzione vieneresa precisa dalle nozioni di variabile libera e legata (definizione 6.36).

Come nel caso delle formule proposizionali, anche la costruzione dei terminie delle formule predicative avviene per ricorsione (definizioni 6.9 e 6.19). Primadi poter dare queste definizioni dobbiamo fissare gli ingredienti fondamentali cheusiamo per costruire termini e formule.

1. Linguaggi predicativi

Definizione 6.1. Un linguaggio predicativo contiene i seguenti elementi comuni:

∙ un insieme infinito numerabile di variabili, che indicheremo con x, y, z, . . . ;∙ i simboli logici : i connettivi gia visti nel caso proposizionale ¬, ∧, ∨ e →e i quantificatori ∀ e ∃

∙ la virgola “,” e le parentesi “(” e “)”.

Questi elementi saranno sempre a nostra disposizione. Oltre a questi avremo adisposizione altri simboli, che scegliamo di volta in volta a seconda dell’argomentosu cui intendiamo fare delle affermazioni. Questi elementi variabili (ma le variabilinon sono tra essi!) identificano un linguaggio.

Definizione 6.2. Un linguaggio predicativo consiste dei seguenti insiemi (che esempre conveniente siano disgiunti, per evitare di incorrere in confusioni):

∙ un insieme di simboli di costante;

56

2. TERMINI 57

∙ un insieme di simboli di funzione, ciascuno fornito della propria arieta,che e un numero naturale n ≥ 1;

∙ un insieme non vuoto di simboli di relazione (o simboli predicativi), cia-scuno fornito della propria arieta, che e un numero naturale n ≥ 1.

Intuitivamente la arieta di un simbolo di funzione indica a quanti elementi essosi puo applicare. Simile e il significato della arieta di un simbolo di relazione. Seun simbolo di funzione o di relazione ha arieta n diciamo anche che e n-ario.

Notiamo che gli insiemi dei simboli di costante e di funzione possono esserevuoti, mentre ogni linguaggio contiene sempre almeno un simbolo di relazione.Questa e l’unica restrizione che poniamo sui tre insiemi: ognuno di essi puo esserefinito o infinito, quelli dei simboli di funzione e relazione possono contenere solosimboli di arieta 1 (detti usualmente unari), oppure qualche simbolo di arieta 2(binario) e qualcuno di arieta 3 (ternario), oppure ancora simboli di infinite arietadiverse.

Esempio 6.3. Il linguaggio ℒarit, adatto a fare affermazioni sull’aritmetica, consi-ste dei simboli di costante 0 e 1, dei simboli di funzione binari + e ⋅, dei simboli direlazione binari <, > e =.

Esempio 6.4. Il linguaggio ℒℝ, adatto a fare affermazioni sui numeri reali, consistedei simboli di costante 0, 1, e e �, dei simboli di funzione unari di elevazione all’n-esima potenza n (uno per ogni n ∈ ℕ, cosı che abbiamo infiniti simboli di funzione),sin e cos, dei simboli di funzione binari + e ⋅, dei simboli di relazione binari <, >e =.

Esempio 6.5. Il linguaggio ℒseq, adatto a fare affermazioni sulle successioni dinumeri naturali, consiste dei simboli di costante ⟨⟩ e ⟨n⟩ (uno per ogni n, cosı cheabbiamo infiniti simboli di costante), del simbolo di funzione binario ⌢, dei simbolidi relazione binari ⊂ e =. [⟨⟩ rappresenta la successione vuota, ⟨n⟩ quella il cuiunico elemento e n, ⌢ la concatenazione di due successioni, ⊂ l’essere segmentoiniziale.]

Esempio 6.6. Il linguaggio ℒset, adatto a fare affermazioni sugli insiemi, consistedel simbolo di costante ∅, dei simboli di funzione unari {}, ∪ e P , dei simboli difunzione binari ∪, ∩ e ∖, dei simboli di relazione binari ∈, ⊆ e =.

Esempio 6.7. Il linguaggio ℒfam, adatto a fare affermazioni sulle relazioni di paren-tela, consiste di un simbolo di costante per ogni membro della famiglia, dei simbolidi funzione unari p (“il padre di”), e m (“la madre di”), dei simboli di relazionebinari f1 (“sono fratelli”) e f2 (“e figlio di”).

Esempio 6.8. Un esempio preso dal corso di Matematica Discreta: sia ℒG ={e, −1, ⋅,=} in cui e e un simbolo di costante, −1 un simbolo di funzione unario,⋅ un simbolo di funzione binario e = un simbolo di relazione binario. In questolinguaggio (se e rappresenta l’elemento identico) possiamo esprimere proprieta deigruppi.

2. Termini

I termini di un linguaggio fissato sono costruiti utilizzando solo alcuni dei suoielementi: le variabili e i simboli di costante e di funzione, ed inoltre la virgola e leparentesi.

Definizione 6.9. Sia ℒ un linguaggio fissato. L’insieme dei termini di ℒ e definitoper ricorsione come segue:

∙ ogni variabile e un termine di ℒ;

58 6. SINTASSI DELLA LOGICA PREDICATIVA

∙ ogni simbolo di costante di ℒ e un termine di ℒ;∙ se t1, . . . tn sono termini di ℒ e f e un simbolo di funzione n-ario di ℒ,allora f(t1, . . . , tn) e un termine di ℒ.

Un termine e chiuso se in esso non compare nessuna variabile (per definire i terminichiusi si puo ripetere la definizione precedente omettendo la prima condizione).

Se un linguaggio non contiene ne simboli di costante ne simboli di funzioneallora i suoi termini coincidono con le variabili. Se un linguaggio non contienesimboli di costante allora non esiste alcun termine chiuso.

Esempio 6.10. Alcuni termini del linguaggio ℒarit sono i seguenti: x, 1, +(x, 0)(il secondo e chiuso, gli altri no). Per quest’ultimo e piu comune scrivere x + 0, econvenzioni analoghe si usano anche per ⋅, cosı che (x⋅y)+(0⋅(y+x)) e anch’esso untermine (non chiuso), che, con l’usuale convenzione cha da precedenza al prodottorispetto alla somma, puo venir scritto come x ⋅ y + 0 ⋅ (y + x).

Esempio 6.11. Alcuni termini del linguaggio ℒℝ sono e, cos(�), sin(cos(x + e)),sin(x ⋅ y7) + cos(1)3 (anche in questo caso usiamo le usuali convenzioni di scritturadelle funzioni utilizzate in analisi): i primi due sono chiusi.

Esempio 6.12. Alcuni termini del linguaggio ℒseq sono ⟨3⟩⌢ ⟨⟩ e (x⌢ ⟨6⟩)⌢z: ilprimo e chiuso.

Esempio 6.13. Alcuni termini del linguaggio ℒfam sono p(x) e m(p(a)), dove a eun simbolo di costante che corrisponde a qualche membro della famiglia: il secondoe chiuso.

Esempio 6.14. Alcuni termini del linguaggio ℒG (scritti con le usuali convenzionidella teoria dei gruppi) sono e ⋅ x e (e ⋅ x−1)−1.

Esempio 6.15. Sia ℒ0 un linguaggio privo di simboli di costante e con un unicosimbolo di funzione f , che e unario. I termini di ℒ0 sono tutte le stringhe di simbolidel tipo v, f(v), f(f(v)), f(f(f(v))), . . . , dove v e una qualsiasi variabile (per ogniv ci sono infiniti di questi termini!). Se quando f compare k volte scriviamo f (k)(v)(e quindi in particolare f (0)(v) e v), abbiamo che tutti i termini di ℒ0 sono dellaforma f (k)(v) con k ∈ ℕ e v variabile.

Nel linguaggio ℒ0 non ci sono termini chiusi.

Esempio 6.16. Sia ℒ1 il linguaggio ottenuto aggiungendo a ℒ0 dell’esempio prece-dente un unico simbolo di costante c. I termini chiusi di ℒ1 sono quelli della formaf (k)(c) con k ∈ ℕ.

La definizione di termine e ricorsiva e questo fa sı che spesso ragioneremoinduttivamente sui termini: per dimostrare che una proprieta vale per tutti i terminie sufficiente dimostrare che essa vale per le variabili e i simboli di costante e che se fe un simbolo di funzione n-ario e la proprieta vale per i termini t1, . . . , tn, allora valeanche per f(t1, . . . , tn). Similmente le definizioni di operazioni sui termini possonovenir date per ricorsione: basta definire il risultato dell’operazione su variabili esimboli di costante e, supponendo di aver gia definito il risultato dell’operazione sut1, . . . , tn, definirlo anche su f(t1, . . . , tn) (si veda ad esempio la definizione 6.17).

Un’operazione fondamentale sui termini e quella di sostituzione. L’idea e chese t e un termine, x una variabile e s un termine la sostituzione di x con s in t(indicata da t{x/s}), e il termine ottenuto rimpiazzando ogni occorrenza di x in tcon s. La sostituzione e definita per ricorsione sulla complessita del termine t.

Definizione 6.17. Se x e una variabile e s e t sono termini definiamo la sostituzionedi x con t in s, s{x/t}, per ricorsione su s:

3. FORMULE PREDICATIVE 59

∙ se s e la variabile x allora s{x/t} e t;∙ se s e una variabile diversa da x oppure un simbolo di costante alloras{x/t} e s;

∙ se s e f(s1, . . . , sn) allora s{x/t} e f(s1{x/t}, . . . , sn{x/t}).Esempio 6.18. Consideriamo un linguaggio contenente i simboli di costante a e be i simboli di funzione f e g, il primo binario e il secondo unario.

f(g(x), a){x/b} e f(g(b), a);

f(x, g(x)){x/g(a)} e f(g(a), g(g(a)));

f(x, g(x)){x/g(x)} e f(g(x), g(g(x)));

g(y){x/a} e g(y);

x{x/a} e a.

3. Formule predicative

Le formule di un linguaggio predicativo fissato sono costruite a partire daitermini per mezzo dei simboli di relazione e dei simboli logici:

Definizione 6.19. Sia ℒ un linguaggio predicativo. Le formule atomiche di ℒ sonole stringhe di simboli del tipo p(t1, . . . , tn) dove p e un simbolo di relazione n-arioe t1, . . . , tn sono termini.

L’insieme delle formule di ℒ e definito per ricorsione come segue:

∙ ogni formula atomica di ℒ e una formula di ℒ;∙ se F e una formula di ℒ allora (¬F ) e una formula di ℒ;∙ se F e G sono formule di ℒ allora (F ∧ G), (F ∨ G) e (F → G) sonoformule di ℒ;

∙ se F e una formula di ℒ e x e una variabile, allora (∀xF ) e (∃xF ) sono for-mule di ℒ (che vengono dette rispettivamente la quantificazione universalee la quantificazione esistenziale di F rispetto a x).

Le formule (¬F ), (F ∧ G), (F ∨ G) e (F → G) vengono lette come nel casoproposizionale. La formula (∀xF ) viene letta “per ogni x, F” e la formula (∃xF )viene letta “esiste x tale che F”.

Nota 6.20. Notate che se un linguaggio non avesse simboli di relazione non avrebbeformule atomiche e di conseguenza non avrebbe formule: questa e la ragione percui nella definizione 6.2 abbiamo richiesto che l’insieme dei simboli di relazione sianon vuoto.

Esempio 6.21. Sia ℒ0 un linguaggio privo di simboli di costante, con un simbolodi funzione unario f (si veda l’esempio 6.15), con un simbolo di relazione unario ped un simbolo di relazione binario r. Le formule atomiche di ℒ0 sono della formap(f (k)(v)) e r(f (k)(v), f (ℎ)(u)) con k, ℎ ∈ ℕ e v e u variabili. In particolare tra diesse ci sono p(x), r(f(y), x) e p(f(f(x))).

Notate invece che p(p(x)), r(p(x), y), f(p(x)) e r(x) non sono ne termini neformule di ℒ0.

Alcune formule di ℒ0 sono (¬p(x)), (p(x)∧(r(f(y), x)∨p(f(f(x))))), (∀x p(x)),(∃y r(x, z)) e (((¬p(x)) → (∀x p(x))) → (((¬p(x)) ∧ (r(f(y), x) ∨ p(z))) ∧ p(x))).

Per indicare formule e insiemi di formule continueremo ad utilizzare la conven-zione 1.6.

Il seguente lemma e l’analogo del lemma 1.8.

Lemma 6.22. Ogni formula e di uno e uno solo dei seguenti sette tipi:

∙ una formula atomica;

60 6. SINTASSI DELLA LOGICA PREDICATIVA

∙ una negazione;∙ una congiunzione;∙ una disgiunzione;∙ un’ implicazione;∙ una quantificazione universale, cioe una formula del tipo (∀xF ) per unavariabile x e una formula F ;

∙ una quantificazione esistenziale, cioe una formula del tipo (∃xF ) per unavariabile x e una formula F .

Esempio 6.23. Le formule del secondo paragrafo dell’esempio 6.21 sono rispet-tivamente una negazione, una congiunzione, una quantificazione universale, unaquantificazione esistenziale e un’implicazione.

L’ultima formula dell’esempio 6.21, per quanto formalmente corretta, e pro-babilmente gia oltre il limite della leggibilita umana. Per migliorare la leggibilitadelle formule adotteremo alcune convenzioni, che estendono quelle adottate nel casoproposizionale (convenzione 1.14).

Convenzione 6.24. Nella scrittura delle formule adotteremo le seguenti conven-zioni :

∙ si omettono le parentesi piu esterne;∙ ¬, ∀ e ∃ hanno la precedenza su ∧, ∨ e →, cosı che ∀xF → G abbrevia((∀xF ) → G);

∙ ∧ e ∨ hanno la precedenza su →;∙ ulteriori parentesi eventualmente omesse in formule costruite con piu diuna ∧ o ∨ si appoggiano a sinistra.

Con queste convenzioni l’ultima formula dell’esempio 6.21 diventa

(¬p(x) → ∀x p(x)) → ¬p(x) ∧ (r(f(y), x) ∨ p(z)) ∧ p(x).Esercizio 6.25. Stabilite qual e la differenza tra le formule

∀x p(x) → ∃y r(x, y) ∧ ¬∃u r(f(u), z)∀x p(x) → ∃y (r(x, y) ∧ ¬∃u r(f(u), z))∀x (p(x) → ∃y r(x, y) ∧ ¬∃u r(f(u), z))

analizzando i passaggi attraverso cui sono state costruite a partire da formule ato-miche. In particolare indicate per ognuna delle tre formule a quale tipo (secondola classificazione del lemma 6.22) appartiene.

La definizione di formula, come quella di termine, e induttiva e questo ci per-mette di ragionare induttivamente e definire operazioni ricorsivamente sulle formu-le. Come primo esempio di quest’ultimo procedimento consideriamo la seguentedefinizione, che estende quella analoga nel caso proposizionale (definizione 1.11):

Definizione 6.26. Il grado della formula F , indicato con g(F ), e definito da:

∙ g(F ) = 0 se F e atomica;∙ g(¬F ) = g(∀xF ) = g(∃xF ) = g(F ) + 1;∙ g(F ∧G) = g(F ∨G) = g(F → G) = g(F ) + g(G) + 1.

Esercizio 6.27. Calcolare il grado delle formule dell’esempio 6.21.

Esercizio 6.28. (★) Dimostrare per induzione sulla complessita delle formule cheil grado di F e il numero di connettivi e quantificatori che compaiono in F .

Definizione 6.29. Se Γ e un insieme di formule il linguaggio di Γ e indicato conℒ(Γ) e consiste dei simboli di costante, funzione e relazione che compaiono in qual-che elemento di Γ. Se Γ = {F} scriveremo ℒ(F ), e similmente ℒ(F,G) sta perℒ({F,G}).

4. VARIABILI LIBERE E ENUNCIATI 61

Esempio 6.30. Se F e

p(a) ∧ ∀x(p(f(x)) → ¬r(x, b)) → ∃y(q(a, y, g(y, b)) ∨ q(y, g(y, a), f(b)))ℒ(F ) consiste dei simboli di costante a e b, dei simboli di funzione f (unario) e g(binario), e dei simboli di relazione p (unario), r (binario) e q (ternario).

Esercizio 6.31. Indicare quale tra le seguenti stringhe di simboli e una formulaatomica del linguaggio dell’esempio 6.30:

q(a); p(y); p(g(b)); ¬r(x, a); q(x, p(a), b); p(g(f(a), g(x, f(x))));

q(f(a), f(f(x)), f(g(f(z), g(a, b)))); r(a, r(a, a)); r(a, g(a, a)); g(a, g(a, a)).

Esercizio 6.32. Indicare quale tra le seguenti stringhe di simboli e una formuladel linguaggio dell’esempio 6.30:

∀x¬p(x); ∀x¬p(y); ¬r(p(a), x); ∃a r(a, a); ∃x q(x, f(x), b) → ∀x r(a, x);∃x p(r(a, x)); ∀r(x, a); → p(b); r(x, b)¬∃y q(y, y, y); r(x, b) ∨ ¬∃y q(y, y, y);

¬y p(y); ¬¬p(a); ¬¬∀x¬p(x); ∀x∃y(r(x, y) → r(y, x)¬r(g(y, x), f(x))).

Esercizio 6.33. Indicare in quale tra le seguenti linguaggi la stringa ∃x p(g(f(x)))e una formula:

(a) p e un simbolo di relazione unario e g e f sono simboli di funzione unari;(b) p, g e f sono simboli di funzione unari;(c) p e g sono simboli di relazione e f e un simbolo di funzione.

Esercizio 6.34. Dire di che tipo devono essere i simboli p, q, f e g (se di funzione,di relazione e di quale arieta) affinche la stringa di simboli seguente sia una formula:

∀x(p(g(a, f(x))) ∨ q(g(x, y), f(g(a, b)))).(Questo e equivalente a stabilire qual e il linguaggio della formula in questione.)

Esercizio 6.35. Spiegare perche le stringhe di simboli

∀x(p(x) → p(x, a)), ∃x(q(x) ∧ r(q(a), a)) e g(s(x) → t(x))

non sono formule di nessun linguaggio.

4. Variabili libere e enunciati

Il ruolo della variabile x nelle formule p(x) e ∀x p(x) (ovviamente siamo in unlinguaggio che contiene un simbolo di relazione unario p) e ben diverso. Infatti perdecidere se la prima formula e vera o falsa e necessario dare un significato, oltre chea p, anche a x, mentre la verita o falsita della seconda formula dipende solo da comeinterpretiamo p. Per catturare questa differenza diamo la seguente definizione perricorsione sulla complessita di una formula.

Definizione 6.36. Sia F una formula e x una variabile. Definiamo le occorrenzelibere di x in F come segue:

∙ se F e atomica allora ogni occorrenza di x in F e libera;∙ se F e ¬G allora le occorrenze libere di x in F sono le occorrenze liberedi x in G;

∙ se F e G∧H , G∨H oppure G→ H , allora le occorrenze libere di x in Fsono le occorrenze libere di x in G e le occorrenze libere di x in H ;

∙ se F e ∀xG oppure ∃xG, allora nessuna occorrenza di x in F e libera;∙ se F e ∀y G oppure ∃y G dove y e una variabile diversa da x, allora leoccorrenze libere di x in F sono le occorrenze libere di x in G.

62 6. SINTASSI DELLA LOGICA PREDICATIVA

Le occorrenze di x in F che non sono libere si dicono occorrenze legate. Le variabililibere di una formula F sono quelle che hanno almeno un’occorrenza libera in F .Una formula priva di variabili libere e chiamata enunciato o formula chiusa.

Esempio 6.37. Nella formula

∀x(r(f(x), y) → ∃y r(f(y), x)) → ∀y(¬r(y, x) ∨ r(z, f(z)) → ∃w ∀x r(x,w))le occorrenze libere delle variabili sono sottolineate. Pertanto le variabili libere diquesta formula sono y, x e z e la formula non e un enunciato. Notiamo che x e yhanno sia occorrenze libere che occorrenze legate in questa formula.

L’idea della definizione 6.36 e che le variabili libere di una formula vanno in-terpretate in un modo che e ancora da stabilire: la loro presenza impedisce quindidi stabilire se la formula in questione sia vera o falsa. Un enunciato invece esprimedirettamente una proprieta di cio di cui si sta parlando e pertanto, una volta sta-bilito come interpretare i simboli di costante, funzione e relazione, risultera esserevero o falso.

Esempio 6.38. Nel linguaggio dell’esempio 6.3 con i vari simboli interpretati inmodo naturale, non ha senso chiedersi se la formula atomica con variabili liberex+1 = 1 sia vera o falsa. Invece gli enunciati 1+1 = 1, ∀xx+1 = 1 e ∃xx+1 = 1sono falsi i primi due e vero il terzo.

Esercizio 6.39. Nel linguaggio dell’esempio 6.30 stabilire quali sono le variabililibere nelle seguenti formule e quali di esse sono enunciati:

p(a); p(x) ∧ ¬r(y, a); ∃x r(y, y); ∀x p(x) → ∃y¬q(f(x), y, f(y));∀x∃y r(x, f(y)) → r(x, y); ∀x(∃y r(x, f(y)) → r(x, y));

¬r(f(a), a); ∀z (p(z) → ∃y(∃x q(x, y, z) ∨ q(z, y, x)));∀x(p(x) → ∃y¬q(f(x), y, f(y))); ∀z ∃u ∃y(q(z, u, g(u, y))∨ r(u, g(z, u)));

∀z ∃x∃y(q(z, u, g(u, y)) ∨ r(u, g(z, u))); ∀z(∃y q(z, u, g(u, y)) ∨ ∃u r(u, g(z, u))).Fate lo stesso con la formula dell’esempio 6.30 e quelle degli esercizi 6.31, 6.32, 6.33e 6.34.

Le formule di certi tipi hanno una certa importanza e quindi hanno dei no-mi specifici per designarle. Alcuni esempi li abbiamo gia incontrati: le formuleatomiche e gli enunciati.

Definizione 6.40.

∙ Una formula aperta e una formula senza alcun quantificatore (cioe in cuinon compaiono ∀ e ∃);

∙ Un letterale e una formula atomica o la negazione di una formula atomica.

Se identifichiamo le formule atomiche della logica predicativa con le lettereproposizionali della logica proposizionale, le formule aperte diventano le formu-le proposizionali studiate nei primi capitoli di queste dispense, mentre i letteralipredicativi coincidono con i letterali della Definizione 3.1.

Definizione 6.41.

∙ Una formula puramente universale e una formula aperta o della forma∀x1 . . . ∀xn F con F aperta;

∙ una formula puramente esistenziale e una formula aperta o della forma∃x1 . . . ∃xn F con F aperta.

Notiamo che le formule aperte sono le sole ad essere sia puramente universaliche puramente esistenziali. Notiamo anche che non basta che una formula non

5. SOTTOFORMULE 63

contenga ∃ perche essa sia puramente universale: ad esempio ∀x p(x) → p(a) none puramente universale, mentre ∀x(p(x) → p(a)) lo e.

Definizione 6.42. Se F e una formula le cui variabili libere sono x1, . . . , xn, l’enun-ciato ∀x1 . . .∀xn F e una chiusura universale di F , mentre l’enunciato ∃x1 . . . ∃xn Fe una chiusura esistenziale di F .

Convenzione 6.43. Due chiusure universali (esistenziali) di F differiscono perl’ordine in cui le variabili libere vengono quantificate (ad esempio ∀x∀y r(x, y) e∀y ∀x r(x, y) sono (le uniche) due chiusure universali della formula r(x, y)). Datoche il corollario 7.29 mostrera che tutte le chiusure universali di una formula Fsono tra loro logicamente equivalenti (nel senso che definiremo nel capitolo 7),indichiamo con ∀(F ) una qualunque chiusura universale di F . Lo stesso si puo direper le chiusure esistenziali, ed in questo caso la notazione sara ∃(F ).

Notiamo che una chiusura universale di una formula F non e, in generale,una formula puramente universale. Cio accade se e solo se F stessa e puramenteuniversale.

5. Sottoformule

Questa sezione e quasi una ripetizione della sezione 1.3: le idee della defini-zione di sottoformula sono esattamente le stesse nel caso proposizionale e in quellopredicativo.

Definizione 6.44. Se F e una formula, diciamo che G e una sottoformula di F seG e una formula che e una sottostringa di F . G e una sottoformula propria di Fse e diversa da F .

La definizione precedente va applicata tenendo a mente la definizione 6.19 diformula, anche quando si utilizza la convenzione 6.24.

Esempio 6.45. Se F e

∀x(p(x) → ∃y p(y) ∨ r(x, y)),

∃y p(y) ∨ r(x, y) e una sottoformula di F , mentre p(x) → ∃y p(y) non lo e. Infattiinserendo alcune delle parentesi omesse in base alla convenzione 6.24 F e

∀x(p(x) → ((∃y p(y)) ∨ r(x, y))).

In effetti ∃y p(y) ∨ r(x, y) e una delle formule utilizzate nella costruzione di F ,mentre p(x) → ∃y p(y) non lo e.

Esercizio 6.46. Elencate tutte le sottoformule della F dell’esempio precedente(sono sette, di cui sei proprie).

Per dare una definizione precisa di sottoformula possiamo procedere per indu-zione sulla complessita delle formule.

Definizione 6.47. Definiamo per ricorsione sulla complessita della formula F qualisono le sottoformule di F :

∙ se F e atomica, F e la sua unica sottoformula;∙ se F e ¬G, ∀xG oppure ∃xG allora le sottoformule di F sono le sottofor-mule di G e F stessa;

∙ se F e G ∧H , G ∨H oppure G → H allora le sottoformule di F sono lesottoformule di G, le sottoformule di H e F stessa.

64 6. SINTASSI DELLA LOGICA PREDICATIVA

6. Sostituzioni in formule

Abbiamo visto come effettuare sostituzioni nei termini (definizione 6.17), eora ci proponiamo di effettuare sostituzioni nelle formule. Nel caso delle formuleatomiche il procedimento e semplice, e si basa proprio sulle sostituzioni in termini.

Definizione 6.48. Se F e una formula atomica p(s1, . . . , sk), x e una variabile e te un termine la sostituzione di x con t in F e p(s1{x/t}, . . . , sk{x/t}) ed e denotatada F{x/t}.

Esempio 6.49. q(x, g(x, f(y)), f(g(z, y))){x/f(w)} e

q(f(w), g(f(w), f(y)), f(g(z, y))).

Quando la formula in cui vogliamo effettuare la sostituzione non e atomica(ed in particolare quando non e aperta) occorre un po’ piu di cautela. Si possonopresentare due problemi di carattere diverso.

Il primo e esemplificato dal caso in cui F sia p(x) ∧ ∃x q(x) e la sostituzionesia {x/a}, dove a e un simbolo di costante. Sostituendo sistematicamente x cona in tutta F otterremmo p(a) ∧ ∃a q(a), che non e neppure una formula (perche anon e una variabile). Il nostro obiettivo e in realta asserire riguardo ad a cio chela F asserisce riguardo a x, e quindi ottenere p(a) ∧ ∃x q(x). A questo scopo bastastabilire cha vanno sostituite solo le occorrenze libere delle variabili nel dominiodella sostituzione.

Il secondo problema e esemplificato dal caso in cui F sia ∃y r(x, y) (in questocaso l’unica occorrenza di x e libera e percio se sostituiamo un termine al posto dix non abbiamo il problema rilevato precedentemente). Se ∃y r(x, y) e vera per ognix (ad esempio parliamo di numeri naturali e r(x, y) significa “x e minore di y”),ci aspettiamo che ogni sostituzione in F di x con qualche termine conduca ad unaformula vera; invece se la sostituzione e {x/y} e si procede in modo sistematico siottiene ∃y r(y, y), che e falsa nell’interpretazione descritta sopra.

In questo caso la sostituzione conduce a una formula (addirittura ad un enun-ciato), che pero ha un significato completamente diverso da quello che avevamo inmente. La formula ottenuta dopo la sostituzione dovrebbe condurre ad una formulache asserisca riguardo a y cio che F asserisce riguardo a x, ed in particolare ad unaformula in cui y e libera. La situazione e analoga a quella che si incontra in analisi,

con gli integrali definiti:∫ 1

0 f(x, y) dy e una funzione di x, mentre∫ 1

0 f(y, y) dy eun numero.

Questo secondo problema e piu delicato e conduce a stabilire che non tutte lesostituzioni si possano effettuare.

Definizione 6.50. Un termine t e libero per la sostituzione al posto di un’occorren-za libera della variabile x nella formula F , se t non contiene alcuna variabile y taleche esiste una sottoformula di F del tipo ∀y G o ∃y G con G contenente l’occorrenzadi x che stiamo considerando.

Osserviamo che se t non contiene variabili diverse da x (in particolare se t eun termine chiuso) allora t e libero per la sostituzione al posto di ogni occorrenzalibera di x in ogni formula F . Se F e aperta ogni termine e libero per la sostituzioneal posto di ogni occorrenza libera di ogni variabile in F .

Esempio 6.51. Se F e ∃y r(x, y)∨ ∀z ¬r(z, x), x ha due occorrenze libere in F . Iltermine f(y) non e libero per la sostituzione al posto della prima occorrenza liberadi x, ma e libero per la sostituzione al posto della seconda occorrenza libera dix. Al contrario il termine g(z, w) e libero per la sostituzione al posto della primaoccorrenza libera di x, ma non e libero per la sostituzione al posto della seconda

6. SOSTITUZIONI IN FORMULE 65

occorrenza libera di x. I termini w, f(w) e g(v, a) sono liberi per la sostituzione alposto di entrambe le occorrenze libere di x in F .

Definizione 6.52. La sostituzione della variabile x con il termine t e ammissibilein F se t e libero per la sostituzione al posto di ogni occorrenza libera di x in F . Inquesto caso la formula F{x/t} e ottenuta sostituendo in F ogni formula atomica Acon A{x/t}.Esempio 6.53. Qualunque termine t e libero per la sostituzione all’unica occor-renza libera di x nella formula F

∃y ∀x(p(x) → r(x, y)) → p(x).

Percio {x/t} e una sostituzione ammissibile in F e F{x/t} e

∃y ∀x(p(x) → r(x, y)) → p(t).

Esempio 6.54. Se F e ∀z r(x, z)∧∃y r(x, f(y)) → ¬∃x r(x, x) le sostituzioni {x/y},{x/f(y)} e {x/z} non sono ammissibili in F , mentre le sostituzioni {x/c}, {x/f(x)}e {x/w} sono ammissibili e conducono rispettivamente a

∀z r(c, z) ∧ ∃y r(c, f(y)) → ¬∃x r(x, x),∀z r(f(x), z) ∧ ∃y r(f(x), f(y)) → ¬∃x r(x, x),

∀z r(w, z) ∧ ∃y r(w, f(y)) → ¬∃x r(x, x).Esercizio 6.55. In ognuna delle situazioni seguenti stabilire se la sostituzione {x/t}e ammissibile in F . Se la risposta e positiva trovare F{x/t}.

∙ t e y, F e ∃y ∀x r(x, y) ∨ ∃z r(x, z);∙ t e g(y, a), F e ∀x∃y r(x, y) → q(x, f(x, y), y);∙ t e g(y, a), F e ∃y(r(x, y) → q(x, f(x), y));∙ t contiene solo variabili che non compaiono (ne libere, ne legate) in F ;∙ t e f(x), F qualsiasi.

Anche le occorrenze legate di una variabile possono venire sostituite, ma inquesto caso solo con un’altra variabile.

Definizione 6.56. Sia F una formula, x una variabile che occorre legata in F e yuna variabile che non occorre (ne libera ne legata) in F . La variante di F in cui xe rimpiazzata da y e indicata con Fx(y) ed e la formula in cui tutte le occorrenzelegate di x sono sostituite da y.

L’idea e che una variante di F ha lo stesso significato di F (questa affermazione

sara giustificata dal corollario 7.44), cosı come∫ 1

0 f(x, z) dx e∫ 1

0 f(y, z) dy sono lastessa funzione di z.

Esempio 6.57. Se F e la formula r(x,w) ∧ ∀z ∃x r(x, z) allora Fx(y) e definita ede r(x,w) ∧ ∀z ∃y r(y, z). Notate che in questo caso non sono definite ne Fx(z) neFx(w).

Una delle ragioni per cui le varianti sono utili e che passando ad una variantee possibile rendere qualsiasi sostituzione ammissibile.

Esempio 6.58. Se F e ∃y r(x, y) la sostituzione {x/f(y)} non e ammissibile.Dato che Fy(z) e ∃z r(x, z), la medesima sostituzione e ammissibile in Fy(z) eFy(z){x/f(y)} e ∃z r(f(y), z). Quest’ultima formula asserisce di f(y) cio che Fasserisce di x.

Esercizio 6.59. Sia F la formula ∀x∀y ∃z q(v, g(x, y), g(z, w)). Applicate ripetu-tamente l’operazione di variante a partire da F fino a trovare una formula per cuila sostituzione {v/g(x, y, z)} sia ammissibile.

66 6. SINTASSI DELLA LOGICA PREDICATIVA

7. Linguaggi con uguaglianza

Nei linguaggi degli esempi 6.3, 6.4, 6.5 e 6.6 e stato naturale inserire un sim-bolo di relazione binario che abbiamo denotato con =, e il cui significato implicitoe “essere uguale a”. Dal punto di vista sintattico, = e un simbolo di relazionebinario che viene considerato alla stregua di un qualsiasi altro simbolo di relazionebinario. Quando pero passeremo allo studio della semantica (vedere la sezione 7.7),al simbolo = verra attribuito un ruolo particolare: ad esempio abbiamo in menteche scrivere x = y oppure y = x sia sostanzialmente la stessa cosa. Il simbolo = haquindi un ruolo del tutto particolare, e d’ora in poi lo useremo solo quando svolgequesto ruolo. In particolare = sara sempre un simbolo di relazione binario. Ciuniformiamo inoltre (come abbiamo gia fatto in questo paragrafo) al modo usualedi scrivere formule che contengono =.

Definizione 6.60. Un linguaggio ℒ si dice un linguaggio con uguaglianza se tra isuoi simboli di relazione binari ne esiste uno denotato con =. In questo caso se t1 et2 sono termini di ℒ la formula atomica = (t1, t2) viene scritta t1 = t2 e il letterale¬t1 = t2 viene scritto t1 ∕= t2.

Per cercare di descrivere il ruolo svolto da = in un linguaggio con uguaglianzapossiamo definire, per ora a livello puramente sintattico, un insieme di enunciati cheesprimono alcune delle proprieta fondamentali dell’uguaglianza. Il ruolo di questoinsieme di enunciati verra chiarito dal lemma 7.96 e dal corollario 9.28.

Definizione 6.61. Dato un linguaggio ℒ, con Eqℒ denotiamo l’insieme delle chiu-sure universali delle seguenti formule di ℒ ∪ {=}:(e1) x = x;(e2) x = y → y = x;(e3) x = y → (y = z → x = z);(e4) x1 = y1 ∧ ⋅ ⋅ ⋅ ∧ xn = yn → f(x1, . . . , xn) = f(y1, . . . , yn) per tutti i simboli di

funzione f di ℒ, dove n e l’arieta di f .(e5) x1 = y1 ∧ ⋅ ⋅ ⋅ ∧ xn = yn → (p(x1, . . . , xn) → p(y1, . . . , yn)) per tutti i simboli

di relazione p di ℒ, dove n e l’arieta di p.

Notate che (e1), (e2) e (e3) sono singole formule, mentre (e4) e (e5) possono rap-presentare insiemi infiniti di formule (se ℒ contiene infiniti simboli di funzione o direlazione, rispettivamente).

Dal punto di vista della sintassi non molto altro puo venire detto, e rimandiamoalla sezione 7.7 per la semantica dei linguaggi con uguaglianza, e alla sezione 8.3per l’uso dell’uguaglianza nelle traduzioni dal linguaggio naturale.

CAPITOLO 7

Semantica della logica predicativa

In questo capitolo svilupperemo la semantica della logica predicativa in analogiaa quanto fatto nel capitolo 2 per la semantica della logica proposizionale. La nozionedi interpretazione e piuttosto diversa nei due contesti, ma —una volta che essa siastata stabilita— molte definizioni (conseguenza ed equivalenza logica, validita, ecc.)saranno identiche a quelle del capitolo 2.

1. Interpretazioni e soddisfazione

Per interpretare una formula predicativa dobbiamo prima di tutto interpretarei termini del suo linguaggio. Ad essi assegnamo un elemento di un dominio, chee l’insieme degli oggetti di cui vogliamo parlare. I simboli di costante, funzione erelazione, vanno interpretati con riferimento a questo dominio.

Definizione 7.1. Dato un linguaggio ℒ una interpretazione I per ℒ e data da:

∙ un insieme non vuoto DI , detto dominio dell’interpretazione;∙ per ogni simbolo di costante c in ℒ, un elemento cI ∈ DI ;∙ per ogni simbolo di funzione n-ario f in ℒ, una funzione f I : (DI)n → DI ;∙ per ogni simbolo di relazione n-ario p in ℒ, un insieme pI ⊆ (DI)n.

Definizione 7.2. Un’interpretazione I per il linguaggio ℒ associa ad ogni terminechiuso t di ℒ la sua interpretazione in I, che e un elemento tI ∈ DI definitoricorsivamente da:

∙ se t e un simbolo di costante c allora tI = cI ;∙ se t = f(t1, . . . , tn) allora t

I = f I(tI1, . . . , tIn).

Se un termine non e chiuso (e quindi contiene delle variabili) l’interpretazionenon e sufficiente a stabilire quale elemento del dominio associare al termine. Aquesto scopo affianchiamo all’interpretazione un modo di interpretare le variabili.

Definizione 7.3. Uno stato di un’interpretazione I e una funzione che ad ognivariabile associa un elemento del dominio di I.

Uno stato � di I associa ad ogni termine t un valore, �(t) ∈ DI , definitoricorsivamente da:

∙ se t e una variabile x allora �(t) = �(x);∙ se t e una costante c allora �(t) = cI ;∙ se t = f(t1, . . . , tn) allora �(t) = f I(�(t1), . . . , �(tn)).

Esercizio 7.4. Dimostrate che se t e un termine chiuso e � uno stato di un’inter-pretazione I, si ha �(t) = tI .

Esempio 7.5. Sia ℒ un linguaggio con un simbolo di costante c, un simbolo fun-zionale unario f , due simboli relazionali unari p e q e un simbolo relazionale binarior.

Definiamo un’interpretazione I per ℒ ponendo

DI = {0, 1, 2}, cI = 1, f I(0) = 1, f I(1) = 2, f I(2) = 1,

pI = {1, 2}, qI = {0, 2}, rI = {(0, 0), (0, 2), (1, 2)}.

67

68 7. SEMANTICA DELLA LOGICA PREDICATIVA

Definiamo uno stato di I ponendo �(x) = 0, �(y) = 1 e �(v) = 2 per tutte levariabili v diverse da x e y.

L’interpretazione in I del termine chiuso f(c) e f(c)I = f I(cI) = f I(1) = 2. Ilvalore secondo � del termine f(x) e �(f(x)) = f I(�(x)) = f I(0) = 1.

Il prossimo lemma asserisce che il valore assunto da un termine non dipendene dall’interpretazione dei simboli di costante e di funzione che non occorrono neltermine, ne dall’interpretazione dei simboli di relazione, ne dal valore dello stato suvariabili che non occorrono nel termine.

Lemma 7.6. Sia t un termine di un linguaggio ℒ, e siano I e I ′ interpretazioniper ℒ che hanno lo stesso dominio e coincidono sulle interpretazioni dei simboli dicostante e di funzione che occorrono in t. Siano inoltre � e �′ stati rispettivamentedi I e I ′ che coincidono sulle variabili che occorrono in t. Allora �(t) = �′(t).

Dimostrazione. La dimostrazione e per induzione sulla complessita di t. Set e una variabile o una costante allora per ipotesi �(t) = �′(t). Se t = f(t1, . . . , tn)

allora per ipotesi si ha che f I e f I′

coincidono e, usando l’ipotesi induttiva, abbiamo�(t) = f I(�(t1), . . . , �(tn)) = f I′

(�′(t1), . . . , �′(tn)) = �′(t). □

Per arrivare alla definizione di interpretazione di una formula e opportunointrodurre la seguente notazione per gli stati.

Notazione 7.7. Se � e uno stato dell’interpretazione I, x una variabile e d ∈ DI

indichiamo con �[x/d] lo stato che coincide con � su tutte le variabili diverse da x,e assegna a x il valore d.

Definizione 7.8. Siano F una formula di un linguaggio ℒ, I un’interpretazioneper ℒ e � uno stato di I. Definiamo la relazione I, � ∣= F (da leggersi I allo stato� soddisfa F ) per ricorsione su F (I, � ⊭ F indica che I, � ∣= F non vale):

∙ I, � ∣= p(t1, . . . , tn) se e solo se (�(t1), . . . , �(tn)) ∈ pI ;∙ I, � ∣= ¬G se e solo se I, � ⊭ G;∙ I, � ∣= G ∧H se e solo se I, � ∣= G e I, � ∣= H ;∙ I, � ∣= G ∨H se e solo se I, � ∣= G oppure I, � ∣= H ;∙ I, � ∣= G→ H se e solo se I, � ⊭ G oppure I, � ∣= H ;∙ I, � ∣= ∀xF se e solo se per ogni d ∈ D si ha che I, �[x/d] ∣= F ;∙ I, � ∣= ∃xF se e solo se per qualche d ∈ D si ha che I, �[x/d] ∣= F .

Diciamo che I soddisfa F , e scriviamo I ∣= F se I, � ∣= F per ogni stato � di I. Inquesto caso si dice anche che F e vera in I oppure che I e un modello di F .

Se Γ e un insieme di formule, diciamo che I allo stato � soddisfa Γ, e scriviamoI, � ∣= Γ, se I allo stato � soddisfa ogni F ∈ Γ. Anche in questo caso diciamo che Isoddisfa Γ, o che Γ e vera in I oppure che I e un modello di Γ, e scriviamo I ∣= Γ,se I, � ∣= Γ per ogni stato � di I.

Questa definizione va vista come una generalizzazione al caso predicativo del-la definizione 2.3. Pur tenendo conto della differenza tra le interpretazioni pro-posizionali e quelle predicative, la seconda, terza, quarta e quinta clausola delladefinizione 7.8 ricalcano le clausole analoghe della definizione 2.3. La prima clau-sola usa le interpretazioni dei termini e l’interpretazione dei simboli predicativiper sostituire l’assegnazione che attribuiva valori di verita alle lettere proposizio-nali, mentre completamente nuove sono solo le ultime due clausole che riguardanoi quantificatori.

Il simbolo ∣= e stato usato nel caso proposizionale (e lo sara anche nel casopredicativo) per indicare la conseguenza logica: per distinguere tra i due significatiattribuiti a questo simbolo si veda la nota 7.28.

1. INTERPRETAZIONI E SODDISFAZIONE 69

Esempio 7.9. Siano ℒ, I e � come nell’esempio 7.5. Sia F la formula

(q(f(y)) → ¬p(c)) ∨ ∃z(r(x, z) ∧ p(z) ∧ r(y, z)).

Per verificare se I, � ∣= F iniziamo con lo stabilire se I, � ∣= q(f(y)) → ¬p(c). Aquesto scopo calcoliamo �(f(y)) = f I(�(y)) = f I(1) = 2; dato che 2 ∈ qI si haI, � ∣= q(f(y)) e dobbiamo verificare se I, � ∣= ¬p(c): dato che �(c) = cI = 1 e 1 ∈pI si ha I, � ∣= p(c) e quindi I, � ⊭ ¬p(c). Percio I, � ⊭ q(f(y)) → ¬p(c) e l’unicapossibilita che I, � ∣= F e che I, � ∣= ∃z(r(x, z)∧p(z)∧r(y, z)). Per verificare se cioavviene dobbiamo considerare tutti i possibili stati �[z/d] con d ∈ DI e per ognunodi essi controllare se I, �[z/d] ∣= r(x, z)∧p(z)∧r(y, z). Si ha che I, �[z/0] ∣= r(x, z),ma I, �[z/0] ⊭ p(z) e I, �[z/0] ⊭ r(y, z), cosı che 0 non e l’elemento adatto. Dato cheI, �[z/1] ⊭ r(x, z) neppure 1 va bene. Invece I, �[z/2] ∣= r(x, z), I, �[z/2] ∣= p(z)e I, �[z/2] ∣= r(y, z), cosı che I, �[z/2] ∣= r(x, z) ∧ p(z) ∧ r(y, z). Percio I, � ∣=∃z(r(x, z) ∧ p(z) ∧ r(y, z)) e quindi I, � ∣= F .

Nell’esempio precedente il valore assunto da � su variabili (come w) che nonoccorrono in F e del tutto irrilevante. Anche il fatto che �(z) = 2 non e mai statoutilizzato, malgrado z occorra in F . Cio avviene perche z non e libera in F e pertan-to quando abbiamo utilizzato il valore di uno stato su z si e sempre trattato di statidella forma �[z/d]. Queste osservazioni conducono ad un lemma che corrispondeai lemmi 7.6 (per quanto riguarda i termini) e 2.8 (nel caso proposizionale) e cheasserisce che la soddisfazione di una formula non dipende ne dall’interpretazionedei simboli di costante, di funzione e di relazione che non occorrono nella formulane dal valore dello stato su variabili che non occorrono libere nella formula.

Lemma 7.10. Sia F una formula di un linguaggio ℒ, e siano I e I ′ interpretazioniper ℒ che hanno lo stesso dominio e coincidono sui simboli di costante, di funzionee di relazione che occorrono in F . Siano inoltre � e �′ stati rispettivamente di Ie I ′ che coincidono sulle variabili che occorrono libere in F . Allora I, � ∣= F se esolo se I ′, �′ ∣= F .

Dimostrazione. La dimostrazione e per induzione sulla complessita di F .Se F e una formula atomica basta applicare la definizione 7.8 e il lemma 7.6.Se F e del tipo ¬G, G∧H , G∨H oppure G→ H basta applicare la definizione

7.8 e l’ipotesi induttiva.Se F e del tipo ∀xG e si ha I, � ∣= F allora per ogni d ∈ DI I, �[x/d] ∣= G. Per

dimostrare che I ′, �′ ∣= F fissiamo d ∈ DI′

= DI e consideriamo lo stato �′[x/d]:quest’ultimo coincide con �[x/d] sulle variabili libere in G (che, per la definizione6.36, sono quelle libere in F piu eventualmente x) e per ipotesi induttiva si haI ′, �′[x/d] ∣= G. Quindi I ′, �′ ∣= F . In maniera del tutto analoga si dimostra cheda I ′, �′ ∣= F segue I, � ∣= F .

Se F e del tipo ∃xG il ragionamento e del tutto analogo al caso del quantifica-tore universale. □

Corollario 7.11. Se F e un enunciato di ℒ, I un’interpretazione per ℒ e � e �′

due stati di I allora I, � ∣= F se e solo se I, �′ ∣= F . Quindi I ∣= F se e solo seI, � ∣= F per qualche stato � di I.

Il corollario precedente asserisce che possiamo ignorare lo stato nello stabilirela soddisfazione di un enunciato in un’interpretazione. Per la verifica di questasoddisfazione uno stato ausiliario sara pero spesso utile: ad esempio per verificarese I ∣= ∀xF , dove F e una formula in cui x e l’unica variabile libera, dobbiamoconsiderare per ogni d ∈ DI se I, �[x/d] ∣= F ; in questo caso pero possiamo scegliere� arbitrariamente.

70 7. SEMANTICA DELLA LOGICA PREDICATIVA

Esercizio 7.12. Siano ℒ, I e � come nell’esempio 7.5. Sia J l’interpretazione perℒ definita da

DJ = {0, 1, 2}, cJ = 2 fJ(0) = 1, fJ(1) = 1, fJ(2) = 0,

pJ = {0}, qJ = {0, 1}, rJ = {(0, 0), (1, 2)}.Sia G l’enunciato

∀x(∃y r(x, y) → ¬q(x) ∨ ∀z(p(f(z)) → r(z, x))).

Stabilite se I ∣= G, se J ∣= G e se J, � ∣= F , dove F e la formula dell’esempio 7.9(notate che � e anche uno stato di J).

Esempio 7.13. Sia {G, ⋅G} un gruppo (nozione definita nel corso di MatematicaDiscreta) con elemento unitario 1G. G puo essere visto come un’interpretazione Iper il linguaggio ℒG dell’esempio 6.8. Il dominio di I e l’insieme G degli elementidel gruppo, eI = 1G, se g, ℎ ∈ G (g−1)I e l’inverso di g rispetto all’operazione digruppo ⋅G e (g ⋅I ℎ) = (g ⋅G ℎ). Inoltre =I = { (g, ℎ) : g = ℎ }.

Dato che G e un gruppo avremo

I ∣= ∀x∀y ∀z (x ⋅ y) ⋅ z = x ⋅ (y ⋅ z),I ∣= ∀x(e ⋅ x = x ∧ x ⋅ e = x), e

I ∣= ∀x(x ⋅ x−1 = e ∧ x−1 ⋅ x = e).

In realta {G, ⋅G} e un gruppo precisamente quando l’interpretazione I definita soprasoddisfa questi tre enunciati.

Inoltre, I ∣= ∀x∀y(x ⋅ y = y ⋅ x) se e soltanto se il gruppo e abeliano.

Esercizio 7.14. Per ognuno degli enunciati seguenti nel linguaggio dell’esempio7.5 definite un’interpretazione che lo renda vero ed una che lo renda falso:

∀x∃y r(x, y) ∧ ¬∀x p(x); ∀x p(x) ∨ ∀x¬p(x); p(c) → ¬p(c); p(c) → p(a);

(∃x p(x) → p(c)) ∧ ¬p(c); (∃x p(x) → p(c)) ∧ p(f(c)); ∃x¬q(x) ∧ ∀x q(f(x))∀x(p(x) ∨ q(x)) → ∀x p(x) ∨ ∀x q(x); ∀x∃y r(x, y) → ∃y ∀x r(x, y).

Esercizio 7.15. Per ognuna delle formule seguenti F , trovate un’interpretazioneI per il linguaggio dell’esempio 7.5 e due stati �1 e �2 di I tali che I, �1 ∣= F eI, �2 ⊭ F .

p(x); ∃y r(x, y); r(x, y) → r(y, x); ∃x¬r(x, f(x)) ∧ r(x, f(x)).Esercizio 7.16. Siano F e G gli enunciati ∀x(r(x, a) → r(x, b)) e ∃x(r(x, a) ∧r(x, b)). Definite interpretazioni I1, I2, I3 e I4 per il linguaggio ℒ(F,G), tutte condominio {0, 1}, tali che:

I1 ∣= F e I1 ∣= G;

I2 ∣= F e I2 ⊭ G;

I3 ⊭ F e I3 ∣= G;

I4 ⊭ F e I4 ⊭ G.

Esercizio 7.17. Siano F e G gli enunciati

∀x(p(x) → ¬r(x, x)) e ¬∃x(p(x) ∧ ∀y r(y, x)).Definite interpretazioni I1, I2 e I3 per ℒ(F,G), tutte con dominio {0, 1}, tali che:

I1 ∣= F e I1 ∣= G;

I2 ⊭ F e I2 ∣= G;

I3 ⊭ F e I3 ⊭ G.

(Si veda l’esempio 7.30.)

1. INTERPRETAZIONI E SODDISFAZIONE 71

Esercizio 7.18. Sia ℒ = {r} dove r e un simbolo di relazione binario. Siano Ie J le interpretazioni per ℒ definite da: DI = {0}, rI = {(0, 0)}, DJ = {1, 2},rJ = {(1, 2), (2, 1)}. Trovate un enunciato vero in I e falso in J . Trovate unenunciato vero in J e falso in I.

Esempio 7.19. Sia H l’enunciato

∀x∀y(r(x, y) → ¬r(y, x)) ∧ ∀x¬r(x, x) ∧ ∀x∃y r(x, y).Sia I un’interpretazione che soddisfa H . Se I avesse cardinalita 1 (cioe DI avesseun solo elemento, chiamiamolo 0), dato che I ∣= ∀x∃y r(x, y), dovremmo avere(0, 0) ∈ rI , contro I ∣= ∀x¬r(x, x). Se I avesse cardinalita 2 (cioe DI avesseesattamente due elementi, diciamo 0 e 1), ragionando in modo analogo avremmo(0, 1) ∈ rI e (1, 0) ∈ rI , contro I ∣= ∀x∀y(r(x, y) → ¬r(y, x)). Abbiamo quindidimostrato che H non ha modelli di cardinalita 1 o 2.

Esercizio 7.20. Sia H l’enunciato dell’esempio 7.19. Definite un modello dicardinalita 3 per H .

Esercizio 7.21. Siano F e G le formule

∀x(p(x, x) → p(f(x), x)) e ∃x¬p(x, x) ∧ ∀x p(x, f(x)).Definite interpretazioni I1, I2 e I3 per ℒ(F,G), tutte con dominio D = {0, 1}, taliche:

I1 ∣= F e I1 ∣= G;

I2 ∣= F e I2 ⊭ G;

I3 ⊭ F e I3 ⊭ G.

Definite un’interpretazione J per ℒ(F,G) con dominio D′ = {0, 1, 2} tale che J ⊭ Fe J ∣= G.

Lemma 7.22. Sia F una formula e I un’interpretazione per ℒ(F ). Se G e unachiusura universale di F , allora I ∣= G se e solo se I ∣= F (cioe I, � ∣= F per ognistato � di I). Se H e una chiusura esistenziale di F allora I ∣= H se e solo seesiste uno stato � di I tale che I, � ∣= F .

Dimostrazione. Per dimostrare la prima parte del lemma e sufficiente mo-strare che I ∣= ∀xF se e solo se I ∣= F (si puo poi ripetere questo passaggio fino aottenere G). Si ha

I ∣= ∀xF se e solo se I, � ∣= ∀xF per ogni stato �

se e solo se I, �[x/d] ∣= F per ogni stato � e ogni d ∈ DI

se e solo se I, � ∣= F per ogni stato �

se e solo se I ∣= F,

dove l’equivalenza tra la seconda e la terza riga e basata sul fatto che ogni stato �e della forma �[x/d] per opportuni � e d (ad esempio � = � [x/�(x)]).

La dimostrazione della seconda parte del lemma si ottiene mostrando facilmenteche esiste uno stato � tale che I, � ∣= F se e solo se esiste uno stato � tale cheI, � ∣= ∃xF . Ripetendo questo passaggio si ottiene che esiste uno stato � tale cheI, � ∣= F se e solo se esiste uno stato � tale che I, � ∣= H . Dato che H e unenunciato, quest’ultima condizione e equivalente a I ∣= H . □

Esercizio 7.23. (★) Siano I un’interpretazione, � uno stato di I e F una formula.Una sola direzione dell’equivalenza “I, � ∣= F se e solo se I, � ∣= ∀xF” e vera.Quale? Perche?

72 7. SEMANTICA DELLA LOGICA PREDICATIVA

Esercizio 7.24. (★) Dimostrate che l’enunciato

F = ¬p(a) ∧ ∀x(p(f(x)) → p(x)) ∧ ∃x p(x)non e vero in nessuna interpretazione I in cui ogni elemento del dominio e l’inter-pretazione di un termine chiuso di ℒ(F ) (cioe tale che per ogni d ∈ DI esiste untermine chiuso t con d = tI).

Considerate l’interpretazione I che ha come dominio l’insieme dei termini chiusidi ℒ(F ) (DI =

{

f (n)(a) : n ∈ ℕ}

) e che interpreta i simboli del linguaggio nel

modo seguente: aI = a, f I(a) = a, f I(f (n)(a)) = f (n+1)(a), per ogni n ≥ 1,pI =

{

f (n)(a) : n > 0}

. Dimostrate che I ∣= F . Perche questo risultato non e incontraddizione con quanto dimostrato prima?

2. Equivalenza e conseguenza logica

Come gia preannunciato, le definizioni di equivalenza e conseguenza logica sonoanaloghe alle corrispondenti definizioni nel caso proposizionale (definizioni 2.12,2.15 e 2.26)

Definizione 7.25. Siano F e G due formule dello stesso linguaggio ℒ. Diciamo cheF e G sono logicamente equivalenti (in simboli F ≡ G) se per ogni interpretazioneI per ℒ e ogni stato � di I si ha I, � ∣= F se e solo se I, � ∣= G.

Definizione 7.26. Siano F e G due formule dello stesso linguaggio ℒ. Diciamoche G e conseguenza logica di F (in simboli F ∣= G) se per ogni interpretazione Iper ℒ e ogni stato � di I tali che I, � ∣= F si ha I, � ∣= G.

Definizione 7.27. Siano Γ e G un insieme di formule ed una formula dello stessolinguaggio ℒ. Diciamo che G e conseguenza logica di Γ (e scriviamo Γ ∣= G) se perogni interpretazione I per ℒ ed ogni stato � di I tale che I, � ∣= Γ si ha I, � ∣= G.Come nel caso proposizionale, ∣= F sta ad indicare ∅ ∣= F .

Nota 7.28. Lo stesso simbolo ∣= viene usato per denotare sia la nozione di soddi-sfazione (definizione 7.8) che quella di conseguenza logica (definizioni 7.26 e 7.27).

E sempre possibile capire con quale delle due nozioni si ha a che fare semplicemen-te guardando cosa compare a sinistra di ∣= (a destra c’e sempre una formula): nelprimo caso un’interpretazione eventualmente affiancata da uno stato, nel secondocaso una formula o un insieme di formule.

Molte proprieta dell’equivalenza e della conseguenza logica viste nel caso propo-sizionale valgono anche nel caso predicativo, spesso con le stesse dimostrazioni: adesempio l’equivalenza logica e una relazione di equivalenza e la conseguenza logicae riflessiva e transitiva.

Il Lemma 7.22 ha la seguente conseguenza espressa in termini di equivalenzalogica.

Corollario 7.29. Due chiusure universali della stessa formula sono logicamen-te equivalenti. Due chiusure esistenziali della stessa formula sono logicamenteequivalenti.

Esempio 7.30. Siano F e G le formule dell’esercizio 7.17. Dimostriamo che F ∣= Ge che quindi non puo esistere un’interpretazione in cui F e vera ma G e falsa.

Sia dunque I un’interpretazione tale che I ∣= F (dato che F e un enunciatopossiamo non utilizzare lo stato): vogliamo dimostrare che I ∣= G. Procediamo perassurdo e supponiamo I ⊭ G, cioe I ∣= ∃x(p(x)∧∀y r(y, x)). Esiste dunque d0 ∈ DI

tale che d0 ∈ pI e per ogni d ∈ DI , (d, d0) ∈ rI . In particolare (d0, d0) ∈ rI e quindi,per uno stato � qualunque, I, �[x/d0] ⊭ p(x) → ¬r(x, x). Dato che I ∣= F , questonon e possibile.

2. EQUIVALENZA E CONSEGUENZA LOGICA 73

L’interpretazione I2 costruita nell’esercizio 7.17 mostra che G ⊭ F (e quindiF ∕≡ G).

L’esempio precedente evidenzia nuovamente come per mostrare che F ⊭ G siasufficiente trovare una interpretazione in cui F e vera, ma G e falsa. Invece permostrare che F ∣= G e necessario considerare tutte le interpretazioni del linguaggioin considerazione (e quindi bisogna ragionare in modo piu astratto).

Esercizio 7.31. Dimostrate:

∀x∀y F ≡ ∀y ∀xF ;∃x∃y F ≡ ∃y ∃xF ;∃y ∀xF ∣= ∀x∃y F ;

∀x∃y r(x, y) ⊭ ∃y ∀x r(x, y) e quindi ∀x∃y F ∣= ∃y ∀xF e falso.

Esercizio 7.32. Dimostrate:

p(c) ∧ ¬p(f(c)) ∣= ¬∀x(p(x) → p(f(x)));

∀y(

p(y) → ¬q(f(y)))

, ∃x(

q(x) ∧ p(f(x)))

∣= ∃x(

q(x) ∧ ¬q(f(f(x))))

;

∃x(p(x) ∧ q(f(x))) ⊭ ∃x(p(x) ∧ q(x));∃x(p(x) ∧ q(f(x))) ∣= ∃x p(x) ∧ ∃x q(x);

∀x(¬p(x) ∨ ∃y q(x, y)), ∃z p(f(z)) ∣= ¬∀y ∀z ¬q(f(z), y).Esercizio 7.33. Stabilite se:

∀x (∃y r(y, x) → ∀y r(x, y)) ∧ ¬r(a, a) ∣= ¬r(f(a), a);∀x (∃y r(y, x) → ∀y r(x, y)) ∧ r(a, a) ∣= r(f(a), a).

I prossimi due esercizi chiedono di provare enunciati che sono identici ad alcuneproprieta dimostrate nel caso proposizionale. Le dimostrazioni nel caso predicativosono sostanzialmente identiche a quelle gia viste, essenzialmente perche non e mainecessario considerare i quantificatori.

Esercizio 7.34. Dimostrate che due formule F e G sono logicamente equivalentise e solo se F ∣= G e G ∣= F (vedere il lemma 2.19).

Esercizio 7.35. Verificate che i lemmi 2.20, 2.23 e 2.29 e l’esercizio 2.30 valgonoanche se le formule coinvolte sono formule predicative.

Diverso e il caso del lemma 2.21 sulla sostituzione di sottoformule, la cui dimo-strazione procedeva per induzione sulla complessita delle formule: ora e necessarioconsiderare anche il caso dei quantificatori.

Lemma 7.36. Se F e una sottoformula di una formula H e F ≡ G allora H ≡ H ′

dove H ′ e la formula ottenuta da H rimpiazzando la sottoformula F con G.

Dimostrazione. La dimostrazione e per induzione sulla complessita delleformule H di cui F e sottoformula.

Quando H e F oppure H non e F ed e una negazione, una congiunzione, unadisgiunzione o un’implicazione si puo ripetere esattamente la dimostrazione dellemma 2.21.

Se H non e F ed e della forma ∀xH0 oppure ∃xH0, per ipotesi induttiva si haH0 ≡ H ′

0. Per ogni interpretazione I, stato � e d ∈ DI si ha che I, �[x/d] ∣= H0 see solo se I, �[x/d] ∣= H ′

0. Questo significa che H ≡ H ′. □

Esempio 7.37. Combinando i lemmi 2.20, 2.23 (validi anche nel caso predicativoper l’esercizio 7.35) e 7.36 e immediato dimostrare che

F ∧ ∃xG→ ¬(¬F ∨ ∀y H) ≡ ¬(∃xG ∧ F ) ∨ (∃y ¬H ∧ F ).

74 7. SEMANTICA DELLA LOGICA PREDICATIVA

Lemma 7.38. Se x non e una variabile libera della formula F allora

F ≡ ∀xF ≡ ∃xF.

Dimostrazione. Immediata dalla definizione 7.8 e dal lemma 7.10. □

Nota 7.39. Per F arbitraria non e vero ne che F ∣= ∀xF (si veda l’esercizio 7.23)ne che ∃xF ∣= F .

3. Il lemma di sostituzione

In questa sezione affrontiamo il problema di stabilire come la relazione (seman-tica) di soddisfazione interagisce con l’operazione (sintattica) di sostituzione.

Iniziamo, come al solito, a considerare il caso dei termini.

Lemma 7.40 (Lemma di Sostituzione per termini). Siano � uno stato di un’inter-pretazione I, x una variabile e t e s due termini. Allora

�(s{x/t}) = �[x/�(t)](s).

Dimostrazione. Per induzione sulla complessita di s (il lettore tenga presentela definizione 6.17).

Se s e un simbolo di costante c, si ha �(c{x/t}) = �(c) = cI = �[x/�(t)](c).Se s e una variabile y diversa da x si ha �(y{x/t}) = �(y) = �[x/�(t)](y).Se s e x si ha �(x{x/t}) = �(t) = �[x/�(t)](x).Se s e f(s1, . . . , sn) allora

�(s{x/t}) = �(f(s1, . . . , sn){x/t})= �(f(s1{x/t}, . . . , sn{x/t}))= f I(�(s1{x/t}), . . . , (�(sn{x/t})))= f I(�[x/�(t)](s1), . . . , �[x/�(t)](sn))

= �[x/�(t)](f(s1, . . . , sn))

= �[x/�(t)](s),

dove nel passaggio dalla terza alla quarta riga si e usata l’ipotesi induttiva. □

Passiamo ora al caso delle formule.

Lemma 7.41. Siano � uno stato di un’interpretazione I, x una variabile, t untermine e F una formula. Se la sostituzione {x/t} e ammissibile in F , allora

I, � ∣= F{x/t} se e solo se I, �[x/�(t)] ∣= F.

Dimostrazione. Per induzione sulla complessita di F (qui bisogna ricordarele definizioni 6.48 e 6.52).

Se F e la formula atomica p(t1, . . . , tn) allora

I, � ∣= F{x/t} se e solo se I, � ∣= p(t1, . . . , tn){x/t}se e solo se I, � ∣= p(t1{x/t}, . . . , tn{x/t})se e solo se (�(t1{x/t}), . . . , �(tn{x/t})) ∈ pI

se e solo se (�[x/�(t)](t1), . . . , �[x/�(t)](tn)) ∈ pI

se e solo se I, �[x/�(t)] ∣= p(t1, . . . , tn)

se e solo se I, �[x/�(t)] ∣= F,

dove nel passaggio dalla terza alla quarta riga abbiamo utilizzato il lemma 7.40.

3. IL LEMMA DI SOSTITUZIONE 75

Se F e G ∨H si ha

I, � ∣= F{x/t} se e solo se I, � ∣= (G ∨H){x/t}se e solo se I, � ∣= (G{x/t} ∨H{x/t})se e solo se I, � ∣= G{x/t} oppure I, � ∣= H{x/t}se e solo se I, �[x/�(t)] ∣= G oppure I, �[x/�(t)] ∣= H

se e solo se I, �[x/�(t)] ∣= G ∨Hse e solo se I, �[x/�(t)] ∣= F,

dove nel passaggio dalla terza alla quarta riga abbiamo utilizzato l’ipotesi induttiva.In modo del tutto analogo si tratta il caso di negazioni, congiunzioni e impli-

cazioni.Se F e ∀y G dobbiamo distinguere due casi.

(i) Se x non e libero in F (in particolare se y e x) si ha che F{x/t} e F e cheI, � ∣= F e equivalente a I, �[x/�(t)] ∣= F per il lemma 7.10.

(ii) Se x e libero in F le variabili y e x sono certamente distinte e inoltre, datoche la sostituzione {x/t} e ammissibile in F , y non occorre in t. Allora

I, � ∣= ∀y G{x/t} se e solo se per ogni d ∈ D, I, �[y/d] ∣= G{x/t}se e solo se per ogni d ∈ D, I, �[y/d][x/�[y/d](t)] ∣= G

se e solo se per ogni d ∈ D, I, �[y/d][x/�(t)] ∣= G

se e solo se per ogni d ∈ D, I, �[x/�(t)][y/d] ∣= G

se e solo se I, �[x/�(t)] ∣= ∀y G,dove nel passaggio dalla prima alla seconda riga abbiamo utilizzato l’ipotesiinduttiva, in quello dalla seconda alla terza riga il fatto che y non occorre in te il lemma 7.6, e in quello dalla terza alla quarta riga che y e x sono distinte(e quindi �[y/d][x/�(t)] e �[x/�(t)][y/d] sono lo stesso stato).

In modo del tutto analogo si tratta il caso della quantificazione esistenziale. □

Esercizio 7.42. Fate i passi induttivi che sono stati omessi nella dimostrazionedel lemma 7.41.

Il lemma di sostituzione ha diverse conseguenze immediate che ci saranno utiliin seguito.

Lemma 7.43. Se y non e libera in F e la sostituzione {x/y} e ammissibile in Fallora

∀xF ≡ ∀y F{x/y} e ∃xF ≡ ∃y F{x/y}.Dimostrazione. Entrambe le affermazioni discendono facilmente dal fatto che

per ogni interpretazione I, stato � di I e d ∈ DI si ha

I, �[y/d] ∣= F{x/y} se e solo se I, �[x/d] ∣= F.

Per verificare questo osserviamo che se x e y sono la stessa variabile non c’enulla da dimostrare, mentre se x e y sono distinte abbiamo

I, �[y/d] ∣= F{x/y} se e solo se I, �[y/d][x/�[y/d](y)] ∣= F

se e solo se I, �[y/d][x/d] ∣= F

se e solo se I, �[x/d] ∣= F,

dove nella prima riga abbiamo utilizzato il lemma di sostituzione e nel passaggiodalla seconda alla terza riga il fatto che y non e libera in F (lemma 7.10). □

Il lemma 7.43 ci permette di giustificare quanto affermato dopo la definizione6.56 a proposito delle varianti.

76 7. SEMANTICA DELLA LOGICA PREDICATIVA

Corollario 7.44. Se y e una variabile che non occorre in F allora F ≡ Fx(y).

Dimostrazione. Immediata dai lemmi 7.43 e 7.36, nonche dalla definizione6.56. □

Il prossimo risultato ci sara utile sia nella discussione dei tableaux predicativiche in quella della deduzione naturale predicativa.

Lemma 7.45. Se F e una formula, t un termine e {x/t} e una sostituzioneammissibile in F , allora ∀xF ∣= F{x/t} e F{x/t} ∣= ∃xF .

Dimostrazione. Se I, � ∣= ∀xF allora si ha I, �[x/d] ∣= F per ogni d ∈ DI ein particolare questo vale per d = �(t). Per il Lemma di Sostituzione 7.41 questosignifica che I, � ∣= F{x/t}.

Se I, � ∣= F{x/t} allora per il Lemma di Sostituzione 7.41 I, �[x/�(t)] ∣= F .Quindi si ha I, � ∣= ∃xF . □

4. Alcune equivalenze logiche notevoli

In questa sezione dimostreremo alcune equivalenze logiche che coinvolgono iquantificatori e sono quindi caratteristiche della logica predicativa.

Iniziamo con l’esaminare l’interazione tra negazione e quantificatori.

Lemma 7.46. Per ogni formula F si ha

¬∀xF ≡ ∃x¬F,¬∃xF ≡ ∀x¬F.

Dimostrazione. La dimostrazione consiste nello stabilire quattro conseguen-ze logiche, due per ogni equivalenza logica da dimostrare.

¬∀xF ∣= ∃x¬F Se I, � ∣= ¬∀xF allora I, � ⊭ ∀xF , e quindi non e vero che

per ogni d ∈ DI si ha I, �[x/d] ∣= F . Esiste dunque d0 ∈ DI tale che I, �[x/d0] ⊭ F ,e quindi tale che I, �[x/d0] ∣= ¬F . Di conseguenza I, � ∣= ∃x¬F .

∃x¬F ∣= ¬∀xF Se I, � ∣= ∃x¬F esiste d0 ∈ DI tale che I, �[x/d0] ∣= ¬F ,cioe I, �[x/d0] ⊭ F . Percio I, � ⊭ ∀xF , e quindi si ha che I, � ∣= ¬∀xF .

¬∃xF ∣= ∀x¬F Se I, � ∣= ¬∃xF allora I, � ⊭ ∃xF . Qualunque sia d ∈ DI ,

si ha allora che I, �[x/d] ⊭ F , cioe I, �[x/d] ∣= ¬F . Di conseguenza I, � ∣= ∀x¬F .∀x¬F ∣= ¬∃xF Se I, � ∣= ∀x¬F allora per ogni d ∈ DI si ha I, �[x/d] ⊭ F .

Non esiste dunque alcun d ∈ DI tale che I, �[x/d] ∣= F e quindi I, � ⊭ ∃xF . Diconseguenza I, � ∣= ¬∃xF . □

Esercizio 7.47. Date una dimostrazione alternativa della seconda equivalenza lo-gica del lemma 7.46, utilizzando la prima equivalenza logica dello stesso lemma, ei lemmi 2.20.1 e 7.36. Iniziate da ¬∃xF ≡ ¬∃x¬¬F .

Passiamo ora a considerare il caso della congiunzione e della disgiunzione.

Lemma 7.48. Siano ∘ uno qualunque di ∧ e ∨ e Q uno qualunque di ∀ e ∃. Perogni formula F , ogni variabile x e ogni formula G in cui x non e libera, si ha

QxF ∘G ≡ Qx(F ∘G),G ∘QxF ≡ Qx(G ∘ F ).

Dimostrazione. Ognuna delle equivalenze logiche contenute nella secondariga segue da quella corrispondente contenuta nella prima riga usando il lemma2.20.2 o 2.20.3 e il lemma 7.36. Restano quindi da dimostrare le quattro equivalenzelogiche (e quindi le otto conseguenze logiche) contenute nella prima riga. Un utileesercizio consiste nel dimostrare autonomamente queste conseguenze logiche.

4. ALCUNE EQUIVALENZE LOGICHE NOTEVOLI 77

∀xF ∧G ∣= ∀x(F ∧G) Se I, � ∣= ∀xF ∧G, allora I, � ∣= ∀xF e I, � ∣= G. Da

I, � ∣= ∀xF si ha che per ogni d ∈ DI , I, �[x/d] ∣= F . Inoltre, da I, � ∣= G, dato chex non e libera inG, si ha anche che I, �[x/d] ∣= G. Di conseguenza I, �[x/d] ∣= F∧G.Poiche questo e vero per ogni d ∈ DI , segue che I, � ∣= ∀x(F ∧G).

∀x(F ∧G) ∣= ∀xF ∧G Se I, � ∣= ∀x(F ∧ G), allora per ogni d ∈ DI si ha

che I, �[x/d] ∣= F e I, �[x/d] ∣= G. Dal fatto che per ogni d ∈ DI si abbiaI, �[x/d] ∣= F , segue che I, � ∣= ∀xF . D’altra parte quando d = �(x), �[x/d] e �,e percio da I, �[x/d] ∣= G, segue che I, � ∣= G. Di conseguenza I, � ∣= ∀xF ∧G.

∀xF ∨G ∣= ∀x(F ∨G) Se I, � ∣= ∀xF ∨G, allora I, � ∣= ∀xF oppure I, � ∣=G. Se I, � ∣= ∀xF , allora per ogni d ∈ DI , I, �[x/d] ∣= F da cui segue che perogni d ∈ DI , I, �[x/d] ∣= F ∨ G e quindi che I, � ∣= ∀x(F ∨ G). D’altro canto seI, � ∣= G, allora per ogni d ∈ DI , I, �[x/d] ∣= G, in quanto x non occorre libera inG. Ne segue anche in questo caso, che per ogni d ∈ DI , I, �[x/d] ∣= F ∨G e quindiche I, � ∣= ∀x(F ∨G).

∀x(F ∨G) ∣= ∀xF ∨G Se I, � ∣= ∀x(F ∨ G) allora dimostreremo che I, � ∣=∀xF ∨G, sia se I, � ∣= G, che se I, � ⊭ G. Se I, � ∣= G, ovviamente I, � ∣= ∀xF ∨G.Se invece I, � ⊭ G, per ogni d ∈ DI , I, �[x/d] ⊭ G, in quanto x non occorre liberain G. Poiche per ogni d ∈ DI , I, �[x/d] ∣= F ∨ G, ne segue che per ogni d ∈ DI ,I, �[x/d] ∣= F . Quindi I, � ∣= ∀xF da cui segue che I, � ∣= ∀xF ∨G.

∃xF ∧G ∣= ∃x(F ∧G) Se I, � ∣= ∃xF ∧G, allora I, � ∣= ∃xF e I, � ∣= G. Da

I, � ∣= ∃xF , segue che esiste d0 ∈ DI tale che I, �[x/d0] ∣= F . D’altra parte datoche x non occorre libera in G, si ha I, �[x/d0] ∣= G. Di conseguenza I, �[x/d0] ∣=F ∧G, e quindi I, � ∣= ∃x(F ∧G).

∃x(F ∧G) ∣= ∃xF ∧G Se I, � ∣= ∃x(F ∧ G) allora esiste d0 ∈ DI tale che

I, �[x/d0] ∣= F ∧ G. Percio I, �[x/d0] ∣= F e I, �[x/d0] ∣= G. Da I, �[x/d0] ∣= Fsegue che I, � ∣= ∃xF . Dato che x non e libera in G da I, �[x/d0] ∣= G, segue cheI, � ∣= G. Di conseguenza I, � ∣= ∃xF ∧G.

∃xF ∨G ∣= ∃x(F ∨G) Se I, � ∣= ∃xF ∨G, allora I, � ∣= ∃xF oppure I, � ∣=G. Nel primo caso esiste d0 ∈ DI , tale che I, �[x/d0] ∣= F , e quindi I, �[x/d0] ∣=F∨G, da cui I, � ∣= ∃x(F∨G). Nel secondo caso si ha I, � ∣= F∨G; posto d0 = �(x),� e �[x/d0] e quindi I, �[x/d0] ∣= F ∨ G, da cui segue che I, � ∣= ∃x(F ∨ G).Poiche la conclusione segue in entrambi i casi possibili, possiamo concludere cheI, � ∣= ∃x(F ∨G).

∃x(F ∨G) ∣= ∃xF ∨G Se I, � ∣= ∃x(F ∨G) sia d0 ∈ DI tale che I, �[x/d0] ∣=F ∨G, cioe tale che I, �[x/d0] ∣= F oppure I, �[x/d0] ∣= G. Nel primo caso I, � ∣=∃xF e quindi I, � ∣= ∃xF ∨ G. Nel secondo caso, dato che x non e libera in G, siha I, � ∣= G, da cui segue I, � ∣= ∃xF ∨G. Poiche la conclusione segue in entrambii casi possibili, possiamo concludere che I, � ∣= ∃xF ∨G. □

Esercizio 7.49. Nelle ipotesi del lemma 7.48 giustificate la seguente catena diequivalenze logiche:

∃xF ∨G ≡ ¬¬(∃xF ∨G) ≡ ¬(¬∃xF ∧ ¬G) ≡ ¬(∀x¬F ∧ ¬G) ≡≡ ¬∀x(¬F ∧ ¬G) ≡ ¬∀x¬(F ∨G) ≡ ¬¬∃x(F ∨G) ≡ ∃x(F ∨G).

In questo modo abbiamo dimostrato una delle equivalenze logiche riguardanti ∨ dellemma 7.48 sulla base (tra l’altro) di una delle equivalenze logiche riguardanti ∧dello stesso lemma. Analogamente dimostrate ∀xF ∨ G ≡ ∀x(F ∨ G) attraversouna catena di equivalenze logiche.

Passiamo ora a considerare il caso dell’implicazione.

78 7. SEMANTICA DELLA LOGICA PREDICATIVA

Lemma 7.50. Per ogni formula F , ogni variabile x e ogni formula G in cui x none libera, si ha

∀xF → G ≡ ∃x(F → G), G→ ∀xF≡ ∀x(G→ F ),

∃xF → G ≡ ∀x(F → G), G→ ∃xF≡ ∃x(G→ F ).

Dimostrazione. Questo lemma puo essere dimostrato direttamente conside-rando interpretazioni e stati come fatto per i lemmi 7.46 e 7.48. Ne diamo inveceuna dimostrazione attraverso la costruzione di catene di equivalenze logiche:

∀xF → G ≡ ¬∀xF ∨G ≡ ∃x¬F ∨G ≡ ∃x(¬F ∨G) ≡ ∃x(F → G);

G→ ∀xF ≡ ¬G ∨ ∀xF ≡ ∀x(¬G ∨ F ) ≡ ∀x(G→ F );

∃xF → G ≡ ¬∃xF ∨G ≡ ∀x¬F ∨G ≡ ∀x(¬F ∨G) ≡ ∀x(F → G);

G→ ∃xF ≡ ¬G ∨ ∃xF ≡ ∃x(¬G ∨ F ) ≡ ∃x(G→ F ).

Abbiamo utilizzato i lemmi 7.36, 2.23.3, 7.46 e 7.48. □

Esercizio 7.51. Dimostrate il lemma 7.50 utilizzando interpretazioni e stati (do-vete dimostrare otto conseguenze logiche).

Esempio 7.52. Se F e G sono p(x) e q(x) allora ∀xF ∧G ⊭ ∀x(F ∧G): un’inter-pretazione e uno stato che lo mostrano sono ad esempio DI = {0, 1}, pI = {0, 1},qI = {0}, �(x) = 0.

Esercizio 7.53. Mostrate che ∀x(F∧G) ∣= ∀xF e quindi che ∀x(F∧G) ∣= ∀xF∧G.

Esercizio 7.54. Siano F e G le formule dell’esempio 7.52. Dimostrate:

∃x(F ∧G) ⊭ ∃xF ∧G, ∃xF ∧G ⊭ ∃x(F ∧G),∀x(F ∨G) ⊭ ∀xF ∨G, ∀xF ∨G ⊭ ∀x(F ∨G),∃x(F ∨G) ⊭ ∃xF ∨G, ∃xF ∨G ⊭ ∃x(F ∨G).

In qualche caso e possibile trovare una formula logicamente equivalente checontenga un quantificatore in meno di quella di partenza.

Lemma 7.55. Per ogni formula F e G si ha

∀xF ∧ ∀xG ≡ ∀x(F ∧G),∃xF ∨ ∃xG ≡ ∃x(F ∨G),∀xF → ∃xG ≡ ∃x(F → G).

Dimostrazione. La prima equivalenza logica puo essere dimostrata diretta-mente, mentre per la seconda stabiliamo le due conseguenze logiche.

∀xF ∧ ∀xG ≡ ∀x(F ∧G) I, � ∣= ∀x(F ∧G) se e solo se per ogni d ∈ DI si ha

I, �[x/d] ∣= F e I, �[x/d] ∣= G, se e solo se I, � ∣= ∀xF e I, � ∣= ∀xG, se e solo seI, � ∣= ∀xF ∧ ∀xG.

∃xF ∨ ∃xG ∣= ∃x(F ∨G) Se I, � ∣= ∃xF ∨ ∃xG allora I, � ∣= ∃xF oppure

I, � ∣= ∃xG. Nel primo caso esiste d0 ∈ DI tale che I, �[x/d0] ∣= F , mentre nelsecondo esiste d0 ∈ DI tale che I, �[x/d0] ∣= G. In ogni caso I, �[x/d0] ∣= F ∨ G equindi I, � ∣= ∃x(F ∨G).

∃x(F ∨G) ∣= ∃xF ∨ ∃xG Se I, � ∣= ∃x(F ∨G) allora esiste d0 ∈ DI tale che

I, �[x/d0] ∣= F ∨G e quindi I, �[x/d0] ∣= F oppure I, �[x/d0] ∣= G. Nel primo casoI, � ∣= ∃xF , nel secondo caso I, � ∣= ∃xG; in ogni caso I, � ∣= ∃xF ∨ ∃xG.

5. TRASFORMAZIONE IN FORMA PRENESSA 79

Per dimostrare la terza equivalenza logica osserviamo che

∀xF → ∃xG ≡ ¬∀xF ∨ ∃xG≡ ∃x¬F ∨ ∃xG≡ ∃x(¬F ∨G)≡ ∃x(F → G),

dove i passaggi sono giustificati dalla seconda equivalenza logica, dai lemmi 7.36,7.46 e 2.23.3. □

Esercizio 7.56. Dimostrate l’equivalenza logica nella terza riga del lemma 7.55utilizzando interpretazioni e stati.

Esercizio 7.57. Dimostrate le seguenti conseguenze logiche:

∃x(F ∧G) ∣= ∃xF ∧ ∃xG;∀xF ∨ ∀xG ∣= ∀x(F ∨G);∃xF → ∀xG ∣= ∀x(F → G).

Quando F e p(x) e G e q(x) dimostrate che le conseguenze logiche inverse sonofalse, e quindi le formule non sono logicamente equivalenti.

Nota 7.58. L’esercizio 7.57 mostra che

∃xF ∧ ∃xG ∕≡ ∃x(F ∧G),∀xF ∨ ∀xG ∕≡ ∀x(F ∨G),∃xF → ∀xG ∕≡ ∀x(F → G).

Per memorizzare le equivalenze logiche del lemma 7.55 e utile notare che ∀ e ∃possono essere considerati come estensioni rispettivamente di ∧ e ∨ a tutti gli ele-menti del dominio (∀x p(x) asserisce che p e vera per questo elemento del dominio e

quest’altro, e quest’altro. . . ; ∃x p(x) asserisce che p e vera per questo elemento deldominio oppure per quest’altro, oppure per quest’altro. . . ). Inoltre e bene ricor-dare che → e equivalente a una disgiunzione (lemma 2.23.3) e quindi si comportacome ∨.

5. Trasformazione in forma prenessa

In questa sezione ci occupiamo di trasformare una formula in una ad essa logi-camente equivalente in cui i quantificatori compaiono in una posizione particolare.

Definizione 7.59. Una formula F si dice in forma prenessa se e aperta oppuree della forma Q1x1 . . .Qkxk G, dove G e una formula aperta e Q1, . . . , Qk sonoquantificatori. In questo caso Q1x1 . . . Qkxk (che non e una formula) si dice ilprefisso di F , mentre G e chiamata la matrice di F .

Esempio 7.60. Le formule ∀x∃y ∃z q(x, y, z) e ∃x∀y(p(x) → q(x, f(z))) sono informa prenessa. La formula ∃x p(x) ∧ p(a) non e in forma prenessa.

L’obiettivo di questa sezione e dimostrare il seguente teorema.

Teorema 7.61. Ogni formula F puo essere trasformata in una formula in formaprenessa G che e logicamente equivalente a F .

L’espressione “puo essere trasformata” viene usata anche in questo caso nelsenso in cui e stata usata nell’enunciato del teorema 3.4: stiamo asserendo piu dellasemplice esistenza di G, ed anche il teorema 7.61 verra dimostrato attraverso ladescrizione di un algoritmo che preso come input F , fornisce come output G.

80 7. SEMANTICA DELLA LOGICA PREDICATIVA

Esempio 7.62. Il teorema 7.61 non asserisce l’unicita di G. Ad esempio per ilcorollario 7.29 tutte le chiusure universali della stessa formula G sono logicamenteequivalenti: se G e in forma prenessa le sue chiusure universali sono in formaprenessa. Percio quando G ha almeno due variabili libere abbiamo due formule informa prenessa che sono logicamente equivalenti.

L’algoritmo che descriveremo per dimostrare il teorema 7.61 si basa sulle equi-valenze logiche contenute nei teoremi dimostrati nella sezione precedente, che ver-ranno utilizzate per “estrarre” i quantificatori dall’interno dei connettivi. Prima didescrivere l’algoritmo, vediamo un esempio.

Esempio 7.63. Utilizziamo i lemmi 7.46, 7.48 e 7.50 (nonche il lemma 7.36) pertrasformare in forma prenessa la formula ¬(∀x p(x) → ¬(∃y r(y, y) ∨ ∀z q(z))). Laformula che compare in una riga e logicamente equivalente a quella che comparenella riga precedente in virtu del lemma il cui numero compare sulla destra.

¬(∀x p(x) → ¬(∃y r(y, y) ∨ ∀z q(z)))¬(∀x p(x) → ¬∃y(r(y, y) ∨ ∀z q(z))) 7.48

¬(∀x p(x) → ¬∃y ∀z(r(y, y) ∨ q(z))) 7.48

¬(∀x p(x) → ∀y ¬∀z(r(y, y) ∨ q(z))) 7.46

¬(∀x p(x) → ∀y ∃z ¬(r(y, y) ∨ q(z))) 7.46

¬∀y(∀x p(x) → ∃z ¬(r(y, y) ∨ q(z))) 7.50

¬∀y ∃z(∀x p(x) → ¬(r(y, y) ∨ q(z))) 7.50

¬∀y ∃z ∃x(p(x) → ¬(r(y, y) ∨ q(z))) 7.50

∃y ¬∃z ∃x(p(x) → ¬(r(y, y) ∨ q(z))) 7.46

∃y ∀z ¬∃x(p(x) → ¬(r(y, y) ∨ q(z))) 7.46

∃y ∀z ∀x¬(p(x) → ¬(r(y, y) ∨ q(z))) 7.46.

L’ultima formula e in forma prenessa ed e logicamente equivalente a quella di par-tenza. Notate anche come nell’applicazione delle varie regole abbiamo fatto diversescelte arbitrarie: ad esempio nel primo passo era possibile operare su ∀x oppure su∀z anziche su ∃y.

I lemmi 7.48 e 7.50 non possono essere applicati alla formula q(x)∧∀x p(x) perottenere una sua forma prenessa, perche x e libera in q(x). Per affrontare questoproblema e necessario cambiare la variabile quantificata. Il risultato che formulaprecisamente questa idea e il seguente.

Lemma 7.64. Siano ∘ uno qualunque di ∧ e ∨ e Q uno qualunque di ∀ e ∃. Perogni formula F , ogni variabile x e ogni formula G, se y e una variabile che non elibera ne in F ne in G e la sostituzione {x/y} e ammissibile in F , si ha

QxF ∘G ≡ Qy(F{x/y} ∘G),G ∘QxF ≡ Qy(G ∘ F{x/y}),∀xF → G ≡ ∃y(F{x/y} → G),

G→ ∀xF ≡ ∀y(G→ F{x/y}),∃xF → G ≡ ∀y(F{x/y} → G),

G→ ∃xF ≡ ∃y(G→ F{x/y}).

Dimostrazione. Dimostriamo quanto asserito nella prima riga:

QxF ∘G ≡ QyF{x/y} ∘G ≡ Qy(F{x/y} ∘G),

5. TRASFORMAZIONE IN FORMA PRENESSA 81

dove la prima equivalenza logica e giustificata dal lemma 7.43 (e dal lemma 7.36) ela seconda dal lemma 7.48 (visto che y non e libera in G).

L’asserzione della seconda riga e dimostrata similmente (oppure usando la pri-ma riga, una delle equivalenze del lemma 2.20 e il lemma 7.36), mentre le asserzionidelle altre quattro righe hanno dimostrazioni analoghe, utilizzando il lemma 7.50al posto del lemma 7.48. □

Esempio 7.65. Utilizziamo il lemma 7.64 (nonche il lemma 7.36) per trasformarein forma prenessa la formula ∀x∃y r(x, y) → ∃x∀y r(y, x). La formula che comparein una riga e logicamente equivalente a quella che compare nella riga precedente.

∀x∃y r(x, y) → ∃x∀y r(y, x)∃x(∃y r(x, y) → ∃x∀y r(y, x))∃x∀y(r(x, y) → ∃x∀y r(y, x))∃x∀y ∃z(r(x, y) → ∀y r(y, z))∃x∀y ∃z ∀w(r(x, y) → r(w, z)).

I primi due passaggi sono giustificati dal lemma 7.50, mentre gli ultimi due sfruttanoil lemma 7.64 (visto che sia x che y sono libere in r(x, y)). L’ultima formula e informa prenessa ed e logicamente equivalente a quella di partenza. Notate comeanche in questo caso l’ordine di applicazione delle varie regole e arbitrario: adesempio nel primo passo era possibile operare su ∃x anziche su ∀x.

Possiamo dunque descrivere l’algoritmo che dimostra il teorema 7.61 e cheabbiamo di fatto gia utilizzato negli esempi precedenti. Per farlo ci sara utile laseguente nozione.

Definizione 7.66. Sia F una formula: ad ogni occorrenza di un quantificatorein F associamo un numero naturale, detto il p-grado di quell’occorrenza: esso eil numero di sottoformule di F (inclusa eventualmente F stessa) che contengonoquell’occorrenza del quantificatore e che sono negazioni, congiunzioni, disgiunzionioppure implicazioni (cioe non sono quantificazioni). Il p-grado di F e la somma deip-gradi di tutte le occorrenze di quantificatori in F .

L’osservazione cruciale riguardo al p-grado e contenuta nel seguente lemma.

Lemma 7.67. Una formula e in forma prenessa se e solo se il suo p-grado e 0.

Dimostrazione. Se F e Q1x1 . . .Qkxk G con G formula aperta e Q1, . . . , Qk

sono quantificatori, allora le sottoformule di F che contengono un quantificatoresono solo le Qixi . . . Qkxk G per i = 1, . . . , k. Percio tutti i quantificatori cheoccorrono in F hanno p-grado 0 e F ha p-grado 0.

Se F ha p-grado 0 tutte le sue sottoformule che contengono un quantificatoreiniziano con un quantificatore. Questo significa che in F non esistono sottoformuledi nessuno dei seguenti tipi: ¬QxF , QxF ∘G, G∘QxF , dove Q e ∀ oppure ∃, e ∘ euno di ∧, ∨ e→. In altre parole i connettivi si applicano solamente a formule aperte,e quindi i quantificatori sono tutti piu esterni dei connettivi. Questo significa cheF e in forma prenessa. □

Algoritmo 7.68. L’algoritmo per la trasformazione in forma prenessa prende in in-put una formulaH e ad ogni passo produce una formula H ′ logicamente equivalentea H .

Se H ′ e in forma prenessa allora l’algoritmo si arresta.Se H ′ non e in forma prenessa allora il suo p-grado e positivo ed esiste una

sottoformula di H ′ di uno dei seguenti tipi: ¬QxF , QxF ∘G, G∘QxF , dove Q e ∀oppure ∃, e ∘ e uno di ∧, ∨ e →. Fissata questa sottoformula si ottiene una nuova

82 7. SEMANTICA DELLA LOGICA PREDICATIVA

formula H ′′ sostituendo questa sottoformula con una formula ad essa logicamenteequivalente: nel primo caso questa formula e fornita dal lemma 7.46; nel secondo enel terzo caso se x non e libera in G dal lemma 7.48 o dal lemma 7.50, mentre se xe libera in G si sceglie una variabile y che non compare in H ′ e si utilizza il lemma7.64.

La formula H ′′ cosı ottenuta e logicamente equivalente a H ′ (e quindi a H) peril lemma utilizzato nella sostituzione e per il lemma 7.36.

Esempio 7.69. Utilizziamo l’algoritmo 7.68 per ottenere tre diverse formule informa prenessa logicamente equivalenti alla formula ∃x p(x) → ∀x∃y q(x, y).

∃x p(x) → ∀x∃y q(x, y) ≡ ∀x(p(x) → ∀x∃y q(x, y))≡ ∀x∀z(p(x) → ∃y q(z, y))≡ ∀x∀z ∃y(p(x) → q(z, y)).

∃x p(x) → ∀x∃y q(x, y) ≡ ∀x(∃x p(x) → ∃y q(x, y))≡ ∀x∀z(p(z) → ∃y q(x, y))≡ ∀x∀z ∃y(p(z) → q(x, y)).

∃x p(x) → ∀x∃y q(x, y) ≡ ∀x(∃x p(x) → ∃y q(x, y))≡ ∀x∃y(∃x p(x) → q(x, y))

≡ ∀x∃y ∀z(p(z) → q(x, y)).

Vedremo piu avanti (commento dopo la dimostrazione del lemma 7.72) come non siaun caso che le diverse esecuzioni dell’algoritmo 7.68 a partire dalla stessa formulaterminino dopo lo stesso numero di passi.

Esercizio 7.70. Utilizzate l’algoritmo 7.68 per trasformare in forma prenessa leseguenti formule:

(∀x∃y r(x, y) → ∃x∀y r(y, x)) ∧ ∀z p(w, z);∃x (∃y ∀x (r(x, y) ∧ p(f(x, y))) ∨ ¬ (∀x∃y s(x, y) → ¬∃x p(x))) ;

(∃y q(y) ∨ ∃y ¬r(y, y) → ∀x r(c, x) ∧ ∀x p(x)) ∨ ¬∃x r(c, x).

Esercizio 7.71. Dimostrate che la formula dell’esempio 7.65 e logicamente equi-valente alla formula in forma prenessa ∃x∃z ∀y ∀w(r(z, y) → r(w, x)).

Abbiamo descritto l’algoritmo per la forma prenessa 7.68 e abbiamo osservatoche se arriva a una formula in forma prenessa, e quindi si arresta, allora la formu-la finale e logicamente equivalente alla formula da cui sono partiti. Cio che nonabbiamo ancora dimostrato, ma stiamo per fare, e che esso si arresta sempre.

Lemma 7.72. L’algoritmo 7.68 gode della proprieta della terminazione forte, cioetermina qualunque sia la formula su cui si decide di operare ad ogni singolo passo.

Dimostrazione. Basta osservare che ogni passo dell’algoritmo abbassa di 1 ilp-grado della formula ottenuta: percio l’algoritmo non puo compiere infiniti passima deve terminare. □

La dimostrazione del lemma 7.72 ci permette di calcolare esattamente il numerodi passi necessario all’algoritmo 7.68 per terminare: esso e il p-grado della formulainiziale.

Possiamo riassumere il nostro lavoro sulla trasformazione in forma prenessa conla

5. TRASFORMAZIONE IN FORMA PRENESSA 83

Dimostrazione del teorema 7.61. Data una formula F applichiamo a par-tire da F l’algoritmo 7.68. Per il lemma 7.72 esso termina, producendo una formuleG in forma prenessa che e logicamente equivalente a F . □

L’algoritmo 7.68 ci fornisce un metodo per trasformare ogni formula in unaformula in forma prenessa ad essa logicamente equivalente. Utilizzando il Lemma7.55 e pero possibile migliorare i suoi risultati, in particolare ottenendo formulein forma prenessa logicamente equivalenti a quella di partenza con un prefisso piubreve (cioe un minor numero di quantificatori) di quelle ottenute con l’algoritmo7.68.

Esempio 7.73. Utilizziamo il lemma 7.55 per trasformare in forma prenessa uti-lizzando meno quantificatori possibili la formula ∃x∀y r(x, y) ∨ ∃x∀y q(x, y).

∃x∀y r(x, y) ∨ ∃x∀y q(x, y) ≡ ∃x(∀y r(x, y) ∨ ∀y q(x, y))≡ ∃x∀y(r(x, y) ∨ ∀y q(x, y))≡ ∃x∀y ∀z(r(x, y) ∨ q(x, z)).

La prima equivalenza logica e giustificata dal lemma 7.55, mentre successivamentenon e piu stato possibile utilizzare questo lemma e si sono sfruttati i lemmi 7.48 e7.64.

Ripetiamo la stessa operazione con ∃x∀y r(x, y) ∧ ∃x∀y q(x, y)∃x∀y r(x, y) ∧ ∃x∀y q(x, y) ≡ ∃x(∀y r(x, y) ∧ ∃x∀y q(x, y))

≡ ∃x∃z(∀y r(x, y) ∧ ∀y q(z, y))≡ ∃x∃z ∀y(r(x, y) ∧ q(z, y)).

In questo caso si sono sfruttati i lemmi 7.48 e 7.64 per le prime due equivalenze,mentre il lemma 7.55 giustifica l’ultima equivalenza logica.

La seconda trasformazione dell’esempio 7.73 evidenzia come per poter sfruttareil lemma 7.55 sia necessario intervenire in un ordine opportuno sui vari quantifica-tori: se dopo la prima equivalenza si fosse operato sul quantificatore ∀y del primocongiunto, l’opportunita di usare successivamente il lemma 7.55 sarebbe sfumata ela formula in forma prenessa finale avrebbe contenuto quattro quantificatori.

Il lemma 7.55 si limita a considerare il caso in cui la variabile su cui si effettuala quantificazione sia la stessa in entrambe le sottoformule della formula in consi-derazione. Esso puo venir agevolmente generalizzato al caso in cui le due variabilisiano diverse.

Lemma 7.74. Se z e una variabile che non occorre libera ne in ∀xF (equivalen-temente, in ∃xF ) ne in ∀y G (equivalentemente, in ∃y G) e le sostituzioni {x/z} e{y/z} sono ammissibili rispettivamente in F e in G allora:

∀xF ∧ ∀y G ≡ ∀z(F{x/z} ∧G{y/z}),∃xF ∨ ∃y G ≡ ∃z(F{x/z} ∨G{y/z}),∀xF → ∃y G ≡ ∃z(F{x/z} → G{y/z}).

Dimostrazione. Le tre equivalenze logiche si ottengono in modo simile. Atitolo di esempio consideriamo la terza equivalenza logica:

∀xF → ∃y G ≡ ∀z F{x/z} → ∃z G{y/z} ≡ ∃z(F{x/z} → G{y/z}),dove la prima equivalenza e giustificata dal lemma 7.43 (e dal lemma 7.36), mentrela seconda equivalenza sfrutta l’equivalenza corrispondente del lemma 7.55. □

Spesso nelle applicazioni del lemma 7.74 la variabile z puo essere scelta comex oppure y.

84 7. SEMANTICA DELLA LOGICA PREDICATIVA

Esempio 7.75. Consideriamo nuovamente la formula dell’esempio 7.63 ed utiliz-ziamo il lemma 7.74 per trasformarla in forma prenessa usando il minimo numerodi quantificatori. Per diminuire la lunghezza dell’esempio effettuiamo piu passaggisimultaneamente:

¬(∀x p(x) → ¬(∃y r(y, y) ∨ ∀z q(z))) ≡ ¬(∀x p(x) → ¬∃y ∀z(r(y, y) ∨ q(z)))≡ ¬(∀x p(x) → ∀y ∃z ¬(r(y, y) ∨ q(z)))≡ ¬∀y(∀x p(x) → ∃z ¬(r(y, y) ∨ q(z)))≡ ¬∀y ∃x(p(x) → ¬(r(y, y) ∨ q(x)))≡ ∃y ∀x¬(p(x) → ¬(r(y, y) ∨ q(x))).

Nel passaggio dalla terza alla quarta riga abbiamo utilizzato il lemma 7.74, sce-gliendo come variabile x.

Esercizio 7.76. Mettete le formule dell’esempio 7.65 e dell’esercizio 7.70 in formaprenessa, usando il minimo numero di quantificatori possibili.

6. Validita e soddisfacibilita

Le definizioni di validita e soddisfacibilita sono analoghe alle corrispondentidefinizioni nel caso proposizionale (definizioni 2.31 e 2.40).

Definizione 7.77. Se F e una formula diciamo che

∙ F e valida se F e soddisfatta da ogni interpretazione per ℒ(F );∙ F e soddisfacibile se F e soddisfatta da qualche interpretazione per ℒ(F );∙ F e insoddisfacibile se non esiste un’interpretazione per ℒ(F ) che soddisfaF .

Se Γ e un insieme di formule diciamo che

∙ Γ e valido se ogni interpretazione per ℒ(Γ) soddisfa Γ, cioe soddisfa ogniF ∈ Γ;

∙ Γ e soddisfacibile se qualche interpretazione per ℒ(Γ) soddisfa Γ, cioesoddisfa ogni F ∈ Γ;

∙ Γ e insoddisfacibile se ogni interpretazione per ℒ(Γ) non soddisfa Γ, cioenon soddisfa qualche F ∈ Γ (F puo dipendere dall’interpretazione).

Come nel caso proposizionale sia per singole formule che per insiemi di formuleessere insoddisfacibile e equivalente a non essere soddisfacibile.

Esempio 7.78. La formula p(a) ∨ ¬p(a) e valida. La formula p(a) ∧ ¬p(a) einsoddisfacibile. La formula p(a) e soddisfacibile ma non valida. ∀x p(x) → p(a) ep(a) → ∃x p(x) sono valide, ∃x p(x)∧ ∀x¬p(x) e insoddisfacibile. p(a)∧∃x¬p(x) esoddisfacibile ma non valida.

Piu in generale, per ogni F le formule ∀xF → F{x/a} e F{x/a} → ∃xF sonovalide, mentre ∃xF ∧ ∀x¬F e insoddisfacibile.

Nota 7.79. Come gia nel caso proposizionale un insieme di formule e valido se esolo se tutti i suoi elementi sono validi. La proprieta analoga non e vera pero persoddisfacibilita e insoddisfacibilita.

Esercizio 7.80. Dimostrate che ogni formula atomica e soddisfacibile e non valida.

Esempio 7.81. Verifichiamo che l’enunciato

∃x p(x) ∧ ∀x(p(x) → ∀y q(x, y)) → ∃x q(x, x).e valido.

A questo scopo consideriamo una qualunque interpretazione I per il linguaggio{p, q} con p simbolo di relazione unario e q simbolo di relazione binario. Se I ∣=

6. VALIDITA E SODDISFACIBILITA 85

∃x p(x) ∧ ∀x(p(x) → ∀y q(x, y)) esiste d0 ∈ DI tale che d0 ∈ pI e per qualunquestato � di I si ha I, �[x/d0] ∣= p(x) → ∀y q(x, y). Questi due fatti implicano cheper qualunque d ∈ DI si ha (d0, d) ∈ qI e quindi in particolare che (d0, d0) ∈ qI .Percio I ∣= ∃x q(x, x).

Abbiamo quindi verificato che se I ∣= ∃x p(x) ∧ ∀x(p(x) → ∀y q(x, y)) alloraI ∣= ∃x q(x, x), cioe che per qualunque I si ha

I ∣= ∃x p(x) ∧ ∀x(p(x) → ∀y q(x, y)) → ∃x q(x, x).Molte proprieta viste nel caso proposizionale si trasferiscono a quello predicativo

senza alcuna difficolta. Ad esempio l’enunciato del seguente teorema e uguale aquello del teorema 2.35 (ma ora stiamo parlando di formule predicative, e nonproposizionali).

Teorema 7.82. Sia F una formula:

(a) F e valida se e solo se ¬F e insoddisfacibile;(b) F e insoddisfacibile se e solo se ¬F e valida.

Esercizio 7.83. Verificate che i lemmi 2.38, 2.41 e 2.45 valgono anche se le formulecoinvolte sono formule predicative.

Il prossimo lemma sara utile nella discussione dei tableaux predicativi delcapitolo 10.

Lemma 7.84. Siano Γ un insieme di formule, F una formula e a una costanteche non compare ne in Γ ne in F . Se Γ, ∃xF e soddisfacibile allora Γ, F{x/a} esoddisfacibile.

Dimostrazione. Siano I e � un’interpretazione e uno stato che soddisfanoΓ, ∃xF . Dato che I, � ∣= ∃xF esiste d0 ∈ DI tale che I, �[x/d0] ∣= F . Definiamo

un’interpretazione I ′ con DI′

= DI , interpretando in I ′ tutti simboli di costante,funzione e relazione diversi da a come sono interpretati in I e ponendo aI

= d0.Dato che a non compare ne in Γ ne in F per il lemma 7.10 si ha I ′, � ∣= Γ e

I ′, �[x/aI′

] ∣= F . Per il Lemma di Sostituzione 7.41 (ricordando che �(a) = aI′

)abbiamo anche I ′, � ∣= F{x/a}. Quindi I ′ e � mostrano la soddisfacibilita diΓ, F{x/a}. □

Nota 7.85. L’ipotesi su a del lemma 7.84 e necessaria, come testimoniato dal casoin cui Γ = {¬p(a)} e F e p(x): {¬p(a), ∃x p(x)} e soddisfacibile, ma {¬p(a), p(a)}e insoddisfacibile.

Esercizio 7.86. Dimostrate la validita dei seguenti enunciati:

∀x(p(x) → q(f(x))) ∧ ∃x p(x) → ∃x q(x)∃x∀y r(x, y) → ∀y ∃x r(x, y);

(★)∃x(p(f(x)) → p(x));

(★)¬∃x∀y((r(x, y) → ¬r(y, y)) ∧ (r(y, y) → ¬r(x, y))).Esercizio 7.87. Dimostrate che l’enunciato

∀x(

p(x) → (¬q(f(x), x) ∧ ∀y q(x, y)))

∧ ∃x(

p(x) ∧ p(f(x)))

e insoddisfacibile.

Esercizio 7.88. (★) Dimostrate che l’insieme

Γ = {∃x¬p(x)} ∪ { p(z) : z ∈ Var }(Var e l’insieme di tutte le variabili) e soddisfacibile.

86 7. SEMANTICA DELLA LOGICA PREDICATIVA

Esercizio 7.89. Dimostrate che l’enunciato

∀x (∀y(r(x, y) → p(y)) ∧ ∃z¬p(z) → ∃z¬r(x, z))e valido.

Esercizio 7.90. Siano F e G gli enunciati ∀x(p(x) → ¬p(f(x))) e ∃x p(f(x)).Per ognuno dei quattro insiemi {F,G}, {F,¬G}, {¬F,G} e {¬F,¬G} costruite sepossibile un’interpretazione con dominio ℕ. Nell’unico caso in cui cio non e possibiledimostrate che l’insieme e insoddisfacibile.

Esercizio 7.91. L’enunciato ∀y ∃x(q(x, y) → q(y, y)) e valido? Se la risposta epositiva, dimostratelo, se la risposta e negativa, definite un’interpretazione in cuiesso non e soddisfatto.

Esercizio 7.92. Considerate il linguaggio ℒ = {p, r, a}, dove p e un simbolo direlazione unario, r un simbolo di relazione binario e a un simbolo di costante. SiaF l’enunciato

(

∃x∃y r(x, y) ∧ ∀x(r(x, x) → p(x)))

→ p(a).

(a) Dimostrate che F e vero in ogni interpretazione il cui dominio ha un soloelemento.

(b) F e valido?

Esercizio 7.93. (★) Siano F una formula, a un simbolo di costante che non comparein F e x una variabile.

(a) Dimostrate che se F{x/a} e valida allora ∀xF e valida.

(b) E vero che per ogni interpretazione I e stato � vale I, � ∣= F{x/a} se e solo seI, � ∣= ∀xF?

(c) Dimostrate con un controesempio che in (a) l’ipotesi che a non compaia in F enecessaria.

(d) Dal fatto che a occorra in F segue la falsita di (a)?

7. Logica con uguaglianza

Nella sezione 6.7 abbiamo introdotto i linguaggi in cui compare il simbolo =, e aquesto simbolo di relazione binario abbiamo assegnato un ruolo particolare. Questoruolo si riflette nel fatto che per linguaggi con uguaglianza vogliamo restringere lanostra attenzione a interpretazioni in cui = e interpretato “bene”.

Definizione 7.94. Un’interpretazione I per un linguaggio ℒ che comprende ilsimbolo di relazione binario = e detta interpretazione normale, se = e interpretatacome la relazione di identita su DI , vale a dire se =I e

{

(d, d) : d ∈ DI}

.

Un esempio di interpretazione normale e quello dell’esempio 7.13.Nel descrivere un’interpretazione normale e abituale indicare, oltre al dominio

dell’interpretazione, solo le interpretazioni dei simboli diversi da =.

Convenzione 7.95. Se scriviamo I, � ∣== F intendiamo dire che I, � ∣= F e che Ie un’interpretazione normale.

Il prossimo lemma stabilisce un legame tra le interpretazioni normali e l’insiemedi enunciati Eqℒ introdotto nella definizione 6.61. Esso afferma che Eqℒ esprimealcune delle proprieta fondamentali dei linguaggi con uguaglianza.

Lemma 7.96. Se I e un’interpretazione normale per ℒ ∪ {=} allora I ∣== Eqℒ.

Dimostrazione. Immediata, ispezionando la definizione 6.61. □

7. LOGICA CON UGUAGLIANZA 87

Esempio 7.97. L’inverso del lemma 7.96 non e vero, cioe non e vero che se un’in-terpretazione I e un modello di Eqℒ allora I e normale (si veda pero il corollario9.28).

L’interpretazione I per il linguaggio con uguaglianza ℒ = {p,=} definita daDI = {A,B,C}, pI = {A,C}, =I= {(A,A), (B,B), (C,C), (A,C), (C,A)} non enormale, ma e facile verificare (fatelo!) che I ∣= Eqℒ.

Usando le interpretazioni normali e possibile definire una semantica per la lo-gica con uguaglianza: essa e del tutto analoga alla semantica definita nelle sezioniprecedenti per linguaggi arbitrari (quest’ultima viene chiamata semantica per lalogica pura), ma con la restrizione che vengono prese in considerazione solamentele interpretazioni normali.

Definizione 7.98. Siano Γ e G un insieme di formule ed una formula dello stessolinguaggio ℒ. Diciamo che G e conseguenza logica nella logica con uguaglianza di Γ(e scriviamo Γ ∣== G) se per ogni interpretazione normale I per ℒ ed ogni stato �di I tale che I, � ∣== Γ si ha anche I, � ∣== G. Se Γ = {F} allora scriviamo F ∣== Ge diciamo che G e conseguenza logica nella logica con uguaglianza di F . Diciamoche F e G sono logicamente equivalenti nella logica con uguaglianza (e scriviamoF ≡= G) se F ∣== G e G ∣== F .

Esempio 7.99. Se Γ e F sono un insieme di formule ed una formula del linguaggiocon uguaglianza ℒ e si ha Γ ∣= F , allora Γ ∣== F . Infatti per stabilire che Γ ∣= Fbisogna prendere in considerazione tutte le interpretazioni per ℒ, e tra di esse cisono anche tutte quelle normali.

Se invece sappiamo che Γ ∣== F non possiamo concludere che Γ ∣= F . Ad

esempio ∣== a = a (perche in ogni interpretazione normale I si ha (aI , aI) ∈ =I),

ma ∕∣= a = a (e facile costruire un’interpretazione non normale in cui (aI , aI) /∈ =I).

Esercizio 7.100. Dimostrare che p(a),¬p(b) ∣== a ∕= b e che p(a),¬p(b) ⊭ a ∕= b.

Definizione 7.101. Sia F una formula.

∙ F e valida nella logica con uguaglianza se per ogni interpretazione normaleI per ℒ(F ) si ha I ∣== F ;

∙ F e soddisfacibile nella logica con uguaglianza se per qualche interpreta-zione normale I per ℒ(F ) e qualche stato � di I si ha I, � ∣== F ;

∙ F e insoddisfacibile nella logica con uguaglianza se per ogni interpretazionenormale I per ℒ(F ) e ogni stato � di I si ha I, � ∕∣== F .

Esercizio 7.102. Rispondete alle seguenti domande, fornendo dei controesempi sela risposta e negativa:

(a) Se F e valida nella logica con uguaglianza allora F e valida?(b) Se F e valida allora F e valida nella logica con uguaglianza?(c) Se F e soddisfacibile nella logica con uguaglianza allora F e soddisfacibile?(d) Se F e soddisfacibile allora F e soddisfacibile nella logica con uguaglianza?(e) Se F e insoddisfacibile nella logica con uguaglianza allora F e insoddisfacibile?(f) Se F e insoddisfacibile allora F e insoddisfacibile nella logica con uguaglianza?

Esempio 7.103. SiaH1 l’enunciato ∀x∀y x = y. Si verifica facilmente che I ∣== H1

se e solo se DI ha esattamente un elemento (ricordate che DI e sempre non vuoto).Siano F2 e G2 gli enunciati ∃x∃y x ∕= y e ∀x∀y ∀z(x = y ∨ x = z ∨ y = z).

In questo caso si ha che I ∣== F2 se e solo se DI ha almeno due elementi, mentre

I ∣== G2 se e solo se DI ha al piu due elementi. Percio I ∣== F2 ∧ G2 se e solo se

DI ha esattamente due elementi. Se H2 e ∃x∃y(x ∕= y ∧ ∀z(z = x ∨ z = y)) si haH2 ≡= F2 ∧G2 e quindi I ∣== H2 se e solo se DI ha esattamente due elementi.

88 7. SEMANTICA DELLA LOGICA PREDICATIVA

Piu in generale, per ogni n > 0 si possono scrivere enunciati (sempre piu lunghial crescere di n) Fn, Gn e Hn tali che I ∣== Fn se e solo se DI ha almeno n elementi,

I ∣== Gn se e solo se DI ha al piu n elementi, I ∣== Fn ∧ Gn se e solo se I ∣== Hn

se e solo se DI ha esattamente n elementi.

Esercizio 7.104. Nella notazione dell’esempio 7.103 scrivete gli enunciati F3, G3

e H3.

L’esempio 7.103 mostra come nella logica con uguaglianza sia possibile in uncerto senso “contare” gli elementi del dominio. Questo resta possibile fino a che siha a che fare con interpretazioni con dominio di cardinalita finita e fissata. E infattipossibile dimostrare (con metodi che esulano dall’ambito di questo corso) che nonesiste una formula F tale che I ∣== F se e solo se DI e finito.

Esempio 7.105. Sia ℒ un linguaggio con uguaglianza che contenga un simbolo direlazione unario p. La formula ∃x(p(x) ∧ ∀y(p(y) → y = x)) asserisce che esisteesattamente un elemento che soddisfa p. La formula ∃x∃y(x ∕= y ∧ p(x) ∧ p(y))asserisce che esistono almeno due elementi che soddisfano p.

Esercizio 7.106. Nel linguaggio dell’esempio precedente, scrivete una formula cheasserisce che esistono esattamente due elementi che soddisfano p.

Esercizio 7.107. Sia ℒ = {=, p} con p simbolo di relazione unario. Per ogninumero naturale n > 1, scrivete una formula Fn tale che se I e un’interpretazionenormale per ℒ, si ha

I ∣== Fn se e solo sepI ha almeno n elementi e

DI ∖ pI ha almeno n elementi.

Esercizio 7.108. Nel linguaggio con uguaglianza che, oltre a =, contiene un sim-bolo funzionale unario f e un simbolo relazionale binario r scrivete un enunciatoF che traduce “ogni elemento nell’immagine di f e in relazione r con se stesso, manulla e in relazione r con la sua immagine secondo f”. Dimostrate che

F ∣== ∀x f(x) ∕= x.

Esercizio 7.109. Nella logica con uguaglianza per il linguaggio ℒ con simbolirelazionali unari p e q scrivete enunciati F , G e H tale che per ogni interpretazionenormale I per ℒ si abbia che:

(i) I ∣== F se e solo se esiste almeno un elemento del dominio che non soddisfane p ne q;

(ii) I ∣== G se e solo se esiste al piu un elemento del dominio che soddisfa q;(iii) I ∣== H se e solo se esistono esattamente tre elementi del dominio che soddi-

sfano uno solo tra p e q.

Definite un’interpretazione normale che soddisfa le tre formule trovate e ha dominiodi cardinalita minima possibile.

CAPITOLO 8

Traduzioni dal linguaggio naturale

In questo capitolo ci occuperemo di tradurre frasi del linguaggio naturale (nelnostro caso, l’italiano) in formule logiche e viceversa. Il problema analogo perla logica proposizionale e stato trattato nella sezione 5 del capitolo 2: la ricchezzaespressiva della logica predicativa ci permette di tradurre in modo piu preciso moltefrasi del linguaggio naturale.

Il metodo migliore per familiarizzarsi con queste traduzioni e naturalmentela pratica. Per questa ragione questo capitolo (cosı come la sezione 2.5) consisteprevalentemente di esempi ed esercizi.

Anche nel caso predicativo la traduzione dal linguaggio formale al linguaggionaturale non presenta in genere difficolta, mentre la direzione inversa e spesso piudelicata.

1. Traduzioni di frasi

Esempio 8.1. Sia {a, b, v, d} un linguaggio in cui a e b sono simboli di costante(da interpretarsi rispettivamente come “Andrea” e “Bruna”) e v e d sono simbolidi relazione unari (v(x) da interpretarsi come “x va alla festa”, d(x) come “x sidiverte”).

La formula v(b)∧d(b) → ¬v(a) viene interpretata come “se Bruna va alla festae si diverte allora Andrea non va alla festa”.

La frase “Andrea va alla festa e Bruna no, oppure Andrea va alla festa e Brunasi diverte” viene tradotta nella formula (v(a) ∧ ¬v(b)) ∨ (v(a) ∧ d(b)).

La formula ∃x(v(x) ∧ ¬d(x)) viene interpretata come “qualcuno va alla festa enon si diverte” oppure “c’e qualcuno che non si diverte, pur andando alla festa”.

La frase “tutti quelli che vanno alla festa si divertono” viene tradotta nellaformula ∀x(v(x) → d(x)), che traduce anche “chi va alla festa si diverte”.

Nota 8.2. Per tradurre in un linguaggio proposizionale la prima frase dell’esempio8.1 avremmo scelto alcune lettere proposizionali (ad esempio p per “Bruna va allafesta”, q per “Bruna si diverte” e r per “Andrea va alla festa”) e la traduzionesarebbe stata p ∧ q → ¬r. In questa formula proposizionale non c’e traccia ne delfatto che Bruna e l’oggetto delle prime due affermazioni atomiche ne del fatto cheAndrea non fa cio che fa Bruna (divertirsi).

L’espressivita della logica predicativa emerge quindi anche se non si usano quan-tificatori, ma e ancora piu evidente nel caso di espressioni che riguardano la tota-lita degli oggetti considerati: l’unico modo per tradurre “tutti quelli che vannoalla festa si divertono” nella logica proposizionale e quello di introdurre una letteraproposizionale che corrisponda a questa affermazione!

Esempio 8.3. Utilizziamo il linguaggio {m, d, c, s} dove m e d sono simboli direlazione unari (m(x) sta per “x e un malato”, d(x) sta per “x e un dottore”) e ce s sono simboli di relazione binari (c(x, y) sta per “x cura y” e s(x, y) sta per “xstima y”).

“Ogni malato non stima se stesso” e tradotto da

∀x(m(x) → ¬s(x, x)).89

90 8. TRADUZIONI DAL LINGUAGGIO NATURALE

“Ci sono dottori che curano se stessi” e tradotto da

∃x(d(x) ∧ c(x, x)).“Qualche malato stima tutti i dottori che lo curano” e tradotto da

∃x(m(x) ∧ ∀y(d(y) ∧ c(y, x) → s(x, y))).

“Tutti i malati stimano almeno un dottore che li cura” e tradotto da

∀x(m(x) → ∃y(d(y) ∧ c(y, x) ∧ s(x, y))).Notate come l’ultima formula sia logicamente equivalente (per il lemma 7.50) a

∀x∃y(m(x) → d(y) ∧ c(y, x) ∧ s(x, y)),che puo quindi essere considerata un’altra traduzione corretta della frase in esame.

Nota 8.4. Questi esempi evidenziano come ∀ e spesso abbinato ad una implicazione(l’antecedente dell’implicazione restringe l’ambito degli elementi a cui si applica il ∀,nel caso della prima frase dell’esempio 8.3 ai malati), mentre ∃ spesso precede unacongiunzione (l’elemento di cui si asserisce l’esistenza ha spesso diverse proprieta,nel caso della seconda frase oltre ad essere un dottore ha la caratteristica di curarese stesso).

Se in una traduzione ci si trova ad avere una quantificazione universale diuna congiunzione, o una quantificazione esistenziale di un’implicazione, e benecontrollare accuratamente il significato della frase in esame.

Esercizio 8.5. Consideriamo il linguaggio {s, c, f, u}, dove s, c e f sono simboli direlazione unari (da interpretarsi come “x e uno studente”, “x e un computer” e “xe funzionante”) mentre u e un simbolo di relazione binario (da interpretarsi come“x utilizza y”). Considerate le seguenti frasi:

(i) Un computer non e utilizzato da nessuno studente.(ii) Ogni computer funzionante e utilizzato da almeno uno studente.(iii) Non tutti i computer sono funzionanti.

Quale dei seguenti enunciati e una traduzione di (i)?

∃x(c(x) ∧ ∀y(¬s(y) ∧ ¬u(y, x)));∃x(c(x) → ∀y(s(y) → ¬u(y, x)));∃x(c(x) ∧ ∀y(s(y) → ¬u(y, x))).

Qual e il significato degli altri enunciati? Traducete (ii) e (iii).

Per ora abbiamo considerato solo linguaggi privi di simboli di funzione. Eccoun linguaggio con simboli di funzione.

Esempio 8.6. Sia {c, p, r, s} un linguaggio in cui c e un simbolo di costante, p e unsimbolo di funzione unario, r e s sono simboli di relazione binari. Interpretiamo ccome “Claudio”, p(x) come “il padre di x”, r(x, y) come “x e parente di y” e s(x, y)come “x stima y”.

“Tutti i parenti di Claudio stimati da Claudio, sono stimati anche dal padre diClaudio” e tradotta da

∀x(r(x, c) ∧ s(c, x) → s(p(c), x)).

“Claudio stima se stesso e tutti quelli che stimano suo padre, ma non stimasuo padre” e tradotta da

s(c, c) ∧ ∀x(s(x, p(c)) → s(c, x)) ∧ ¬s(c, p(c)).“Claudio stima solo quelli che stimano il loro nonno paterno” e tradotta da

∀x(s(c, x) → s(x, p(p(x)))).

1. TRADUZIONI DI FRASI 91

Esempio 8.7. Sia {b, f, p, c, g, a} un linguaggio dove b e f sono simboli di costante,p e un simbolo di funzione unario, c e g sono simboli di relazione unari, e a e unsimbolo di relazione binario. Interpretiamo b come “Bobi”, f come “Fifı”, p(x)come “il padrone di x”, c(x) come “x e un cane”, g(x) come “x e un gatto”, a(x, y)come “x ama y”.

“Bobi non ama il padrone di Fifı” e tradotta da

¬a(b, p(f)).“Tutti i cani e i gatti amano i loro padroni” e tradotta da

∀x(c(x) ∨ g(x) → a(x, p(x))).

Notiamo come “e” sia stato tradotto da ∨: l’enunciato∀x(c(x) ∧ g(x) → a(x, p(x)))

corrisponde all’affermazione “tutti coloro che sono sia cane che gatto amano i loropadroni”, che ha un significato ben diverso.

“Tutti i cani non amano i padroni di un gatto” e tradotta da

∀x(c(x) → ∀y(g(y) → ¬a(x, p(y)))),oppure da

∀x∀y(c(x) ∧ g(y) → ¬a(x, p(y)))(i due enunciati sono logicamente equivalenti).

Esercizio 8.8. Formalizzate “se ogni sorella di Gianni litiga con almeno una sorelladi Fabio, il miglior amico di Gianni litiga con il miglior amico di Fabio” utilizzandoil linguaggio {g, f, s,m, l} dove g, f sono costanti (che denotano rispettivamente“Gianni” e “Fabio”), m e un simbolo di funzione unario (m(x) sta per “il miglioramico di x”), s e l sono simboli di relazione binari (s(x, y) sta per “x e sorella diy” e l(x, y) sta per “x litiga con y”).

Esempio 8.9. Utilizziamo il linguaggio dell’esempio 6.4. Ecco alcune traduzioni:

(a) “esistono numeri reali il cui seno e coseno coincidono”

∃x sin(x) = cos(x);

(b) “il seno di un numero reale e minore del coseno di un altro numero reale”

∃x∃y(x ∕= y ∧ sin(x) < cos(y)).

Esercizio 8.10. Traducete le frasi seguenti utilizzando il linguaggio dell’esempio6.5:

(a) “la successione vuota e segmento iniziale di ogni successione”;(b) “ogni successione e segmento iniziale della sua concatenazione con un’altra

successione”;(c) “ogni successione e segmento iniziale della sua concatenazione con un’altra

successione o con se stessa”;(d) “esistono due successioni che non sono l’una segmento iniziale dell’altra”;(e) “qualche successione ha tutte le successioni come segmento iniziale”.

Esercizio 8.11. Traducete le frasi seguenti utilizzando il linguaggio dell’esempio6.6:

(a) “un sottoinsieme di un insieme appartiene all’insieme delle parti di quell’insie-me”;

(b) “esiste un insieme i cui elementi sono anche suoi sottoinsiemi”.

Esercizio 8.12. Introducendo opportuni linguaggi, traducete le frasi seguenti:

(a) “Se tutti gli uomini sono mortali e Socrate e un uomo, allora Socrate e mortale”.

92 8. TRADUZIONI DAL LINGUAGGIO NATURALE

(b) “Se tutti i gatti sono animali e Fifı e un gatto, allora Fifı e un animale”(confrontate questa traduzione con quella di (a)).

(c) “Se ogni amico di Mario e amico di Luca e Pietro non e amico di Mario, alloraPietro non e amico di Luca”.

(d) “Nessun ladro e onesto”.(e) “Se tutti i filosofi intelligenti sono curiosi e solo i tedeschi sono filosofi intelli-

genti, allora, se ci sono filosofi intelligenti, qualche tedesco e curioso”.(f) “Il cervello di un delfino e piu grande di quello di un topo”.

[Suggerimento: utilizzate il linguaggio contenente il simbolo di funzione unario c (“il

cervello di x”), il simbolo di relazione binario g (“x e piu grande di y”) e i simboli di

relazione unari d e t (“x e un delfino” e “x e un topo”).]

(g) “Se Carlo e piu basso di Luca, allora almeno un amico di Carlo e piu basso ditutti gli amici di Luca”.

(h) “Se tutti gli studenti sono persone serie, tutti gli studenti sono studiosi e tuttele persone serie e studiose non fanno tardi la sera, allora se esiste qualcuno chefa tardi la sera, non tutti sono studenti”.

Esercizio 8.13. Utilizzando il linguaggio {u, c, d, a} dove u e un simbolo di funzioneunario (u(x) sta per “l’ultimo cd di x”), c e un simbolo di relazione unario (c(x)sta per “x e un cantante”) e d, a sono simboli di relazione binari (d(x, y) sta per “xe un cd di y” e a(x, y) sta per “x acquista y”), formalizzate le frasi seguenti:

(a) “qualcuno acquista tutti i cd di qualche cantante”;(b) “ogni cd di un cantante e sempre acquistato da qualcuno”;(c) “l’ultimo cd di un cantante e sempre acquistato da qualcuno”.

Esercizio 8.14. Introducendo un linguaggio opportuno, traducete le frasi seguenti(che conducono a formule prive di quantificatori e con variabili libere): “x2 e pari,se x e pari”, “una condizione sufficiente affinche x sia dispari e che x sia primo”,“una condizione necessaria affinche x2 sia pari e che x non sia primo”.[Suggerimento: utilizzate i simboli di relazione p(x) (“x e pari”), pr(x) (“x e primo”), il

simbolo funzionale f(x) (“il quadrato di x”) e considerate “dispari” come la negazione di

“pari”].

Esercizio 8.15. Considerate il linguaggio {b, d, c, t, a}, dove b e d sono simboli dicostante che rappresentano Barbara e Donatella, c e t sono simboli di relazioneunari (c(x) sta per “x ama il cinema”, t(x) sta per “x ama il teatro”), mentre a eun simbolo di relazione binario (a(x, y) sta per “x e amico di y”). Formalizzate nellinguaggio le seguenti frasi:

(a) Chi e amico di qualcuno che ama il cinema, ama il cinema.(b) Chi ama il teatro, e amico di qualcuno che ama il teatro.(c) Barbara e amica di Donatella e ama il teatro, ma non il cinema.

Esercizio 8.16. (★) Sia ℒ = {r} dove r e un simbolo di relazione binario. Forma-lizzate in ℒ le seguenti proprieta:

(a) r e transitiva;(b) r non e riflessiva su alcun punto.

Siano Fa e Fb gli enunciati corrispondenti. Dimostrate che l’enunciato

∀x∃y r(x, y) ∧ Fa ∧ Fb

non e vero in nessuna interpretazione con dominio finito, ma e soddisfacibile.

2. Traduzioni di argomenti

La nozione di conseguenza logica ci permette di analizzare la correttezza deiragionamenti, come discusso nell’introduzione.

2. TRADUZIONI DI ARGOMENTI 93

Esempio 8.17. Consideriamo le frasi seguenti:

(i) Tutti gli attori ed i giornalisti invitati alla festa sono in ritardo.(ii) Qualcuno e puntuale.(iii) Qualche invitato non e ne attore ne giornalista.

Utilizziamo il linguaggio {a, g, i, p}, dove a(x) sta per “x e un attore”, g(x) staper “x e un giornalista”, i(x) sta per “x e invitato alla festa” e p(x) sta per “x epuntuale”. Le frasi precedenti vengono tradotte rispettivamente da

∀x ((a(x) ∨ g(x)) ∧ i(x) → ¬p(x)) ; ∃x p(x); ∃x(i(x) ∧ ¬a(x) ∧ ¬g(x)).

(Notate che in (i) “e” e stato tradotto da ∨: vedere l’esempio 8.7.)Indicando con F , G e H queste tre traduzioni abbiamo che F,G ⊭ H (trovate

un’interpretazione che lo mostri!) e quindi possiamo dire che la frase in (iii) non

segue logicamente dalle frasi in (i) e (ii), e quindi il ragionamento che deduce (iii)a partire da (i) e (ii) non e corretto.

Esercizio 8.18. Se nell’esempio precedente (ii) venisse sostituita da “qualcheinvitato e puntuale” il ragionamento diventerebbe corretto?

Esercizio 8.19. Esaminate alla luce delle conoscenze attuali gli esempi di pagina1, stabilendo rigorosamente quali dei tre argomenti sono corretti.

Esercizio 8.20. Utilizzando il linguaggio {s, p, v, g} dove i quattro simboli so-no simboli di relazione predicati unari, da interpretarsi come come “x e stupi-do”, “x e presuntuoso”, “x e vanitoso”, e “x e simpatico”, ed inoltre considerando“antipatico” come la negazione di “simpatico”, formalizzate le frasi seguenti:

(i) tutti gli stupidi sono presuntuosi o vanitosi;(ii) i presuntuosi sono antipatici;(iii) le persone simpatiche non sono vanitose;(iv) tutti gli stupidi sono antipatici.

Possiamo dire che la frase in (iv) segue logicamente dalle precedenti?

Esercizio 8.21. Formalizzate in un linguaggio opportuno il seguente argomen-to: “alcuni studenti apprezzano tutti i professori, ogni studente non apprezza iciarlatani, dunque nessun professore e un ciarlatano”. Verificate la correttezzadell’argomento.

Esercizio 8.22. (★) Sia r un simbolo di relazione binario e sia F l’enunciato

∀x(∃y r(x, y) → r(x, x)).

(a) Dimostrate che F e vero in ogni interpretazione I in cui rI e una relazionesimmetrica e transitiva.

(b) Scrivete un enunciato G che esprima il fatto che r e simmetrica e transitiva.Stabilite se G ∣= F .

Esercizio 8.23. Formalizzate in un opportuno linguaggio le frasi seguenti:

(a) Tutti coloro che scendono dall’aereo tranne i membri dell’equipaggio sono per-quisiti da almeno un poliziotto.

(b) Alcuni ladri scendono dall’aereo e sono perquisiti solo da ladri.(c) Nessun ladro e membro dell’equipaggio.(d) Alcuni poliziotti sono ladri.

Siano Fa, Fb, Fc e Fd gli enunciati corrispondenti: stabilite se Fa ∧ Fb ∧ Fc ∣= Fd.

94 8. TRADUZIONI DAL LINGUAGGIO NATURALE

3. Traduzioni con uguaglianza

La presenza dell’uguaglianza in un linguaggio ci permette di estendere le frasiche possiamo tradurre.

Esempio 8.24. Consideriamo il linguaggio con uguaglianza {a, b,m,=, c} dove ae b sono simboli di costante, m e un simbolo di funzione unario e c un simbolo direlazione binario. Supponiamo che a e b rappresentino Anna e Barbara, m(x) “lamadre di x” e c(x, y) significhi “x conosce y”. Ecco alcune traduzioni in questolinguaggio:

∙ Barbara non e madre di nessuno;

∀xm(x) ∕= b

∙ Anna e la madre di qualcuno;

∃xm(x) = a

∙ Barbara e l’unica figlia di Anna;

m(b) = a ∧ ∀x(x ∕= b→ m(x) ∕= a) oppure m(b) = a ∧ ∀x(m(x) = a→ x = b)

∙ Anna ha almeno due figli;

∃x∃y(m(x) = a ∧m(y) = a ∧ x ∕= y)

∙ Anna ha al piu due figli;

∀x∀y ∀z(m(x) = a ∧m(y) = a ∧m(z) = a→ x = y ∨ y = z ∨ x = z)

∙ Anna ha esattamente due figli;si puo usare la congiunzione delle due formule precedenti, oppure

∃x∃y(m(x) = a ∧m(y) = a ∧ x ∕= y ∧ ∀z(m(z) = a→ z = x ∨ z = y))

∙ i figli di Anna conoscono Barbara;

∀x(m(x) = a→ c(x, b))

∙ ogni figlio di Anna conosce un figlio di Barbara;

∀x(m(x) = a→ ∃y(m(y) = b ∧ c(x, y)))∙ un figlio di Barbara e conosciuto da tutti i figli di Anna;

∃y(m(y) = b ∧ ∀x(m(x) = a→ c(x, y)))

Esercizio 8.25. Nel linguaggio dell’esempio 8.24 traducete le seguenti frasi:

(a) Anna e Barbara hanno la stessa madre;(b) Anna e l’unica a non conoscere la madre di Barbara;(c) due figli di Barbara conoscono Anna;(d) la madre di Anna ha un altro figlio.

Esercizio 8.26. Nel linguaggio con uguaglianza {a, f,=, r}, dove a e un simbolodi costante, f un simbolo funzionale unario, r un simbolo di relazione binario,traducete le frasi seguenti:

(a) “f e una funzione suriettiva ma non iniettiva”;(b) “ogni elemento del dominio e in relazione r con la sua immagine secondo f”;(c) “a non appartiene all’immagine di f”.

Esercizio 8.27. Nel linguaggio con uguaglianza {2,×, ∣,=} dove 2 e un simbolodi costante (che sta per il numero naturale 2), × e un simbolo funzionale binario(x × y sta per “il prodotto di x ed y”), e ∣ e un simbolo di relazione binario (x∣ysta per “x divide y”), traducete le frasi seguenti:

(a) “x e pari”;

4. TRADUZIONI IN LINGUAGGI MULTISORTA 95

(b) “x e il quadrato di qualche numero”;(c) “x e un numero composto”;(d) “x e un numero primo”;(e) “4 e un numero primo”;(f) “se un numero primo divide un prodotto, allora divide uno dei fattori”;(g) “il quadrato di ogni numero pari diverso da due non e primo”;(h) “ogni numero che dividendo un prodotto divide uno dei fattori, e primo”.

Esercizio 8.28. Utilizzando il simbolo funzionale unario f(x) (“il padre di x”),e il simbolo di relazione binario a(x, y) (“x ama y”) traducete le frasi seguenti:“chiunque ami il proprio padre, e a sua volta amato da lui”, “esiste qualcuno cheama il padre ma non e ricambiato.”

Usando anche =, traducete: “x e padre di qualcuno”, “tutti i padri sono amatidai figli”, “qualche padre non e amato da tutti i suoi figli”.

Esercizio 8.29. Nel linguaggio dell’esercizio 8.13 cui avete aggiunto il simbolo =,traducete “qualcuno acquista l’ultimo cd di qualche cantante, ma non gli altri cddello stesso cantante”.

4. Traduzioni in linguaggi multisorta

Se consideriamo le interpretazioni di alcuni degli esempi precedenti possiamonotare che il linguaggio utilizzato ci obbliga a definire l’interpretazione di simboli difunzione anche per elementi del dominio in cui non pare che cio abbia senso. Un’in-terpretazione I del linguaggio dell’esempio 8.7 contiene la definizione dell’interpre-tazione di pI(d) (che significa “il padrone di d”) per ogni d ∈ DI . Dato che in DI

sono compresi non solo cani e gatti, ma anche esseri umani (come presumibilmentee pI(bI)), cio puo lasciare un po’ perplessi.

Questo problema puo essere risolto semplicemente definendo in maniera arbi-traria pI(d) quando d non ha padrone. In questo caso e opportuno consideraresolamente formule la cui verita dipende solo dal valore assunto da p su elementidel dominio che denotano individui con padrone (di questo tipo sono le formuleottenute nell’esempio 8.7).

Un secondo approccio e quello dei linguaggi multisorta, in cui gli elementi deldominio di un’interpretazione sono divisi in diverse sorte (dette anche specie o tipi).Quindi anche i simboli del linguaggio devono essere associati a queste sorte.

Ci limitiamo ad introdurre i linguaggi multisorta attraverso un esempio.

Esempio 8.30. Nel caso dell’esempio 8.7 e naturale considerare un linguaggio condue sorte: animali e umani.

Ogni variabile appartiene a una (e una sola) di queste sorte ed e comodo usaread esempio variabili minuscole per gli animali e variabile maiuscole per gli umani.Anche i simboli di costante appartengono ad una sorte (b e f appartengono alla sorteanimali). In corrispondenza di ogni simbolo funzionale e necessario specificare traquali sorte esso agisce. Ad esempio p associa ad un oggetto di sorta animali unoggetto della sorta umani. In questo modo ogni termine appartiene ad una sortae ad esempio p(b) appartiene alla sorta umani. Quindi p(p(b)) non e un terminedel linguaggio multisorta (perche p non si applica a termini della sorta umani), epercio non deve essere interpretato.

In questo linguaggio (ed utilizzando anche l’uguaglianza) “tutti i cani amanochi non e padrone di un gatto” viene tradotto da

∀x(c(x) → ∀Y (¬∃z(g(z) ∧ p(z) = Y ) → a(x, Y ))).

Notate l’uso della variabile maiuscola per riferirsi ad un essere umano.

96 8. TRADUZIONI DAL LINGUAGGIO NATURALE

Esercizio 8.31. Descrivete un linguaggio multisorta per il linguaggio dell’esercizio8.13, in cui non ha senso parlare del “cd di un cd”.

Esercizio 8.32. Formalizzate in un linguaggio multisorta la frase: “Se ogni scrit-tore e apprezzato da almeno un lettore, ed ogni lettore legge i libri degli scrittoriche apprezza, allora ogni libro e letto da qualcuno”.

CAPITOLO 9

Interpretazioni elementarmente equivalenti

In questo capitolo studieremo una importante relazione che puo intercorreretra diverse interpretazioni per lo stesso linguaggio. Nella prima sezione definiremola nozione di elementare equivalenza e individueremo una condizione sufficiente peressa (corollario 9.13), nella seconda sezione introdurremo il concetto di congruenzae nella terza sezione useremo questi due strumenti per ottenere alcuni risultatirelativi alla logica con uguaglianza.

1. Equivalenza elementare e omomorfismi forti

Due interpretazioni per lo stesso linguaggio sono piuttosto simili se soddisfanoagli stessi enunciati.

Definizione 9.1. Diciamo che due interpretazioni I e J per un linguaggio ℒ sonoelementarmente equivalenti rispetto a ℒ se per ogni enunciato F di ℒ si ha cheI ∣= F se e solo se J ∣= F . In questo caso si scrive I ≡ℒ J .

L’essere elementarmente equivalenti e una relazione d’equivalenza tra le inter-pretazioni dello stesso linguaggio, come e immediato verificare.

Un’altra relazione che puo intercorrere tra due interpretazioni per lo stessolinguaggio e l’esistenza di una funzione che “rispetti” le interpretazioni dei varisimboli del linguaggio. Questa idea e catturata dalla seguente definizione.

Definizione 9.2. Date due interpretazioni I e J per un linguaggio ℒ, un omomor-fismo di I in J e una funzione ' : DI → DJ tale che:

∙ per ogni simbolo di costante c di ℒ si ha '(cI) = cJ ;∙ per ogni simbolo di funzione n-ario f di ℒ ed ogni d1, . . . , dn ∈ DI si ha'(f I(d1, . . . , dn)) = fJ('(d1), . . . , '(dn));

∙ per ogni simbolo di relazione n-ario p di ℒ ed ogni d1, . . . , dn ∈ DI si hache se (d1, . . . , dn) ∈ pI allora ('(d1), . . . , '(dn)) ∈ pJ .

' e un omomorfismo forte se la terza condizione e sostituita dalla condizione piuforte

∙ per ogni simbolo di relazione n-ario p di ℒ ed ogni d1, . . . , dn ∈ DI si hache (d1, . . . , dn) ∈ pI se e solo se ('(d1), . . . , '(dn)) ∈ pJ .

Se ' e una biiezione ed e un omomorfismo forte allora ' e un isomorfismo, le dueinterpretazioni I e J si dicono isomorfe e scriviamo I ∼= J .

Due interpretazioni isomorfe sono sostanzialmente la stessa interpretazione: cioche cambia e solo il nome degli elementi del dominio, secondo la corrispondenzadescritta dall’isomorfismo. Sembra naturale che se I ∼= J allora I ≡ℒ J . Dimo-streremo una versione piu forte di questo fatto (ottenuta indebolendo l’ipotesi): ilcorollario 9.13.

L’essere isomorfi e una relazione d’equivalenza tra le interpretazioni dello stessolinguaggio (si vede facilmente che l’identita e un isomorfismo di un’interpretazionecon se stessa, che la funzione inversa di un isomorfismo e un isomorfismo e che lacomposizione di due isomorfismi e un isomorfismo).

97

98 9. INTERPRETAZIONI ELEMENTARMENTE EQUIVALENTI

Esempio 9.3. Sia ℒ il linguaggio che consiste del solo simbolo di relazione unariop. Definiamo tre interpretazioni I, J e K per ℒ ponendo:

DI = {A,B}, pI = {A}; DJ = {0, 1}, pJ = {1}; DK = ℕ; pK = ℕ.

La funzione ' : DI → DJ definita da '(A) = 1 e '(B) = 0 e una biiezione ed e unomomorfismo forte: percio e un isomorfismo e I ∼= J . Dato che DI e DK hannocardinalita diversa non puo esistere una biiezione tra questi due insiemi e quindicertamente I e K non sono isomorfi. La funzione : DK → DI definita ponendo (n) = A per ogni n ∈ ℕ e un omomorfismo forte. La funzione � : DI → DK

definita da �(A) = 7, �(B) = 4 e un omomorfismo, ma non e un omomorfismoforte (qualunque funzione da DI in DK ha questa proprieta).

Esercizio 9.4. Sia ℒ′ il linguaggio che consiste del simbolo di costante c e del sim-bolo di relazione p. Estendiamo le interpretazioni I, J e K dell’esempio precedentea interpretazioni per ℒ′ ponendo cI

= A, cJ′

= 0 e cK′

= 31. Dimostrate:

(a) non esiste un omomorfismo di I ′ in J ′;(b) esiste un omomorfismo di J ′ in I ′, ma non esiste un omomorfismo forte di J ′

in I ′;(c) esiste un omomorfismo forte di K ′ in I ′;(d) esiste un omomorfismo di I ′ in K ′, ma non esiste un omomorfismo forte di I ′

in K ′;(e) non esiste un omomorfismo di K ′ in J ′;(f) esiste un omomorfismo di J ′ in K ′, ma non esiste un omomorfismo forte di J ′

in K ′.

Esercizio 9.5. Dimostrate che se ℒ e un linguaggio con uguaglianza e I e J sonointerpretazioni normali per ℒ allora ogni omomorfismo forte di I in J e un’iniezione.

Esempio 9.6. La nostra nozione di omomorfismo generalizza quella incontrata nelcorso di Matematica Discreta e che riguarda, ad esempio, i gruppi. Ricordandogli esempi 6.8 e 7.13, notiamo che la nostra definizione di omomorfismo coincidecon quella di omomorfismo tra gruppi. Inoltre i nostri omomorfismi forti sono gliomomorfismi iniettivi della teoria dei gruppi (infatti l’unico simbolo predicativo el’uguaglianza), mentre la nozione di isomorfismo e la stessa.

Definizione 9.7. Date due interpretazioni I e J per un linguaggio ℒ ed una fun-zione ' : DI → DJ , ad ogni stato � di I corrisponde uno stato ' ∘ � di J definitoponendo per ogni variabile v, (' ∘ �)(v) = '(�(v)).

Lemma 9.8. Siano I e J due interpretazioni per un linguaggio ℒ, � uno stato diI. Se ' e un omomorfismo forte di I in J allora

∙ per ogni termine t, '(�(t)) = (' ∘ �)(t);∙ per ogni formula aperta F , I, � ∣= F se e solo se J, ' ∘ � ∣= F .

Dimostrazione. La prima asserzione si dimostra per induzione sulla comples-sita di t. Se t e una variabile allora '(�(t)) = (' ∘ �)(t) per definizione. Se t eun simbolo di costante c allora '(�(t)) = '(cI) = cJ = (' ∘ �)(t) per la primacondizione nella definizione di omomorfismo. Se t e f(t1, . . . , tn) allora

'(�(t)) = '(f I(�(t1), . . . , �(tn)))

= fJ('(�(t1)), . . . , '(�(tn)))

= fJ((' ∘ �)(t1), . . . , (' ∘ �)(tn))= (' ∘ �)(t),

1. EQUIVALENZA ELEMENTARE E OMOMORFISMI FORTI 99

dove nel passaggio dalla prima alla seconda riga abbiamo usato la seconda condi-zione nella definizione di omomorfismo e nel passaggio dalla seconda alla terza rigal’ipotesi induttiva.

La seconda asserzione si dimostra per induzione sulla complessita di F . Se Fe la formula atomica p(t1, . . . , tn) abbiamo

I, � ∣= F se e solo se (�(t1), . . . , �(tn)) ∈ pI

se e solo se ('(�(t1)), . . . , '(�(tn))) ∈ pJ

se e solo se ((' ∘ �)(t1), . . . , (' ∘ �)(tn)) ∈ pJ

se e solo se J, ' ∘ � ∣= F,

dove nel passaggio dalla prima alla seconda riga abbiamo usato la terza condizionenella definizione di omomorfismo forte e nel passaggio dalla seconda alla terza rigaquanto appena dimostrato sui termini.

Ricordando che una formula e aperta se non contiene quantificatori (definizione6.40), i passi induttivi da considerare sono quelli in cui F e una negazione, una con-giunzione, una disgiunzione o un’implicazione. Questi passi sono tutti immediati,utilizzando solo la definizione 7.8. □

Esempio 9.9. La seconda affermazione del lemma 9.8 non puo essere estesa alleformule che contengono quantificatori: se K e I sono le interpretazioni dell’esempio9.3 si ha che I ∣= ∃x¬p(x) mentre K ∕∣= ∃x¬p(x) (dato che abbiamo a che farecon un enunciato non e necessario menzionare lo stato), malgrado l’esistenza di unomomorfismo forte di K in I. (Notate che abbiamo dimostrato che I ∕≡ℒ K.)

Per estendere la seconda affermazione del lemma 9.8 a tutte le formule e neces-sario rafforzare l’ipotesi sull’omomorfismo. A questo scopo ci sara utile il seguentelemma.

Lemma 9.10. Siano I e J due interpretazioni per un linguaggio ℒ, ' : DI → DJ

una funzione qualsiasi e � uno stato di I. Per ogni variabile x e ogni d ∈ DI glistati ' ∘ (�[x/d]) e (' ∘ �)[x/'(d)] di J coincidono.

Dimostrazione. Bisogna dimostrare che per ogni variabile v vale l’uguaglian-za '∘(�[x/d])(v) = ('∘�)[x/'(d)](v). L’unico caso interessante e quando v e x. Inquesto caso, applicando le definizioni, si ottiene che entrambi i membri sono ugualia '(d). □

Teorema 9.11. Siano I e J due interpretazioni per un linguaggio ℒ, � uno statodi I e F una formula di ℒ. Se ' e un omomorfismo forte suriettivo di I in J alloraI, � ∣= F se e solo se J, ' ∘ � ∣= F .

Dimostrazione. La dimostrazione e per induzione sulla complessita di F : ilcaso di base delle formule atomiche ed i passi induttivi relativi ai connettivi sonogia stati considerati nella dimostrazione del lemma 9.8, in cui l’ipotesi su ' era piudebole. Per quanto riguarda i quantificatori cominciamo a considerare il caso in cuiF e ∃xG.

Supponiamo che I, � ∣= ∃xG. Esiste allora d0 ∈ DI tale che I, �[x/d0] ∣= G.Per ipotesi induttiva si ha J, ' ∘ (�[x/d0]) ∣= G. Per il lemma 9.10 ' ∘ (�[x/d0]) e(' ∘ �)[x/'(d0)], e quindi J, (' ∘ �)[x/'(d0)] ∣= G. Dunque J, ' ∘ � ∣= ∃xG.

Viceversa supponiamo che J, ' ∘ � ∣= ∃xG. Esiste allora d′0 ∈ DJ tale cheJ, (' ∘ �)[x/d′0] ∣= G. Poiche ' e suriettiva, esiste d0 ∈ DI tale che '(d0) = d′0. Peril lemma 9.10 ('∘�)[x/d′0] e '∘(�[x/d0]), e quindi J, '∘(�[x/d0]) ∣= G. Dall’ipotesiinduttiva segue che I, �[x/d0] ∣= G, e quindi che I, � ∣= ∃xG.

100 9. INTERPRETAZIONI ELEMENTARMENTE EQUIVALENTI

Se F e ∀xG, possiamo ragionare come segue, utilizzando i passi induttivi giaottenuti e il lemma 7.46: I, � ∣= ∀xG se e solo se I, � ∕∣= ∃x¬G se e solo seJ, ' ∘ � ∕∣= ∃x¬G se e solo se J, ' ∘ � ∣= ∀xG. □

Esercizio 9.12. Svolgete direttamente il passo relativo al quantificatore universaledella dimostrazione del teorema 9.11.

Corollario 9.13. Se I e J sono interpretazioni per un linguaggio ℒ e esisteun omomorfismo forte suriettivo di I in J , allora I ≡ℒ J . In particolare dueinterpretazioni isomorfe sono elementarmente equivalenti.

Dimostrazione. Immediata dal teorema 9.11: in particolare un isomorfismoe un omomorfismo forte suriettivo. □

Esempio 9.14. Sia ℒ = {p} con p simbolo di relazione unario, e sia I0 l’interpre-tazione per ℒ definita da DI0 = {0, 1}, pI0 = {0}.

Sia I un’interpretazione per ℒ e definiamo ' : DI → DI0 ponendo

'(d) =

{

0 se d ∈ pI ,

1 se d /∈ pI .

Si verifica facilmente che ' e un omomorfismo forte. Se pI ∕= ∅ e pI ∕= DI , allora 'e suriettivo e possiamo concludere che I ≡ℒ I0.

Quindi le interpretazioni I1 e I2 per ℒ definite da DI1 = DI2 = {A,B,C},pI1 = {A,B}, pI2 = {A} sono entrambe elementarmente equivalenti a I0. Dato che≡ℒ e una relazione d’equivalenza (e in particolare e transitiva) possiamo concludereche I1 ≡ℒ I2.

Dimostriamo ora che non esiste un omomorfismo forte suriettivo di I1 in I2. Sia' un omomorfismo forte di I1 in I2: dato che A,B ∈ pI1 deve essere '(A), '(B) ∈pI2 e quindi '(A) = '(B) = A. Dato che '(C) e uno solo tra B e C, ' non puoessere suriettivo.

In maniera analoga si dimostra che non esiste un omomorfismo forte suriettivodi I2 in I1: partiamo dal fatto che B,C /∈ pI2 per arrivare a '(B) = '(C) = C.

Nota 9.15. L’esempio precedente mostra che e possibile che I ≡ℒ J anche quandonon esiste alcun omomorfismo forte suriettivo di I in J o di J in I. Quindi il co-rollario 9.13 esprime una condizione sufficiente ma non necessaria affinche dueinterpretazioni siano elementarmente equivalenti. Percio per provare che I ∕≡ℒ Jnon basta mostrare che non ci sono omomorfismi forti suriettivi tra le due interpre-tazioni: e necessario trovare un enunciato F tale che I ∣= F e J ∕∣= F (o viceversa),come e stato fatto nell’esempio 9.9.

Esercizio 9.16. Siano I, J e K le seguenti interpretazioni per il linguaggio ℒ ={p, r}, dove p e un simbolo di relazione unario e r un simbolo di relazione binario:

DI = {A,B} pI = {A} rI = {(A,B), (B,A)};DJ = ℕ pJ = {n : n e dispari } rJ = { (n,m) : ∣n−m∣ e dispari } ;DK = ℤ pK = {n : n e pari } rK = { (n,m) : ∣n−m∣ = 1 } .(i) Dimostrate che I ≡ℒ J ;(ii) dimostrate che J ∕≡ℒ K;(iii) e vero che I ≡ℒ K?

Esercizio 9.17. In ognuno dei seguenti casi, dite se le interpretazioni I e J sonoelementarmente equivalenti, isomorfe, o se esiste un omomorfismo suriettivo di Iin J o di J in I (nei primi cinque esempi le interpretazioni sono definite indicandoprima il dominio e poi le interpretazioni dei simboli di relazione e di funzione, cosı

2. RELAZIONI DI CONGRUENZA 101

che (a), (b) e (c) si riferiscono ad un linguaggio con un simbolo di relazione binario,(d) ad un linguaggio con un simbolo di relazione unario, (e) ad un linguaggio con unsimbolo di relazione unario ed un simbolo di funzione unario, ed (f) ad un linguaggiocon un simbolo di relazione binario ed un simbolo di funzione unario).

(a) I = (ℕ,≤), J = (ℤ,≤);(b) I = (ℚ, <), J = (ℤ, <);(c) I = (ℤ,≤), J = (ℤ,≥);(d) I = (ℝ, { x : x > 0 }), J = (ℤ, { z : z < 0 });(e) I = (ℕ, {n : n e pari } , S) [dove S(n) = n+ 1], J = (ℤ, { z : z < 0 } ,−);(f) DI = {A,B}, rI = {(A,B)}, f I = id, DJ = {A,B}, rJ = {(A,B)}, fJ(A) =

B, fJ(B) = A.

Esercizio 9.18. Siano ℒ = {f, r} e ℒ′ = {r} linguaggi in cui f e un simbolodi funzione unario e r e un simbolo di relazione binario. Siano I e J le seguentiinterpretazioni per il linguaggio ℒ:

DI = DJ = ℤ, f I(n) = fJ(n) = n+ 1,

rI = { (m,n) : m ≤ n } , rJ = { (m,n) : m ≥ n } .Siano inoltre I ′ e J ′ le rispettive restrizioni al linguaggio ℒ′. Stabilite se I ≡ℒ J ese I ′ ≡ℒ′ J ′.

2. Relazioni di congruenza

In questa sezione introduciamo la nozione di relazione di congruenza su un’in-terpretazione e la utilizziamo per definire l’interpretazione quoziente. Essa risultaessere elementarmente equivalente all’interpretazione di partenza.

Definizione 9.19. Sia I un’interpretazione per ℒ. Una relazione binaria ∼ suldominio DI di I si dice relazione di congruenza su I se

∙ ∼ e una relazione di equivalenza;∙ per ogni simbolo di funzione n-ario f di ℒ e per ogni d1, d

′1, . . . , dn, d

′n ∈ DI

tali che d1 ∼ d′1, . . . , dn ∼ d′n vale f I(d1, . . . , dn) ∼ f I(d′1, . . . , d′n);

∙ per ogni simbolo di relazione n-ario p di ℒ e per ogni d1, d′1, . . . , dn, d

′n ∈

DI tali che d1 ∼ d′1, . . . , dn ∼ d′n vale

(d1, . . . , dn) ∈ pI se e solo se (d′1, . . . , d′n) ∈ pI .

La nozione di congruenza e deriva il suo nome dalle relazioni di congruenzamodulo n sugli interi, di cui e una generalizzazione.

Esempio 9.20. Sia ℒ il linguaggio con un simbolo di costante 0, due simboli difunzione binari + e ⋅ ed un simbolo di relazione binario r. Sia I l’interpretazioneper ℒ ottenuta ponendo DI = ℤ, definendo 0I , +I e ⋅I in modo naturale, ed infinedefinendo rI = { (n,m) : n−m− 1 e un multiplo di 3 }. In altre parole,

(n,m) ∈ rI se e solo se n ≡ m+ 1 (mod 3).

Definiamo una relazione ∼ su ℤ ponendo n ∼ m se e solo se n −m e un multiplodi 3, cioe

n ∼ m se e solo se n ≡ m (mod 3).

Nel corso di Matematica Discreta avete dimostrato che ∼ e una relazione diequivalenza. Per mostrare che ∼ e una relazione di congruenza su I basta verificare:

se n ≡ n′ e m ≡ m′ allora n+m ≡ n′ +m′,

se n ≡ n′ e m ≡ m′ allora n ⋅m ≡ n′ ⋅m′,

se n ≡ m+ 1, n ≡ n′ e m ≡ m′ allora n′ ≡ m′ + 1,

102 9. INTERPRETAZIONI ELEMENTARMENTE EQUIVALENTI

dove tutte le congruenze sono modulo 3. Questi fatti discendono da quanto visto aMatematica Discreta a proposito delle classi di congruenza modulo 3.

Definizione 9.21. Se I e un’interpretazione per ℒ e ∼ una relazione di congruenzasu I, allora possiamo definire l’interpretazione quoziente I/∼ di I rispetto a ∼. I/∼e l’interpretazione per ℒ il cui dominio e DI/∼ =

{

[d] : d ∈ DI}

, dove [d] ={

d′ ∈ DI : d′ ∼ d}

e le interpretazioni dei simboli di costante, funzione e relazionesono definite come segue:

∙ per ogni simbolo di costante c, cI/∼ = [cI ];∙ per ogni simbolo di funzione n-ario f e ogni d1, . . . , dn ∈ DI ,

f I/∼([d1], . . . , [dn]) = [f I(d1, . . . , dn)];

∙ per ogni simbolo di relazione n-ario p,

pI/∼ ={

([d1], . . . , [dn]) : (d1, . . . , dn) ∈ pI}

.

Il dominio di I/∼ e quindi l’insieme delle classi d’equivalenza di ∼ (e quindiessenziale che ∼ e una relazione d’equivalenza). Il fatto che ∼ sia una relazionedi congruenza assicura che le definizioni di f I/∼ e pI/∼ siano “ben date”, cioe nondipendano dai rappresentanti delle classi di equivalenza.

Esempio 9.22. Riprendiamo l’esempio 9.20. In questo caso DI/∼ ha tre elementi,che possiamo indicare con [0], [1] e [2]. Inoltre si ha

0I/∼ = [0], +I/∼([n], [m]) = [n+m], ⋅I/∼([n], [m]) = [n ⋅m],

rI/∼ = {([1], [0]), ([2], [1]), ([0], [2])}.

Esercizio 9.23. Sia ℒ = {a, f, r} un linguaggio dove a e un simbolo di costante,f e un simbolo di funzione unario ed r e un simbolo di relazione binario. Sia Il’interpretazione per ℒ definita da:

DI = ℤ, aI = 19, f I(z) = z − 4,

rI = { (z, z′) : la divisione (z − z′)÷ 4 ha resto 2 } .

Sia inoltre ∼ la relazione su ℤ definita da

z ∼ z′ ⇐⇒ 4 divide z − z′.

Dimostrate che ∼ e una relazione di congruenza su I e descrivete l’interpretazionequoziente I/∼.

Esercizio 9.24. Sia I l’interpretazione dell’esempio 7.97. Dimostrate che la rela-zione =I e una relazione di congruenza su I e descrivete I/=I.

Definizione 9.25. Se I e un interpretazione per ℒ e ∼ e una relazione di con-gruenza su I, definiamo la funzione � : DI → DI/∼ ponendo �(d) = [d] per ognid ∈ DI . � e detto omomorfismo canonico.

La terminologia della definizione precedente e giustificata dal seguente teorema.

Teorema 9.26. Se I e un interpretazione per ℒ e ∼ e una relazione di congruenzasu I, allora l’omomorfismo canonico � e un omomorfismo forte suriettivo di I suI/∼. Percio I ≡ℒ I/∼.

Dimostrazione. La verifica che � e un omomorfismo forte suriettivo e imme-diata. L’elementare equivalenza tra I e I/∼ segue allora dal corollario 9.13. □

3. APPLICAZIONE ALLA LOGICA CON UGUAGLIANZA 103

3. Applicazione alla logica con uguaglianza

In questa sezione applicheremo quanto ottenuto nelle sezioni precedenti allalogica con uguaglianza: in particolare stabiliremo le proprieta delle interpretazio-ni per un linguaggio ℒ che soddisfano a Eqℒ e troveremo dei collegamenti tra lasemantica per la logica con uguaglianza e la semantica per la logica pura.

Lemma 9.27. Se I e un’interpretazione per un linguaggio con uguaglianza ℒ taleche I ∣= Eqℒ, allora =I e una relazione di congruenza su I, e I/=I e un’interpre-tazione normale.

Dimostrazione. Il fatto che I ∣= Eqℒ e equivalente al fatto che =I e una

relazione di congruenza su I. E inoltre immediato che l’interpretazione di = inI/=I e l’identita. □

Corollario 9.28. Se I e un’interpretazione per un linguaggio con uguaglianzaℒ tale che I ∣= Eqℒ allora I e elementarmente equivalente ad un’interpretazionenormale.

Dimostrazione. Per il lemma 9.26 I ≡ℒ I/=I e per il lemma 9.27 I/=I eun’interpretazione normale. □

Teorema 9.29. Sia ℒ un linguaggio con uguaglianza, Γ un insieme di formule diℒ e F una formula di ℒ. Allora

Γ ∣== F se e solo se Γ,Eqℒ ∣= F.

Dimostrazione. Per dimostrare la direzione da destra a sinistra sia I un’in-terpretazione normale per ℒ e � uno stato di I tale che I, � ∣= Γ: per il lemma 7.96I ∣= Eqℒ e allora I, � ∣= Γ,Eqℒ. Per l’ipotesi I, � ∣= F .

Per dimostrare la direzione da sinistra a destra sia I un’interpretazione perℒ e � uno stato di I tale che I, � ∣= Γ,Eqℒ. Dato che I ∣= Eqℒ, per il lemma9.27 =I e una relazione di congruenza su I e I/=I e un’interpretazione normale. Iteoremi 9.26 e 9.11 implicano che I/=I , � ∘� ∣= Γ, da cui per l’ipotesi si ottiene cheI/=I , � ∘ � ∣= F . Usando nuovamente i teoremi 9.26 e 9.11 si ha che I, � ∣= F . □

Teorema 9.30. Sia F una formula di un linguaggio con uguaglianza ℒ. F esoddisfacibile nella logica con uguaglianza se e solo se Eqℒ, F e soddisfacibile.

Dimostrazione. F e soddisfacibile nella logica con uguaglianza se e solo se¬F non e valido nella logica con uguaglianza se e solo se ∕∣== ¬F se e solo se (per ilteorema 9.29) Eqℒ ∕∣= ¬F se e solo se Eqℒ, F e soddisfacibile. □

CAPITOLO 10

Il metodo dei tableaux: caso predicativo

In questo capitolo il metodo dei tableaux studiato nel capitolo 4 verra estesoal caso della logica predicativa. L’idea che guida il metodo dei tableaux e la stessa:cerchiamo sistematicamente un’interpretazione che soddisfi l’enunciato di parten-za. La maggior complessita della nozione di interpretazione nel caso predicativorende necessari diversi cambiamenti all’algoritmo. Introdurremo nuove regole perla costruzione di nodi nel caso in cui si agisca su formule con quantificatori e ilmetodo avra proprieta piuttosto diverse da quelle dimostrate nel caso della logicaproposizionale: l’algoritmo predicativo non ha la proprieta di terminazione ed esolo una procedura di semidecisione per la validita (si veda la nota 10.43).

Convenzione 10.1. Per semplificare la nostra discussione dei tableaux predicativiin questo capitolo, salvo che nella sezione 9, restringiamo la nostra attenzione alinguaggi privi di simboli di funzione, in modo che gli unici termini chiusi siano isimboli di costante. Nella sezione 10.9 descriveremo come adattare il nostro metodoa linguaggi con simboli di funzione.

1. Letterali, e �-formule

La seguente definizione e la ovvia generalizzazione al caso predicativo delledefinizioni date nel caso proposizionale (3.1 e 4.1).

Definizione 10.2. Un letterale e una formula atomica oppure la negazione di unaformula atomica.

Se A e una formula atomica {A,¬A} e una coppia complementare di letterali.Piu in generale se F e una formula {F,¬F} e una coppia complementare. Diciamoche F e ¬F sono ciascuno il complemento dell’altro.

La proprieta fondamentale delle coppie complementari e contenuta nel seguentelemma di immediata dimostrazione.

Lemma 10.3. Se un insieme di formule contiene una coppia complementare allorae insoddisfacibile.

La nostra descrizione del metodo dei tableaux nel caso proposizionale si basavasulla distinzione tra doppie negazioni, �-formule e �-formule. Nel caso predicati-vo la definizione di questi tipi di formule e la stessa che nel caso proposizionale(definizione 3.6), ma per poter classificare tutte le formule predicative e necessariointrodurre nuovi tipi di formule.

Definizione 10.4. Una formula e una -formula se esiste F tale che la formulae di uno dei tipi che compaiono nella colonna sinistra della prima delle seguentitabelle. Una formula e una �-formula se esiste F tale che la formula e di uno deitipi che compaiono nella colonna sinistra della seconda delle seguenti tabelle. Inentrambi i casi un’istanza di una - o �-formula e una formula del tipo che compare

104

2. ESEMPI PRELIMINARI 105

nella colonna piu a destra, dove a e un simbolo di costante.

-formula∀xF F{x/a}¬∃xF ¬F{x/a}

�-formula∃xF F{x/a}¬∀xF ¬F{x/a}

Diciamo che F{x/a} o ¬F{x/a} e l’istanza della - o �-formula relativa ad a.

Nota 10.5. Notiamo che se G e una - o �-formula che e un enunciato allora tuttele sue istanze sono enunciati.

I prossimi due lemmi corrispondono al lemma 3.7 nel caso proposizionale,sebbene in questo caso non si ottengano delle equivalenze logiche, ma solo delleconseguenze logiche o dei risultati di soddisfacibilita.

Lemma 10.6. Se G e una -formula e G1 una sua istanza allora G ∣= G1.

Dimostrazione. Per le formule del tipo ∀xF questo e un caso particolare dellemma 7.45. Per le formule del tipo ¬∃xF basta usare la seconda equivalenza logicadel lemma 7.46. □

Lemma 10.7. Siano Γ un insieme di formule, G una �-formula e G1 un istanza diG relativa ad una costante che non compare ne in Γ ne in G. Se Γ, G e soddisfacibileallora Γ, G1 e soddisfacibile.

Dimostrazione. Per le formule del tipo ∃xF questo e il lemma 7.84. Per leformule del tipo ¬∀xF basta usare la prima equivalenza logica del lemma 7.46. □

Il prossimo lemma corrisponde al lemma 3.8 nel caso proposizionale.

Lemma 10.8. Una formula e di uno e uno solo dei tipi seguenti:

∙ un letterale,∙ una doppia negazione,∙ una �-formula,∙ una �-formula,∙ una -formula,∙ una �-formula.

Dimostrazione. La dimostrazione e analoga a quella del lemma 3.8, basan-dosi questa volta sul lemma 6.22. La lasciamo come esercizio per il lettore. □

2. Esempi preliminari

Come nel caso proposizionale, prima di descrivere l’algoritmo dei tableaux esa-miniamo in dettaglio alcuni esempi in cui partiamo dalle regole per i tableaux pro-posizionali gia introdotte e le estendiamo alle - e �-formule, evidenziando alcuneimportanti novita che e necessario introdurre.

Esempio 10.9. Consideriamo l’enunciato ∃x(p(x)∨ q(x)) → ∃x p(x)∨∃x q(x), cheindichiamo con F : e valido per il lemma 7.55 (e l’esercizio 7.83). Per dimostrarela validita di F con il metodo dei tableaux partiamo da ¬F , che e una �-formula,e al passo successivo abbiamo un’altra �-formula su cui agire. Il tableau cominciaquindi in questo modo:

¬F

∃x(p(x) ∨ q(x)),¬(∃x p(x) ∨ ∃x q(x))

∃x(p(x) ∨ q(x)),¬∃x p(x),¬∃x q(x)

106 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

A questo punto il caso proposizionale non ci dice piu cosa fare: abbiamo due -formule e una �-formula. La �-formula ∃x(p(x) ∨ q(x)) asserisce l’esistenza di unelemento del dominio con certe caratteristiche. Non sappiamo qual e il dominiodell’interpretazione che cerchiamo di costruire: la cosa piu conveniente e introdur-re una costante che rappresenti l’elemento che sappiamo esistere. Sia a questacostante: sostituiamo la �-formula con p(a) ∨ q(a), che e l’istanza relativa ad a di∃x(p(x)∨q(x)). Otteniamo una �-formula e sappiamo come fare il passo successivo:

∃x(p(x) ∨ q(x)),¬∃x p(x),¬∃x q(x)

p(a) ∨ q(a),¬∃x p(x),¬∃x q(x)

p(a),¬∃x p(x),¬∃x q(x) q(a),¬∃x p(x),¬∃x q(x)

Siamo nuovamente giunti ad un punto in cui non possiamo applicare le regole pro-posizionali. La -formula ¬∃x p(x) e logicamente equivalente a ∀x¬p(x) (lemma7.46) e quindi asserisce che per ogni elemento del dominio, ed in particolare perquello rappresentato da a, non vale p. Dunque possiamo sostituire nel ramo disinistra ¬∃x p(x) con la sua istanza ¬p(a) e ottenere un nodo la cui etichetta

p(a),¬p(a),¬∃x q(x)

contiene una coppia complementare di letterali.Similmente nel ramo di destra possiamo agire sulla -formula ¬∃x q(x) ed

ottenere un nodo con etichetta

q(a),¬∃x p(x),¬q(a)

Tutte le foglie del tableau contengono dunque una coppia complementare di letteralie quindi il tableau e chiuso, come volevamo.

Esercizio 10.10. Usate le idee dell’esempio 10.9 per mostrare che l’enunciato∀x(p(x) → q(x)) → (∀x p(x) → ∀x q(x)) e valido.

Esempio 10.11. Consideriamo l’enunciato ∃x p(x) ∧ ∃x q(x) → ∃x(p(x) ∧ q(x)),che indichiamo con G. G e soddisfacibile ma non valido (vedere esercizio 7.57), equindi ci aspettiamo che il tableau per ¬G sia aperto.

Ecco un tentativo di tableau per ¬G, in cui abbiamo utilizzato le idee dell’e-sempio 10.9:

¬G

∃x p(x) ∧ ∃x q(x),¬∃x(p(x) ∧ q(x))

∃x p(x), ∃x q(x),¬∃x(p(x) ∧ q(x))

p(a), ∃x q(x),¬∃x(p(x) ∧ q(x))

p(a), q(a),¬∃x(p(x) ∧ q(x))

p(a), q(a),¬(p(a) ∧ q(a))

p(a), q(a),¬p(a) p(a), q(a),¬q(a)⊗ ⊗

2. ESEMPI PRELIMINARI 107

Abbiamo ottenuto un tableau chiuso e quindi qualcosa non ha funzionato. Ilproblema e che abbiamo usato la stessa costante a per istanziare sia ∃x p(x) che∃x q(x): non c’e nessuna ragione di pensare che l’elemento che soddisfa p(x) sia lostesso che soddisfa q(x)!

La soluzione e imporre che quando si utilizza una costante per istanziare una�-formula esistenziale essa debba essere nuova, cioe non comparire nel tableausviluppato fino a quel momento. Seguendo questa regola le ultime righe del nostrotentativo di tableau diventano:

∃x p(x), ∃x q(x),¬∃x(p(x) ∧ q(x))

p(a), ∃x q(x),¬∃x(p(x) ∧ q(x))

p(a), q(b),¬∃x(p(x) ∧ q(x))

p(a), q(b),¬(p(a) ∧ q(a))

p(a), q(b),¬p(a) p(a), q(b),¬q(a)⊗ ⃝

C’e pero ancora qualcosa di insoddisfacente in questo tentativo di tableau. La -formula ¬∃x(p(x) ∧ q(x)) asserisce che p(x) ∧ q(x) non vale per nessun elementodel dominio. Questa informazione e pero stata utilizzata solo per a, mentre sarebbeutile poterla sfruttare anche per b. La soluzione e che le -formule non vanno maicancellate dalle etichette dei nodi, per poter essere usate —se necessario— piuvolte. Otteniamo cosı la seguente parte finale del tableau, in cui indichiamo con Hl’enunciato ¬∃x(p(x) ∧ q(x)):

p(a), q(b), H

p(a), q(b),¬(p(a) ∧ q(a)), H

p(a), q(b),¬p(a), H p(a), q(b),¬q(a), H⊗

p(a), q(b),¬q(a),¬(p(b) ∧ q(b)), H

p(a), q(b),¬q(a),¬p(b), H p(a), q(b),¬q(a),¬q(b), H⃝ ⊗

Il nodo aperto ci suggerisce un’interpretazione che soddisfa ¬G: DI = {a, b}, pI ={a}, qI = {b} (notiamo che non e necessario interpretare i simboli di costante a eb, che non facevano parte del linguaggio di G).

Esempio 10.12. Consideriamo ora l’enunciato F definito da F1∧F2 ∧F3 dove F1,F2 e F3 sono rispettivamente

∀x∃y r(x, y);∀x∀y ∀z(r(x, y) ∧ r(y, z) → r(x, z));

∀x¬r(x, x).Supponiamo di voler mostrare che F e soddisfacibile, e a questo scopo costruiamoun tableau per F .

108 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

Dopo alcuni passaggi che riguardano solo �-formule otteniamo un nodo etichet-tato da F1, F2, F3, che sono tutte -formule. Non abbiamo nessuna costante su cuiistanziare le -formule, e quindi introduciamo una nuova costante, come fatto nelcaso delle �-formule. Se a1 e questa costante e consideriamo l’istanza di F1 relativaad a1 otteniamo un nodo etichettato da

F1, F2, F3, ∃y r(a1, y)

(notare che non abbiamo cancellato la -formula utilizzata).Se ora agiamo sulla �-formula ∃y r(a1, y) (che possiamo cancellare) introducen-

do la nuova costante a2 il nodo successivo sara etichettato da

F1, F2, F3, r(a1, a2).

Ora F1 puo essere istanziata su a2 e otteniamo un nodo etichettato da

F1, F2, F3, r(a1, a2), ∃y r(a2, y)

che conduce al nodo etichettato da

F1, F2, F3, r(a1, a2), r(a2, a3).

Proseguendo in questo tableau e chiaro che la costruzione non terminera mai,ma otterremo un ramo infinito le cui etichette conterranno i letterali del tipor(ai, ai+1). Cio suggerisce un interpretazione che soddisfa F ed ha dominio infinito:DI = ℕ, rI = { (i, j) : i < j }.

In effetti F non ha interpretazioni con dominio finito, come dimostrato nell’e-sercizio 8.16, e quindi il ramo infinito di questo tableau e inevitabile.

Nota 10.13. L’esempio 10.12 mostra che il metodo dei tableaux non e una proce-dura di decisione per la soddisfacibilita (o la validita) degli enunciati predicativi: epossibile che la sua esecuzione si prolunghi all’infinito.

Esempio 10.14. Sia F l’enunciato dell’esempio 10.12 e indichiamo con F ′ l’enun-ciato F ∧p(a1)∧¬p(a1) (in questo caso a1 e un simbolo di costante del linguaggio).

E evidente che F ′ e insoddisfacibile. E altrettanto evidente che potremmo ripeterela costruzione del tableau dell’esempio 10.12 aggiungendo semplicemente in ognietichetta l’enunciato p(a1) ∧¬p(a1), senza mai agire su di essa. Otterremo dunqueun tableau con un ramo infinito, che suggerisce soddisfacibilita dell’enunciato dipartenza.

Nota 10.15. Il comportamento dell’esempio 10.14 e dovuto al fatto che le -formulenon vengono cancellate dalle etichette e quindi si puo continuare ad agire su diesse e “dimenticarsi” di qualche altra formula (nel nostro esempio la �-formulap(a)∧ ¬p(a)) mancando cosı delle opportunita di chiudere il tableau. Notiamo chequesto non avveniva nel caso proposizionale, perche ogni formula utilizzata venivacancellata dall’etichetta e si aveva la proprieta della terminazione forte.

La soluzione a questo problema verra ottenuta procedendo ad una costruzionesistematica del tableau, in cui non ci si potra “dimenticare” di qualche formula.

Nella prossima sezione descriviamo l’algoritmo dei tableaux predicativi senzatener conto del problema evidenziato dall’esempio 10.14. Il tableau quindi non verracostruito in maniera sistematica, ma questo e sufficiente a dimostrare la correttezzadel nostro metodo nella sezione 4. Nella sezione 5 descriveremo come ottenere lacostruzione sistematica del tableau, che ci portera ad un risultato di completezzadi cui accenneremo la dimostrazione nella sezione 6.

3. L’ALGORITMO 109

3. L’algoritmo

Diverse parti della descrizione dell’algoritmo riproducono fedelmente le par-ti corrispondenti nell’algoritmo corrispondente nel caso proposizionale (algoritmo4.8): bisogna dunque prestare attenzione soprattutto alle parti nuove, cioe quelleche riguardano - e �-formule. Un’altra differenza e che il fatto che le -formulenon vengano mai eliminate dalle etichette ha come conseguenza che non possiamoaspettarci di arrivare a foglie la cui etichetta e un insieme di letterali: una fogliaverra chiusa quando contiene una coppia complementare di letterali, anche se afianco di essa ci sono formule che non sono letterali.

Algoritmo 10.16. Un tableau per un enunciato F e un albero in cui ogni nodoe etichettato con un insieme finito di enunciati. Il tableau e costruito per stadiT0, . . . , Ti, . . . : per ogni i, Ti+1 e un albero che estende Ti aggiungendo uno odue nodi con le rispettive etichette e lasciando invariate le etichette dei nodi giaappartenenti a Ti. L’unione degli alberi Ti e il tableau per F . Se n e un nodo diqualche Ti indichiamo con E(n) l’etichetta di n (che, per quanto detto prima, e lastessa per tutti i Ti cui appartiene n).

All’inizio della costruzione T0 consiste di un solo nodo (la radice dell’albero)etichettato con {F}. Allo stadio i cerchiamo una foglia n dell’albero Ti tale cheE(n)non contiene una coppia complementare di letterali e contiene qualche enunciato chenon e un letterale. Se una tale foglia non esiste siamo al termine della costruzionee il tableau e completo. Altrimenti fissiamo n e scegliamo un enunciato G ∈ E(n)che non e un letterale. Per il lemma 10.8 ci sono cinque possibilita:

(1) se G e una doppia negazione con ridotto G1 aggiungiamo un nodo n′ sotton e poniamo E(n′) = (E(n) ∖ {G}) ∪ {G1};

(2) se G e una �-formula con ridotti G1 e G2 aggiungiamo un nodo n′ sotto n eponiamo E(n′) = (E(n) ∖ {G}) ∪ {G1, G2};

(3) se G e una �-formula con ridotti G1 e G2 aggiungiamo due nodi tra loroinconfrontabili n1 e n2 sotto n e poniamo E(n1) = (E(n) ∖ {G}) ∪ {G1} eE(n2) = (E(n) ∖ {G}) ∪ {G2};

(4) se G e una -formula sia a un simbolo di costante che compare in E(n) (senessun simbolo di costante compare in E(n) sia a una nuova costante) e siaG1 l’istanza di G relativa ad a: aggiungiamo un nodo n′ sotto n e poniamoE(n′) = E(n) ∪ {G1};

(5) se G e una �-formula sia a una costante che non compare in E(n) e siaG1 l’istanza di G relativa ad a: aggiungiamo un nodo n′ sotto n e poniamoE(n′) = (E(n) ∖ {G}) ∪ {G1}.

Notiamo che in ogni caso n non e una foglia di Ti+1 e le etichette dei nuovi nodicontengono solo enunciati.

L’algoritmo che abbiamo appena descritto e non deterministico perche ad ognipasso scegliamo una foglia n con certe caratteristiche e, all’interno di E(n), sce-gliamo un enunciato che non sia un letterale. Inoltre in alcuni casi e necessarioscegliere anche un’istanza della -formula considerata. Questo implica che qual-che enunciato che non e un letterale puo non essere mai scelto (come accade negliesempi 10.12 e 10.14), oppure che qualche istanza di una -formula non appartengaa nessun E(n). Nel caso proposizionale cio non poteva avvenire, come dimostratodal teorema 4.14.

Come nel caso proposizionale, gli alberi T0, . . . , Ti, . . . non sono rappresentatiseparatamente: si deve piuttosto pensare che il tableau “cresce” verso la sua formafinale, che usualmente e l’unica che vediamo.

Definizione 10.17. Sia n un nodo del tableau che ha successori nel tableau: laformula su cui si agisce in n e la G della descrizione dell’algoritmo.

110 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

Nota 10.18. I nodi su cui non possiamo agire nella costruzione del tableau sonoquelli la cui etichetta contiene una coppia complementare di letterali oppure con-tiene solamente letterali. La costruzione del tableau si arresta se e soltanto se tuttele foglie dell’albero sono di uno di questi tipi.

Convenzione 10.19. Come nel caso proposizionale, per comodita di lettura ag-giungeremo sotto i nodi del tableau su cui non possiamo agire uno dei simboli

e⃝: se l’etichetta del nodo contiene una coppia complementare di letterali useremo⊗

, altrimenti ⃝.Inoltre, per alleggerire la notazione, evitiamo di indicare le parentesi { e }

intorno agli elementi di E(n).

Nota 10.20. E importante notare che la costruzione dei tableaux predicativi nongode della proprieta della terminazione forte, come gia evidenziato nell’esempio10.12 e nella nota successiva. E quindi possibile che un tableau non abbia foglie, osolo alcuni dei suoi rami terminino con una foglia mentre altri siano infiniti.

Per semplificare la costruzione dei tableau adottiamo da subito la convenzione4.33, che riportiamo qui:

Convenzione 10.21. Da questo punto in poi ogniqualvolta nelle etichette di unnodo di un tableau compare una doppia negazione F con ridotto G scriveremodirettamente G, utilizzando la regola della doppia negazione immediatamente econtraendo due nodi in uno.

Esempio 10.22. Costruiamo un tableau per ¬(∀x¬p(x) → ¬∃x p(x)). In ogni no-do sottolineiamo la formula su cui agiamo in quel nodo e utilizziamo la convenzione10.21. Notiamo che la -formula ∀x¬p(x) non viene mai cancellata.

¬(∀x¬p(x) → ¬∃x p(x))

∀x¬p(x), ∃x p(x)

∀x¬p(x), p(a)

∀x¬p(x),¬p(a), p(a)⊗

Ecco un altro tableau per lo stesso enunciato: qui abbiamo agito sulla -formulaprima di aver eliminato la �-formula, e questo porta alla creazione di un simbolo dicostante “inutile” (in questo caso a) e al dover agire due volte sulla -formula (unavolta per creare l’istanza relativa a a, che non ci portera a chiudere alcuna foglia,ed una volta per creare l’istanza relativa a b).

¬(∀x¬p(x) → ¬∃x p(x))

∀x¬p(x), ∃x p(x)

∀x¬p(x),¬p(a), ∃x p(x)

∀x¬p(x),¬p(a), p(b)

∀x¬p(x),¬p(b),¬p(a), p(b)⊗

Nota 10.23. Per semplificare il piu possibile il tableau costruito dall’algoritmo10.16 e opportuno agire sulle formule disponibili nel seguente ordine: doppie ne-gazioni o �-formule, �-formule, �-formule, -formule. Questa indicazione nasce

4. LA CORRETTEZZA DEI TABLEAUX PREDICATIVI 111

innanzitutto dall’opportunita di applicare prima le regole proposizionali, che sonopiu semplici. La ragione per preferire doppie negazioni e �-formule alle �-formule estata gia discussa nella nota 4.39. Agendo sulle �-formule prima che sulle -formulesi ritarda il piu possibile l’introduzione di nuove costanti e si usano prima le formuleche vengono eliminate.

Esempio 10.24. Costruiamo un tableau per l’enunciato

∀x(p(x) → q(x)) ∧ ∀x(¬q(x) → p(x)) ∧ ∃x¬q(x).Indichiamo con F e G gli enunciati ∀x(p(x) → q(x)) e ∀x(¬q(x) → p(x)). In ognipassaggio sottolineiamo la formula su cui agiamo.

F ∧G ∧ ∃x¬q(x)

F ∧G, ∃x¬q(x)

F,G, ∃x¬q(x)

F ,G,¬q(a)

F,G,¬q(a), p(a) → q(a)

F,G,¬q(a),¬p(a) F,G,¬q(a), q(a)⊗

F,G,¬q(a),¬p(a),¬q(a) → p(a)

F,G,¬q(a),¬p(a), q(a) F,G,¬q(a),¬p(a), p(a)⊗ ⊗

Esercizio 10.25. Costruite un tableau per

∃x p(x) ∧ ∀x (∃y r(x, y) → ¬p(x)) ∧ ∀x r(x, a).

4. La correttezza dei tableaux predicativi

In questa sezione dimostreremo l’analogo per i tableaux predicativi del teorema4.23 per i tableaux proposizionali. Anche in questo caso iniziamo con le definizionidi tableau chiuso e aperto.

Definizione 10.26. Un tableau e chiuso se non ha rami infiniti e tutte le sue fogliesono etichettate con insiemi di enunciati che contengono una coppia complementaredi letterali. Un tableau e aperto se non e chiuso, cioe se contiene un ramo infinitooppure una foglia etichettata con un insieme di letterali che non contiene coppiecomplementari.

Un ramo aperto di un tableau e un ramo infinito oppure un ramo che collegala radice dell’albero con una foglia etichettata con un insieme di letterali che noncontiene coppie complementari.

Teorema 10.27 (Teorema di correttezza). Se T e un tableau chiuso per l’enunciatoF allora F e insoddisfacibile.

Dimostrazione. La dimostrazione ricalca da vicino quella del caso proposizio-nale. Sia T un tableau chiuso per F . Come nel caso proposizionale, dimostreremoi seguente fatto, che indichiamo con (†):

per ogni nodo n di T l’insieme di formule E(n) e insoddisfacibile.

112 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

Il caso particolare di (†) ottenuto quando n e la radice di T (e quindi E(n) = {F})mostra che F e insoddisfacibile.

Come nel caso proposizionale, la dimostrazione di (†) e per induzione sull’al-tezza del nodo n in T .

Il caso in cui l’altezza di n in T e 0 e immediato per il lemma 10.3.Se l’altezza di n in T e maggiore di 0, allora n ha uno o due successori in T ,

che sono stati ottenuti agendo su qualche G ∈ E(n) e ci sono cinque possibilita.Nei primi tre casi, cioe quando G e una doppia negazione, una �-formula o una �-formula, la dimostrazione del caso proposizionale puo essere ripetuta tale e quale,cambiando solamente la notazione utilizzata per le interpretazioni. Restano dunquesolo i casi delle - e �-formule.

(4) se G e una -formula, n ha un solo successore n′ e si ha E(n′) = E(n)∪{G1}dove G1 e un’istanza di G. Ragionando come negli altri casi e sfruttandol’ipotesi induttiva si ottiene che E(n′) e insoddisfacibile. Supponiamo perassurdo che I, � ∣= E(n). Dato che G ∣= G1 (lemma 10.6) e I, � ∣= G(perche G ∈ E(n)) si ha anche I, � ∣= G1. Quindi I, � ∣= E(n′), control’insoddisfacibilita di E(n′).

(5) se G e una �-formula, n ha un solo successore n′ e si ha E(n′) = (E(n) ∖{G}) ∪ {G1} dove G1 e un’istanza di G relativa ad un simbolo di costantea che non compare in E(n). Sfruttando l’ipotesi induttiva si ottiene cheE(n′) e insoddisfacibile. Sia Γ = E(n) ∖ {G}. Il lemma 10.7 implica chese E(n) = Γ, G fosse soddisfacibile lo sarebbe anche E(n′) = Γ, G1. QuindiE(n) e insoddisfacibile.

Abbiamo dunque dimostrato (†) e quindi il teorema. □

Corollario 10.28. Se un tableau per l’enunciato ¬F e chiuso allora F e valido.

Dimostrazione. Immediata dai teoremi 10.27 e 7.82. □

Esempio 10.29. Costruiamo un tableau per mostrare la validita dell’enunciato

∃x r(a, x) ∧ ∀x(∃y r(y, x) → ¬p(x)) → ∃x¬p(x).Indichiamo con F l’enunciato ∀x(∃y r(y, x) → ¬p(x)), con G l’enunciato ¬∃x¬p(x)e con H l’enunciato ¬∃y r(y, b). In ogni passaggio sottolineiamo la formula su cuiagiamo.

¬(∃x r(a, x) ∧ F → ∃x¬p(x))

∃x r(a, x) ∧ F ,G

∃x r(a, x), F,G

r(a, b), F ,G

r(a, b), F,G, ∃y r(y, b) → ¬p(b)

r(a, b), F,G,H r(a, b), F,G,¬p(b)

r(a, b), F,G,H,¬r(a, b) r(a, b), F,G,¬p(b), p(b)⊗ ⊗

Notate come nel passaggio in cui abbiamo agito su F avremmo potuto aggiungerel’istanza di F relativa a a (anziche, come abbiamo fatto, quella relativa a b). Lascelta di b e pero apparsa migliore perche il nostro obiettivo e chiudere il tableau:

5. LA COSTRUZIONE SISTEMATICA DEI TABLEAUX 113

in particolare la presenza di r(a, b) nell’etichetta del nodo ha suggerito di creareun’istanza in cui b apparisse come secondo argomento di r. Considerazioni analoghepossono essere fatte per i nodi in cui abbiamo agito su H e su G.

Esempio 10.30. Sia F l’enunciato

∃x∀y r(y, x) ∧ ∀x∀y(r(y, x) → r(x, y)) → ∃x r(x, a).Usiamo il metodo dei tableaux per mostrare che F e valida. Indichiamo con G l’e-nunciato ∀x∀y(r(y, x) → r(x, y)), con H l’enunciato ¬∃x r(x, a), con K l’enunciato∀y r(y, b) e con L l’enunciato ∀y(r(y, b) → r(b, y)). Come al solito sottolineiamo leformule su cui agiamo.

¬F

∃x∀y r(y, x) ∧G,H

∃x∀y r(y, x), G,H

K,G,H

K, r(a, b), G,H

K, r(a, b), G, L,H

K, r(a, b), G, L, r(a, b) → r(b, a), H

K, r(a, b), G, L,¬r(a, b), H K, r(a, b), G, L, r(b, a), H⊗

K, r(a, b), G, L, r(b, a), H,¬r(b, a)⊗

Anche in questo caso siamo riusciti ad ottenere una chiusura piuttosto rapida deltableau scegliendo opportunamente i simboli di costante su cui istanziare le -formule.

Esercizio 10.31. Studiate con il metodo del tableaux gli enunciati degli esempi7.78 e 7.81 e degli esercizi 7.14, 7.19, 7.86, 7.87 e 7.89 che non contengono simbolidi funzione. Verificate che il risultato ottenuto con i tableaux coincida con quelloottenuto in precedenza.

5. La costruzione sistematica dei tableaux

Come evidenziato dall’esempio 10.14, l’algoritmo 10.16 non e sufficiente perdimostrare il teorema di completezza per i tableaux predicativi: se F e insoddisfa-cibile e possibile che un tableau per F non sia chiuso. Come gia suggerito nellanota 10.15, la soluzione a questo problema e rendere l’algoritmo 10.16 “sistematico”,eliminando alcuni aspetti di non determinismo che esso contiene.

In pratica si tratta di fare ogni possibile tentativo per chiudere il tableau,non “dimenticando” nessuna formula e considerando ogni possibile istanza delle -formule che si incontrano (puo essere utile riesaminare l’esempio 10.11, ed inparticolare le considerazioni che hanno portato alla versione finale del tableau).

In sostanza vogliamo fare in modo che se r e un ramo aperto di un tableau eΣ =

n∈r E(n):

(a) se G ∈ Σ non e un letterale allora in qualche nodo di r si agisce su G;

114 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

(b) se G ∈ Σ e una -formula e c e un simbolo di costante che compare in qualcheformula di Σ allora l’istanza di G relativa a c appartiene a Σ.

Per raggiungere questi obiettivi:

(a) agiremo sempre prima sulle formule che vengono eliminate (doppie negazioni,�-, �- e �-formule) che sulle -formule: questo ci assicura che nessuna doppianegazione, �-, �- o �-formula venga “dimenticata” e che prima o poi si arriveraanche ad agire sulle -formule;

(b) se E(n) contiene qualche -formula affiancheremo a E(n) una funzione Cn

che assegna ad ogni -formula G ∈ E(n) un insieme di simboli di costanteCn(G): l’idea e che se c ∈ Cn(G) l’istanza di G relativa a c deve essere ancoraconsiderata. Quando agiamo su G (e in realta agiremo su tutte le -formule diE(n) simultaneamente) aggiungeremo all’etichetta del nodo che stiamo creandotutte le istanze di G relative a elementi di Cn(G).

Algoritmo 10.32. Un tableau sistematico per un enunciato F e un albero in cuiogni nodo e etichettato con un insieme finito di enunciati E(n) e con una funzioneCn che associa ad ogni -formula di E(n) (se ce ne sono) un insieme finito disimboli di costante. Il tableau e costruito per stadi T0, . . . , Ti, . . . : per ogni i, Ti+1

e un albero che estende Ti aggiungendo uno o due nodi con le rispettive etichette elasciando invariate le etichette dei nodi gia appartenenti a Ti. L’unione degli alberiTi e il tableau per F .

All’inizio della costruzione T0 consiste di un solo nodo (la radice dell’albero)etichettato con {F} e, se F e una -formula, con la funzione che associa a Fl’insieme dei simboli di costante che compaiono in F o, se non ce ne sono, l’insieme{c} dove c e un simbolo di costante qualsiasi.

Allo stadio i diciamo che una foglia n dell’albero Ti e

una foglia finale: se E(n) contiene una coppia complementare di letterali,oppure se E(n) contiene solo letterali e -formule G tali che Cn(G) = ∅;

un -nodo: se non e una foglia finale ma E(n) contiene solo letterali e -formule (questo implica che esiste qualche -formula G ∈ E(n) per cuiCn(G) ∕= ∅);

un nodo ordinario: se non e ne una foglia finale ne un -nodo (questoimplica che E(n) contiene qualche doppia negazione, �-, �- o �-formula).

Cerchiamo una foglia n dell’albero Ti che sia un nodo ordinario. Se esistefissiamo n e scegliamo un enunciato G ∈ E(n) che sia una doppia negazione, oppureuna �-, �- o �-formula:

(1) se G e una doppia negazione con ridotto G1 aggiungiamo un nodo n′ sotton e poniamo E(n′) = (E(n) ∖ {G}) ∪ {G1}; per ogni -formula H ∈ E(n)poniamo Cn′(H) = Cn(H); se G1 e una -formula definiamo Cn′(G1) comel’insieme dei simboli di costante che compaiono in E(n′) o, se non ce ne sono,l’insieme {c} dove c e un simbolo di costante qualsiasi;

(2) se G e una �-formula con ridotti G1 e G2 aggiungiamo un nodo n′ sotto ne poniamo E(n′) = (E(n) ∖ {G}) ∪ {G1, G2}; per ogni -formula H ∈ E(n)poniamo Cn′(H) = Cn(H); se Gi (i = 1 o i = 2) e una -formula definiamoCn′(Gi) come l’insieme dei simboli di costante che compaiono in E(n′) o, senon ce ne sono, l’insieme {c} dove c e un simbolo di costante qualsiasi;

(3) se G e una �-formula con ridotti G1 e G2 aggiungiamo due nodi tra loroinconfrontabili n1 e n2 sotto n e poniamo per i = 1 e i = 2, E(ni) = (E(n) ∖{G})∪{Gi}; per ogni -formula H ∈ E(n) poniamo Cni

(H) = Cn(H); se Gi

e una -formula definiamo Cni(Gi) come l’insieme dei simboli di costante che

compaiono in E(ni) o, se non ce ne sono, l’insieme {c} dove c e un simbolodi costante qualsiasi;

6. CENNI SULLA COMPLETEZZA DEI TABLEAUX PREDICATIVI 115

(4) se G e una �-formula sia a una costante che non compare in E(n) e siaG1 l’istanza di G relativa ad a: aggiungiamo un nodo n′ sotto n e ponia-mo E(n′) = (E(n) ∖ {G}) ∪ {G1}; per ogni -formula H ∈ E(n) poniamoCn′(H) = Cn(H)∪ {a}; se G1 e una -formula definiamo Cn′(G1) come l’in-sieme dei simboli di costante che compaiono in E(n′) (che comprende almenoa ed e quindi non vuoto).

Se non esistono nodi ordinari cerchiamo un -nodo n. Sia Γ l’insieme di tuttele istanze di -formule G ∈ E(n) relative a simboli di costante in Cn(G) (notiamoche la definizione di -nodo implica che Γ non e vuoto). Aggiungiamo un nodon′ sotto n e poniamo E(n′) = E(n) ∪ Γ; per ogni -formula H ∈ E(n) poniamoCn′(H) = ∅; se H ∈ Γ ∖E(n) e una -formula definiamo Cn′(H) come l’insieme deisimboli di costante che compaiono in E(n′) (esistono certamente quelli su cui sonostate istanziate le -formule di E(n)).

Se infine non esistono ne nodi ordinari ne -nodi siamo al termine della costru-zione e il tableau e completo.

Esempio 10.33. Descriviamo un tableau sistematico per l’enunciato ∀x∃y r(x, y)(che indichiamo con F ) che e all’origine del fatto che il tableau dell’esempio 10.12e infinito.

F e una -formula e quindi alla radice n1 del tableau possiamo porre Cn1(F ) =

{a1}. Dato che n1 e un -nodo il nodo successivo m1 e etichettato da F , ∃y r(a1, y)(in questo caso Γ ha un solo elemento) e abbiamo Cm1

(F ) = ∅.Ora abbiamo un nodo ordinario e agiamo sulla �-formula ∃y r(a1, y): il nodo

successivo n2 e etichettato da F , r(a1, a2) e abbiamo Cn2(F ) = {a2}.

n2 e nuovamente un -nodo: il nodo successivom2 e etichettato da F , r(a1, a2),∃y r(a2, y) (Γ ha nuovamente un solo elemento) e abbiamo Cm2

(F ) = ∅.m2 e un nodo ordinario in cui si agisce su una �-formula ed e seguito da un

-nodo n3, poi da un altro nodo ordinario m4 e cosı via. Quando si agisce sumi si introduce il simbolo di costante ai+1 e l’istanza di F relativa a ai+1 verraintrodotta agendo su ni+1 (e quindi nell’etichetta di mi+1). Inoltre Cni

(F ) = {ai}e Cmi

(F ) = ∅. Nelle etichette dei nodi si aggiungono uno dopo l’altro gli enunciatiatomici della forma r(ai, ai+1).

Il tableau suggerisce un’interpretazione con dominio infinito che soddisfa F :DI = ℕ, rI = { (i, i+ 1) : i ∈ ℕ }. Notiamo pero che F e soddisfatta anche dainterpretazioni con dominio finito (addirittura da un’interpretazione con dominiodi un solo elemento!) che il tableau non e riuscito a individuare.

La dimostrazione del teorema di correttezza 10.27 puo essere adattata facilmen-te ai tableaux sistematici (l’unico caso in cui c’e una reale differenza e quello delle -formule, in cui si puo comunque sfruttare il lemma 10.6) ottenendo che anche ilmetodo dei tableaux sistematici e corretto.

Teorema 10.34 (Teorema di correttezza per i tableaux sistematici). Se T e untableau sistematico chiuso per l’enunciato F allora F e insoddisfacibile.

6. Cenni sulla completezza dei tableaux predicativi

L’algoritmo 10.32 dei tableaux sistematici e stato introdotto per ottenere lacompletezza, cioe per dimostrare che se un enunciato e insoddisfacibile allora ilmetodo dei tableaux riesce a scoprirlo.

Teorema 10.35 (Teorema di completezza). Se l’enunciato F e insoddisfacibileallora ogni tableau sistematico per F e chiuso.

116 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

Schema della dimostrazione. Seguiamo l’approccio utilizzato nel caso deitableaux proposizionali (teorema 4.24), cioe proviamo che se qualche tableau siste-matico per F e aperto allora F e soddisfacibile. Sia dunque T un tableau sistematicoaperto per F e fissiamo un ramo aperto (finito o infinito) r di T . La dimostrazionesi sviluppa in tre passi:

a. definizione di insieme di Hintikka (definizione 10.36);b. dimostrazione che ogni insieme di Hintikka e soddisfacibile (lemma 10.40);c. dimostrazione che

n∈r E(n) e un insieme di Hintikka (lemma 10.41).

Dato che F ∈ ∪

n∈r E(n) (perche la radice del tableau appartiene a r) questi passisono sufficienti a completare la dimostrazione.

Nel seguito diamo la definizione di insieme di Hintikka, ed enunciamo precisa-mente i lemmi che corrispondono al secondo e al terzo passo, limitandoci a daresolamente alcuni cenni relativamente alle loro dimostrazioni. □

La definizione di insieme di Hintikka riprende quella del caso proposizionale(definizione 4.25): aggiungiamo le condizioni riguardanti - e �-formule.

Definizione 10.36. Un insieme di enunciati Γ in cui compare almeno un simbolodi costante e un insieme di Hintikka se sono soddisfatte le seguenti condizioni:

(1) Γ non contiene coppie complementari di letterali;(2) se una doppia negazione appartiene a Γ allora il suo ridotto appartiene a Γ;(3) se una �-formula appartiene a Γ allora entrambi i suoi ridotti appartengono

a Γ;(4) se una �-formula appartiene a Γ allora almeno uno dei suoi ridotti appartiene

a Γ;(5) se una -formula F appartiene a Γ allora tutte le istanze di F relative a

simboli di costante che compaiono in Γ appartengono a Γ;(6) se una �-formula appartiene a Γ allora almeno una delle sue istanze appartiene

a Γ.

Esempio 10.37. L’insieme

{∀x(¬r(x, a) → ∃y r(y, x)),¬r(a, a) → ∃y r(y, a), ∃y r(y, a),r(b, a),¬r(b, a) → ∃y r(y, b),¬¬r(b, a)}

e un insieme di Hintikka. Infatti non contiene coppie complementari di letterali,contiene il ridotto della doppia negazione ¬¬r(b, a), uno dei ridotti di ciascuna delle�-formule ¬r(a, a) → ∃y r(y, a) e ¬r(b, a) → ∃y r(y, b), le istanze relative a a e bdella -formula ∀x(¬r(x, a) → ∃y r(y, x)) ed una istanza (quella relativa a b) della�-formula ∃y r(y, a).Esercizio 10.38. Siano F1 e F2 gli enunciati ∀x(¬p(x) ∧ r(x, x)) e ∃x(p(x) ∨¬r(x, x)).(i) Definite insiemi di Hintikka Γ1 e Γ2 con Fi ∈ Γi.(ii) Γ1 ∪ Γ2 e un insieme di Hintikka?(iii) (★) Esiste un insieme di Hintikka che contiene sia F1 che F2?

Esercizio 10.39. Verificare che l’insieme di enunciati che compaiono nelle etichettedel ramo aperto del tableau ottenuto al termine dell’esempio 10.11 e un insieme diHintikka.

Lemma 10.40 (Lemma di Hintikka). Ogni insieme di Hintikka e soddisfacibile.

Cenno di dimostrazione. Sia Γ un insieme di Hintikka e sia C l’insieme deisimboli di costante che compaiono in Γ. Per ipotesi si ha C ∕= ∅.

6. CENNI SULLA COMPLETEZZA DEI TABLEAUX PREDICATIVI 117

Definiamo un’interpretazione I per il linguaggio di Γ ponendo: DI = C, cI = cper ogni c ∈ C, pI = { (c1, . . . , cn) ∈ Cn : p(c1, . . . , cn) ∈ Γ } per ogni simbolo direlazione n-ario p che compare in Γ (ricordiamo che stiamo supponendo che illinguaggio non contenga simboli di funzione).

Si dimostra poi, estendendo i ragionamenti svolti per dimostrare il lemma 4.29(che e la versione proposizionale del presente lemma), che per ogni F ∈ Γ si haI ∣= F e questo implica che Γ e soddisfacibile. □

Lemma 10.41. Se r e un ramo aperto (finito o infinito) di un tableau sistematicoallora Γ =

n∈r E(n) e un insieme di Hintikka.

Cenno di dimostrazione. Bisogna verificare che Γ soddisfa le sei proprietadella definizione di insieme di Hintikka. La dimostrazione e anche in questo casouna generalizzazione di quella del caso proposizionale (lemma 4.30). Ci sono perodiverse difficolta in piu, principalmente dovute al fatto che r e Γ possono essereinfiniti.

Preliminarmente e necessario dimostrare che si agisce su ogni formula di Γ chenon e un letterale. Inoltre il caso delle -formule richiede particolare attenzione:bisogna infatti verificare che tutte le loro istanze relative a simboli di costante checompaiono in Γ appartengono a Γ. □

La dimostrazione del teorema di completezza accennata sopra fornisce infor-mazioni su come trovare un’interpretazione che soddisfi un enunciato il cui tableaue aperto.

Lemma 10.42. Sia r un ramo di un tableau sistematico per l’enunciato F che eaperto. Siano Γ =

n∈r E(n) e C l’insieme dei simboli di costante che compaiononelle etichette dei nodi di r.

Sia I l’interpretazione definita da: DI = C, cI = c per ogni c ∈ C che comparein F , pI = { (c1, . . . , cn) ∈ Cn : p(c1, . . . , cn) ∈ Γ } per ogni simbolo di relazionen-ario p che compare in F . Allora I ∣= F .

Un esempio di applicazione di questo lemma e contenuto nell’esempio 10.33.Anche l’esempio 10.11 contiene un esempio di questo tipo: in questo caso il ta-bleau ottenuto al termine di quell’esempio non soddisfa esattamente alla nostradefinizione di tableau sistematico (perche le istanze di H relative ad a e b non ven-gono introdotte simultaneamente), ma e stato costruito senza dimenticare nessunaformula e soddisfa al teorema di completezza.

Nota 10.43. I teoremi di correttezza e completezza mostrano che il metodo deitableaux sistematici e una procedura di semidecisione per l’insoddisfacibilita (equindi per il lemma 7.82 anche per la validita) degli enunciati della logica predi-cativa. Questo significa che se l’enunciato F e insoddisfacibile l’algoritmo 10.32 sifermera fornendoci la risposta corretta; se invece F e soddisfacibile l’algoritmo puoarrestarsi e dare la risposta corretta, oppure proseguire la sua esecuzione all’infinito.

Nota 10.44. Nel 1936 Alonzo Church, basandosi sul lavoro precedente di AlanTuring, ha dimostrato la non esistenza di una procedura di decisione per l’insoddi-sfacibilita degli enunciati predicativi: una procedura di semidecisione come quelladei tableaux e quanto di meglio si possa ottenere. Vediamo dunque che il casopredicativo e molto diverso dal caso proposizionale, in cui abbiamo introdotto dueprocedure di decisione per l’insoddisfacibilita (le tavole di verita ed il metodo deitableaux).

Nota 10.45. Come gia osservato nel caso proposizionale (nota 4.17), anche nel casopredicativo l’algoritmo di costruzione dei tableaux non prevede la sostituzione diuna formula con un’altra logicamente equivalente ad essa. Se introducessimo questa

118 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

possibilita, il teorema di completezza non sarebbe piu vero, perche un enunciatoinsoddisfacibile potrebbe avere tableaux con rami infiniti, e quindi aperti.

7. Tableaux per la conseguenza logica

Questa sezione ripercorre cio che e stato detto nella sezione 4.7.Abbiamo presentato il metodo dei tableaux come un metodo per studiare la

validita o la soddisfacibilita di un singolo enunciato. Usando l’esercizio 7.83 (inparticolare la parte riguardante il lemma 2.41) possiamo usare i tableaux per stu-diare la validita o la soddisfacibilita di un insieme finito di enunciati {F1, . . . , Fn}.Come nel caso proposizionale si ottiene il seguente algoritmo.

Algoritmo 10.46. Per stabilire se un insieme finito Γ = {F1, . . . , Fn} di enunciatie soddisfacibile costruiamo un tableau la cui radice e etichettata con Γ. Se il tableaue chiuso Γ e insoddisfacibile. Se il tableau e aperto e sistematico Γ e soddisfacibile(e un ramo aperto ci permette di definire un’interpretazione che soddisfa Γ).

Similmente la parte dell’esercizio 7.83 riguardante il lemma 2.38 ci permette diusare i tableaux per stabilire la sussistenza della relazione di conseguenza logica.Come nel caso proposizionale si ottiene il seguente algoritmo.

Algoritmo 10.47. Per stabilire se F1, . . . , Fn ∣= G costruiamo un tableau lacui radice e etichettata con {F1, . . . , Fn,¬G}. Se il tableau e chiuso abbiamoF1, . . . , Fn ∣= G. Se il tableau e aperto e sistematico allora F1, . . . , Fn ⊭ G, eun ramo aperto del tableau ci permette di definire un’interpretazione che soddisfaF1, . . . , Fn ma non G.

Esercizio 10.48. Studiate con il metodo del tableaux le conseguenze logiche deilemmi 7.46, 7.48, 7.50 e 7.55, degli esempi 7.30 e 7.52 e degli esercizi 7.31 e 7.57(verificate che il risultato ottenuto con i tableaux coincida con quello ottenuto inprecedenza). Per i problemi che riguardano generiche F e G utilizzate enunciatiatomici specifici. Quando avete a che fare con un’equivalenza logica usate l’esercizio7.34.

8. Tableaux per la logica con uguaglianza

Affrontiamo ora lo studio della logica con uguaglianza attraverso i tableaux.Vogliamo cioe utilizzare i tableaux per stabilire se una formulaG e valida nella logicacon uguaglianza o, piu in generale, se F1, . . . , Fn ∣== G (quando n = 0 abbiamoappunto la validita di G). Possiamo sfruttare il teorema 9.29, che ci dice cheF1, . . . , Fn ∣== G e equivalente a F1, . . . , Fn,Eqℒ ∣= G, dove ℒ = ℒ(F1, . . . , Fn, G).Dato che ℒ contiene solo un numero finito di simboli di relazione (e nessun simbolodi funzione, per la convenzione 10.1), l’insieme Eqℒ e finito, e quindi possiamoapplicare l’algoritmo 10.47. Otteniamo quindi il seguente algoritmo.

Algoritmo 10.49. Per stabilire se F1, . . . , Fn ∣== G costruiamo un tableau lacui radice e etichettata con {F1, . . . , Fn,¬G} ∪ Eqℒ. Se il tableau e chiuso alloraF1, . . . , Fn ∣== G. Se il tableau e aperto e sistematico allora F1, . . . , Fn ⊭= G. Inquesto secondo caso un ramo aperto del tableau ci permette di definire un’inter-pretazione I che soddisfa Eqℒ, F1, . . . , Fn ma non G. Per ottenere un’interpreta-zione normale utilizziamo il lemma 9.27: l’interpretazione normale I/=I soddisfaF1, . . . , Fn ma non G.

Esempio 10.50. Utilizziamo il metodo dei tableaux per dimostrare p(a),¬p(b) ∣==a ∕= b. Sia ℒ il linguaggio di queste formule: oltre all’uguaglianza, vi compaionoi simboli di costante a e b e il simbolo di relazione unario p. Nel tableau checostruiremo avremo bisogno di un solo elemento di Eqℒ, e precisamente dell’unico

9. TABLEAUX PER LINGUAGGI CON SIMBOLI DI FUNZIONE 119

enunciato di tipo (e5) di Eqℒ (facciamo evidentemente riferimento alla definizione6.61): ∀x∀y(x = y → (p(x) → p(y))), che indichiamo con E5. Indichiamo inoltrecon E′

5 l’enunciato ∀y(a = y → (p(a) → p(y))), che e un’istanza di E5. Ecco iltableau, da cui omettiamo gli altri elementi di Eqℒ (come al solito sottolineiamo leformule su cui agiamo):

p(a),¬p(b), a = b, E5

p(a),¬p(b), a = b, E5, E′5

p(a),¬p(b), a = b, E5, E′5, a = b→ (p(a) → p(b))

p(a),¬p(b), a = b, E5, E′5, a ∕= b p(a),¬p(b), a = b, E5, E

′5, p(a) → p(b)

p(a),¬p(b), a = b, E5, E′5,¬p(a) p(a),¬p(b), a = b, E5, E

′5, p(b)

⊗ ⊗

Esercizio 10.51. Mostrare utilizzando i tableaux che

∀x r(a, x), ∃x∃y ¬r(y, x) ∣== ∃xa ∕= x.

In questo caso sara necessario utilizzare anche l’enunciato (e1) della definizione6.61.

9. Tableaux per linguaggi con simboli di funzione

Supponiamo ora di voler utilizzare il metodo dei tableaux per formule di unlinguaggio che comprenda anche dei simboli di funzione. Se non ci preoccupiamodi avere un tableau sistematico, la modifica che dobbiamo fare all’algoritmo 10.16e piuttosto semplice, e riguarda solo le -formule. Nella nuova situazione quandoagiamo su una -formula possiamo aggiungere un’istanza relativa ad un terminechiuso (ricordare la definizione 6.9) che contenga anche simboli di funzione.

Innanzitutto e quindi necessario estendere la nozione di istanza a termini chiusiarbitrari.

Definizione 10.52. Se G e una -formula e t e un termine chiuso, l’istanza di Grelativa ad t e F{x/t} se G e ∀xF , e ¬F{x/t} se G e ¬∃xF .

La sostituzione effettuata nella definizione precedente e sempre ammissibile,perche t non contiene variabili. Osserviamo inoltre che il lemma 10.6 (che asserisceche una -formula ha come conseguenza logica ogni sua istanza) vale anche peristanze relative a termini chiusi che non siano simboli di costante (il lemma 7.45vale per termini arbitrari).

Algoritmo 10.53. Un tableau per un enunciato F in un linguaggio con simbolidi funzione e costruito dalla variante dell’algoritmo 10.16 ottenuta sostituendo lacondizione (4) con

(4′) se G e una -formula sia t un termine chiuso del linguaggio di E(n) (senessun simbolo di costante compare in E(n) aggiungiamo al linguaggio unsimbolo di costante) e sia G1 l’istanza di G relativa ad t: aggiungiamo unnodo n′ sotto n e poniamo E(n′) = E(n) ∪ {G1}.

La correttezza di questo algoritmo viene dimostrata imitando la dimostrazionedel teorema 10.27. Infatti nel caso (4) di quella dimostrazione si utilizzava il lemma

120 10. IL METODO DEI TABLEAUX: CASO PREDICATIVO

10.6, che (come osservato sopra) vale anche per istanze relative a termini chiusiarbitrari.

Esempio 10.54. Utilizziamo i tableaux per mostrare che

∀x(p(x) → r(x, f(x))), ∃y p(g(y)) ∣= ∃x∃y r(g(x), f(y)).Indichiamo con F , G e H gli enunciati ∀x(p(x) → r(x, f(x))), ¬∃x∃y r(g(x), f(y))e ¬∃y r(g(a), f(y)). Come al solito sottolineiamo le formule su cui agiamo.

F, ∃y p(g(y)), G

F, p(g(a)), G

F, p(g(a)) → r(g(a), f(g(a))), p(g(a)), G

F,¬p(g(a)), f(g(a))), p(g(a)), G F, r(g(a), f(g(a))), p(g(a)), G⊗

F, r(g(a), f(g(a))), p(g(a)), G,H

F, r(g(a), f(g(a))), p(g(a)), G,H,¬r(g(a), f(g(a)))⊗

Notiamo come nell’esempio precedente le azioni sulle �-formule non presen-tano differenze rispetto all’algoritmo 10.16: infatti abbiamo istanziato ∃y p(g(y))sul nuovo simbolo di costante a. Quando abbiamo agito sulle -formule abbiamoutilizzato la novita dell’algoritmo 10.53: abbiamo infatti istanziato F , G e H ri-spettivamente su g(a), a e g(a). Ancor piu che nel caso in cui non erano presentisimboli di funzione, bisogna scegliere oculatamente i termini chiusi su cui istanziarele -formule per riuscire a chiudere in meno passaggi possibili il tableau.

Esercizio 10.55. Dimostrare con il metodo dei tableaux che l’insieme di enunciati

{∀x(p(x) ∨ q(x)), ∀x(q(f(x)) → p(x)),¬∀x(¬p(x) → p(f(x)))}e insoddisfacibile.

Se vogliamo costruire tableaux sistematici per ottenere la completezza dell’al-goritmo la presenza di simboli di funzione causa qualche problema in piu. Infatti inun linguaggio con simboli di funzione ed almeno un simbolo di costante l’insieme deitermini chiusi e infinito (si veda l’esempio 6.16 per il caso piu semplice possibile diquesta situazione). Nell’algoritmo 10.32, nel caso in cui si trattavano le -formule, siaggiungeva all’etichetta del nodo l’insieme di tutte le istanze di -formule G ∈ E(n)relative a simboli di costante in Cn(G). Dato che ora sarebbe necessario considerareogni possibile istanza relativa a termini chiusi di ogni -formula, cio condurrebbead avere nodi etichettati con insiemi infiniti di formule, che non e accettabile. Persuperare questo ostacolo e necessario fare in modo che ad ogni passo si aggiungasolo un numero finito di istanze di -formule. Naturalmente e necessario fare inmodo che ogni istanza venga prima o poi aggiunta, e a tal fine e opportuno ordi-nare i termini chiusi e seguire l’ordine nella scelta delle istanze da aggiungere. Ciocomporta che i tableaux aperti per formule di linguaggi con simboli di funzionesono sempre infiniti (a meno che la formula sia talmente semplice da condurre adun tableau privo di -formule).

In questa sede omettiamo gli ulteriori dettagli necessari alla definizione di questitableaux sistematici.

CAPITOLO 11

La deduzione naturale: caso predicativo

In questo capitolo estendiamo alla logica predicativa il sistema deduttivo intro-dotto per la logica proposizionale nel capitolo 5. Continua ad essere utile la formula⊥ che rappresenta il falso: nel contesto predicativo si tratta di una formula atomicapriva di variabili libere che non e soddisfatta da nessuna interpretazione in nessunostato.

Scriveremo sempre Γ⊳ F per indicare l’esistenza di una deduzione naturale incui F e l’etichetta della radice e tutte le etichette delle foglie sono contenute nel-l’insieme Γ. La struttura di una deduzione come albero etichettato rimane semprela stessa e tutte le regole della deduzione naturale proposizionale fanno parte delnuovo sistema. Dobbiamo quindi solamente aggiungere regole di introduzione edeliminazione per i quantificatori.

1. La deduzione naturale e i quantificatori

Come i connettivi proposizionali, ogni quantificatore ha una regola di introdu-zione ed una di eliminazione. Vedremo come ognuna di queste regole richieda ilsoddisfacimento di certe condizioni da parte delle variabili e dei termini coinvolti.In questa sezione cercheremo di spiegare intuitivamente le ragioni per introdurrequeste condizioni, che peraltro risulteranno essenziali nella dimostrazione del teo-rema di correttezza 11.9. A questo proposito puo essere utile anche lo svolgimentodell’esercizio 11.10.

Per eliminare ∀ dobbiamo capire cosa possiamo dedurre se abbiamo gia dedotto∀xF . In questo caso sappiamo che F vale per qualunque oggetto vogliamo consi-derare: abbiamo cioe la possibilita di passare dall’universale al particolare. Datoche gli oggetti sono rappresentati dai termini, e naturale poter dedurre F{x/t} perqualunque termine t, a condizione che la sostituzione di x con t sia ammissibile inF . Nella notazione della sezione 5.1 possiamo quindi scrivere ∀xF ⊢ F{x/t}, se lasostituzione di x con t e ammissibile in F . In termini di deduzione naturale questaregola corrisponde all’albero

∀xF {x/t} ammissibile in FF{x/t}

L’introduzione di ∃, e in un certo senso l’operazione inversa: se abbiamo ottenu-to F{x/t} per qualche termine t la cui sostituzione al posto di x e ammissibile in F ,possiamo dedurre ∃xF . Infatti t rappresenta qualche oggetto e quindi F{x/t} hacome conseguenza l’esistenza di un oggetto che soddisfa F . In termini di deduzionenaturale otteniamo

F{x/t} {x/t} ammissibile in F∃xFUtilizzando queste due regole per i quantificatori possiamo dare un primo

esempio di deduzione naturale predicativa.

Esempio 11.1. Mostriamo che ∀x(p(x) → q(x)), p(f(a)) ⊳ ∃x q(f(x)):121

122 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

∀x(p(x) → q(x))

p(f(a)) → q(f(a)) p(f(a))

q(f(a))

∃x q(f(x))Abbiamo iniziato la deduzione naturale utilizzando (∀e) (la formula F e p(x) → q(x)e il termine t e f(a)), abbiamo poi sfruttato (→e), per concludere con un’applica-zione di (∃i) (alla formula q(f(x)) e al termine a). Il ragionamento rappresentato daquesta deduzione naturale e quello che svolgiamo in un caso del genere: se sappiamoche ogni elemento con la proprieta p possiede anche la proprieta q, e sappiamo chef(a) ha la proprieta p possiamo dedurre che f(a) ha la proprieta q e quindi cheesiste un elemento nell’immagine di f con quest’ultima proprieta.

Notiamo anche che da ∀x(p(x) → q(x)) avremmo potuto dedurre p(a) → q(a)invece di p(f(a)) → q(f(a)). Se avessimo fatto cosı la deduzione naturale nonavrebbe pero potuto procedere, vista l’impossibilita di utilizzare (→e) o qualsiasialtra regola. Analogamente, da q(f(a)) si poteva usare (∃i) per dedurre ∃x q(x)(formula q(x) e termine f(a)), che non e pero la conclusione desiderata.

Consideriamo ora l’introduzione di ∀. Una tipica dimostrazione di ∀xF avvieneconsiderando un elemento “generico” e dimostrando che F vale per quell’elemento.Ad esempio se sosteniamo di poter aprire qualsiasi bottiglia di birra con le mani,i nostri amici ci proporranno di mostrarlo aprendo una specifica bottiglia di bir-ra (non certo tutte le bottiglie di birra mai prodotte), ma esigeranno che quellabottiglia sia “generica”: ad esempio non puo certo essere una bottiglia gia apertae poi richiusa. Si passa quindi dal particolare al generale, ma a condizione che ilparticolare riguardi un elemento generico.

Gli elementi generici sono rappresentati nei linguaggi predicativi dalle variabili,ed in particolare possiamo utilizzare la variabile x stessa. Percio e sufficiente di-mostrare F a condizione che la variabile x sia “generica”. Dobbiamo pero rendererigorosa la condizione di genericita: perche x sia “generica” e necessario che nessunaipotesi, oltre a F , venga fatta su x. Per rendersene conto consideriamo la seguentededuzione naturale, estremamente simile alla prima parte di quella dell’esempio11.1:

c(x)

∀x(c(x) → m(x))

c(x) → m(x)

m(x)

Se interpretiamo c(x) come “x e un cane” e m(x) come “x e un mammifero” siamogiunti alla conclusione che x e un mammifero a partire dalle ipotesi che ogni canesia un mammifero e che x sia un cane. Sarebbe scorretto a questo punto concludere∀xm(x) (cioe “tutti sono mammiferi”), proprio perche su x e stata fatta l’ipotesiche rappresenti un cane. Questa ipotesi e espressa da una formula che ha x tra levariabili libere. La condizione di genericita di x viene quindi resa precisa con larichiesta che se abbiamo Γ ⊢ F , per poter dedurre ∀xF e necessario che x non sialibera in nessuna formula di Γ.

Riassumendo: se abbiamo Γ ⊢ F e x non e libera in nessuna formula di Γ,allora possiamo dedurre ∀xF . Otteniamo dunque l’albero

Γ

Fx non libera in Γ∀xF

Ecco un esempio in cui viene utilizzata questa regola.

Esempio 11.2. Mostriamo che ∀x(p(x) → q(x)), ∀x p(x) ⊳ ∀x q(x):

1. LA DEDUZIONE NATURALE E I QUANTIFICATORI 123

∀x p(x)p(x)

∀x(p(x) → q(x))

p(x) → q(x)

q(x)

∀x q(x)Anche in questo caso il ragionamento rappresentato da questa deduzione naturalee effettivamente “naturale”: se sappiamo che ogni elemento con la proprieta pha anche la proprieta q, e sappiamo che tutti gli elementi hanno la proprieta ppossiamo applicare le due informazioni ad un x generico, ottenendo che esso soddisfala proprieta q; la genericita di x ci assicura che ogni elemento ha quest’ultimaproprieta.

Rimane da considerare la regola di eliminazione di ∃. In questo caso ci puoaiutare l’osservazione (gia fatta nella nota 7.58) che la quantificazione esistenzialee una generalizzazione della disgiunzione. Percio la regola (∃e) ha degli aspetti incomune con (∨e): in particolare e una regola condizionale, che prevede lo scarica-mento. Per sfruttare il fatto che ∃xF tipicamente si assegna un nome generico (peresempio la variabile x stessa) all’oggetto di cui si sa l’esistenza, e si assume comeipotesi ausiliaria che F valga. Se, utilizzando l’ipotesi ausiliaria, giungiamo ad unaconclusione G vorremmo scaricare F e concludere G a partire da ∃xF . Per far cioe pero necessario che G non contenga delle informazioni specifiche su x (altrimentiG non sarebbe conseguenza di ∃xF , ma del fatto che l’elemento di cui sappiamol’esistenza sia proprio x). Similmente, e necessario che le altre ipotesi Γ utilizzatenella deduzione naturale non contengano ipotesi su x oltre a F (altrimenti x nonsarebbe sufficientemente generico). Queste condizioni si traducono nel fatto che xnon puo essere libera ne in G, ne in alcuna formula di Γ ∖ {F}.

Riassumendo: se da Γ, F possiamo dedurre G e se x non e libera in nessunaformula di Γ∖{F} e neppure in G, allora possiamo dedurreG da Γ, ∃xF . Otteniamodunque l’albero

∃xF

Γ, [F ]

G x non libera in Γ ∖ {F}, GG

Ecco un esempio in cui viene utilizzata la regola di eliminazione di ∃.

Esempio 11.3. Mostriamo che ∀x(p(x) → q(x)), ∃x p(x) ⊳ ∃x q(x):

∃x p(x)

[p(x)]1∀x(p(x) → q(x))

p(x) → q(x)

q(x)

∃x q(x)1∃x q(x)

Il ragionamento rappresentato da questa deduzione naturale inizia assegnando ilnome x all’elemento con la proprieta p che sappiamo esistere. Dato che sappiamoanche che ogni elemento con la proprieta p ha la proprieta q, x soddisfa anche qe percio esiste un elemento con quest’ultima proprieta. Quest’ultima affermazionenon riguarda x e percio essa non dipende dall’aver usato quel nome per designareun elemento con la proprieta p.

Notiamo che in questa deduzione naturale e necessario che (∃i) venga utilizzatoprima di (∃e): se avessimo invertito l’ordine di applicazione di queste due regoleavremmo applicato (∃e) alla formula q(x) (in cui x e libera), violando la condizioneper l’applicabilita di (∃e).

124 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

Le regole (∀i) e (∃e) possono essere generalizzate osservando che non e ne-cessario che l’elemento “generico” sia rappresentato proprio dalla variabile x cheviene quantificata: qualunque altra variabile sufficientemente generica puo essereutilizzata. In certi casi cio e effettivamente necessario, come mostrano i seguentiesempi.

Esempio 11.4. Supponiamo di voler mostrare che ∀x(p(x) → q(x)), F ∧∀x p(x)⊳∀x q(x), dove F e una formula qualunque. Con una piccola modifica alla deduzionenaturale dell’esempio 11.2 si ottiene

F ∧ ∀x p(x)∀x p(x)p(x)

∀x(p(x) → q(x))

p(x) → q(x)

q(x)

∀x q(x)Se x non e libera in F questa deduzione naturale e corretta e non presenta alcunproblema. Se invece x e libera in F siamo in presenza di una violazione dellacondizione relativa a (∀i) e la deduzione naturale non e accettabile.

Un esempio del tutto analogo puo essere fatto per (∃e) modificando l’esempio11.3 in modo che F ∧ ∀x(p(x) → q(x)), ∃x p(x) ⊳ ∃x q(x). Anche in questo caso sex e libera in F la deduzione naturale

∃x p(x)

[p(x)]1

F ∧ ∀x(p(x) → q(x))

∀x(p(x) → q(x))

p(x) → q(x)

q(x)

∃x q(x)1∃x q(x)

non e accettabile.

La soluzione naturale a queste difficolta e quella di utilizzare per indicarel’elemento generico una variabile diversa da x. Si ottengono quindi gli alberi

F ∧ ∀x p(x)∀x p(x)p(y)

∀x(p(x) → q(x))

p(y) → q(y)

q(y)

∀x q(x)e

∃x p(x)

[p(y)]1

F ∧ ∀x(p(x) → q(x))

∀x(p(x) → q(x))

p(y) → q(y)

q(y)

∃x q(x)1∃x q(x)

Notiamo pero che nel primo caso deduciamo ∀x q(x) da q(y), mentre nel secondocaso utilizziamo p(y) come ipotesi ausiliaria che scarichiamo in presenza di ∃x p(x).In entrambi i casi non stiamo applicando le regole introdotte in precedenza.

Prima di enunciare precisamente le generalizzazioni di (∀i) e (∃e), che indiche-remo con (∀i)g e (∃e)g, e necessario precisare le condizioni sulla variabile y utilizzataper l’elemento generico. In ogni caso e chiaramente necessario che la sostituzionedi x con y sia ammissibile in F .

1. LA DEDUZIONE NATURALE E I QUANTIFICATORI 125

Nel caso di (∀i)g, se abbiamo Γ ⊢ F{x/y}, per poter dedurre ∀xF e necessarioche y non sia libera in nessuna formula di Γ. Queste condizioni non sono pero ancorasufficienti per dedurre ∀xF . Per rendersene conto e bene considerare un nuovoesempio: se abbiamo ottenuto Γ ⊢ r(y, y) con y non libera in Γ, e corretto dedurre∀x r(x, x), mentre sarebbe scorretto ottenere ∀x r(x, y). Infatti da quest’ultimaformula, con un’ulteriore applicazione di (∀i), e possibile dedurre ∀y ∀x r(x, y), chenon e giustificata da Γ ⊢ r(y, y). In questo esempio le due occorrenze di y in r(y, y)sono considerate indipendentemente l’una dall’altra, e cio non e accettabile. Lacondizione che e necessario aggiungere e che y non sia libera neppure in ∀xF , cosıche la genericita di y sia sfruttabile una sola volta. Otteniamo dunque

Γ

{x/y} ammissibile in FF{x/y}

y non libera in Γ, ∀xF∀xFNel caso di (∃e)g e necessario richiedere che y non sia libera in ∃xF , per fare

in modo che essa rappresenti un elemento generico. Otteniamo dunque

∃xF

Γ, [F{x/y}]

{x/y} ammissibile in FG y non libera in Γ ∖ {F{x/y}}, ∃xF,G

GNotiamo che in (∀i)g e (∃e)g nulla proibisce che la variabile y sia proprio x. In

questo caso la sostituzione e ovviamente ammissibile e il fatto che y non sia liberain ∀xF o in ∃xF e immediato: si ottengono quindi (∀i) e (∃e) come casi particolari.

In realta (∀i)g e (∃e)g si possono ottenere da (∀i) e (∃e) e dalle altre regole.Per farlo e necessario partire da un’osservazione.

Lemma 11.5. Siano F una formula ed x e y due variabili distinte. Supponiamoche y non sia libera in F e che la sostituzione di x con y sia ammissibile in F .Allora la sostituzione di y con x e ammissibile in F{x/y} e F{x/y}{y/x} coincidecon F .

Dimostrazione. L’effetto della sostituzione {x/y} su F e quello di rimpiazza-re tutte le occorrenze libere di x con y. Dato che y non e libera in F , quelle ottenutein questo modo sono tutte le occorrenze libere di y in F{x/y}. In particolare nes-suna occorrenza libera di y in F{x/y} e nell’ambito d’azione di un quantificatoresu x, e percio la sostituzione di y con x e ammissibile in F{x/y}. Se effettuiamoquesta sostituzione rimpiazziamo tutte le occorrenze di y con x, e quindi ritorniamoalla situazione di partenza, ovvero a F . □

Esercizio 11.6. Sia F la formula r(x, y). La sostituzione di x con y e ammissibilein F? La sostituzione di y con x e ammissibile in F{x/y}? Scrivete F{x/y}{y/x}.Quale ipotesi del lemma 11.5 e stata violata?

Ripetete l’esercizio quando F e ∀x r(x, y) ∧ p(x).Esempio 11.7. In questo esempio dimostriamo (∀i)g. Quando x e y coincidonoabbiamo (∀i) e non c’e nulla da dimostrare. Supponiamo quindi che x e y sianovariabili distinte, che la sostituzione di x con y sia ammissibile in F , che Γ⊳F{x/y},e che y non sia libera in nessuna formula di Γ, ∀xF . Notiamo che y non e libera inF : quindi F{x/y}{y/x} e F per il lemma 11.5. Mostriamo Γ⊳ ∀xF come segue

Γ

F{x/y}∀y F{x/y}

[∀y F{x/y}]1F{x/y}{y/x}

∀xF1∀y F{x/y} → ∀xF

∀xF

126 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

In questa deduzione abbiamo applicato (∀i) due volte. Sulla sinistra abbiamo usa-to la variabile y, ma senza cambiare la formula, mentre sulla destra sfruttiamoche F{x/y}{y/x} e F e il fatto che x non e libera in ∀y F{x/y} perche tutte leoccorrenze libere di x sono state rimpiazzate da y.

Esempio 11.8. In questo esempio dimostriamo (∃e)g. Se le variabili x e y coin-cidono abbiamo (∃e) e non c’e nulla da dimostrare. Supponiamo quindi che x ey siano variabili distinte, che la sostituzione di x con y sia ammissibile in F , cheΓ, F{x/y}⊳G e che y non sia libera in nessuna formula di Γ ∖ {F{x/y}}, ∃xF,G.Nuovamente abbiamo che y non e libera in F e quindi F{x/y}{y/x} e F per illemma 11.5. Mostriamo che Γ, ∃xF ⊳G come segue

∃xF[F{x/y}{y/x}]1

∃y F{x/y}1∃y F{x/y}

Γ, [F{x/y}]2

⊳G

2G

In questa deduzione abbiamo applicato (∃e) due volte. Nella prima occasione scri-viamo F{x/y}{y/x} al posto di F , ed e immediato che x non e libera in ∃y F{x/y}.Nella seconda sfruttiamo l’ipotesi che y non e libera in Γ ∖ {F{x/y}}, G.

2. Le regole della deduzione naturale predicativa

Per favorire la consultazione, in questa sezione (in analogia a quanto fattonella sezione 5.3) riassumiamo tutte le regole del sistema di deduzione naturalepredicativa. Esse comprendono le regole proposizionali:

(∧i)Γ

F

Γ⊳

GF ∧G

(∧e.1)Γ

F ∧GF

(∧e.2)Γ

F ∧GG

(∨i.1)Γ

FF ∨G

(∨i.2)Γ

GF ∨G

(∨e)Γ

F ∨G

Γ, [F ]

H

Γ, [G]

HH

(→i)

Γ, [F ]

GF → G

(→e)

Γ

F

Γ

F → GG

(¬i)Γ, [F ]

⊥¬F

(¬e)Γ

F

Γ

¬F⊥

(¬¬e)Γ

¬¬FF

Poi abbiamo le regole per i quantificatori, che sono caratterizzate dall’essereapplicabili solo se le condizioni indicate sulla destra sono soddisfatte:

(∀i)Γ

F∀xF

x non libera in Γ (∀e)Γ

∀xFF{x/t}

{x/t} ammissibile in F

3. CORRETTEZZA E COMPLETEZZA DELLA DEDUZIONE NATURALE PREDICATIVA127

(∃i)Γ

F{x/t}∃xF

{x/t} ammissibile in F

(∃e)Σ

∃xF

Γ, [F ]

GG

x non libera in Γ ∖ {F}, G

Infine, ricordiamo anche le regole derivate ottenute nel capitolo 5 e quelleottenute negli esempi 11.7 e 11.8:

(RAA)

Γ, [¬F ]

⊥F

(ex-falso)

Γ

⊥F

(MT )

Γ

F → G

Γ

¬G¬F

(TE) [F ∨ ¬F ]

(∀i)gΓ

⊳F{x/y}∀xF

{x/y} ammissibile in F

y non libera in Γ, ∀xF

(∃e)gΣ

⊳∃xF

Γ, [F{x/y}]

GG

{x/y} ammissibile in F

y non libera in Γ ∖ {F{x/y}}, ∃xF,G

3. Correttezza e completezza della deduzione naturale predicativa

In questa sezione estendiamo al caso predicativo quanto fatto nella sezione 5.4.Dimostriamo quindi che la deduzione naturale predicativa e un sistema deduttivocorretto e enunciamo, senza dimostrarla, la sua completezza.

Teorema 11.9 (Teorema di correttezza). Siano Γ un insieme di formule predicativee F una formula predicativa. Se Γ⊳ F allora Γ ∣= F .

Dimostrazione. La dimostrazione e per induzione sull’altezza dell’albero del-la deduzione naturale che testimonia Γ⊳ F .

Il caso di base ed i passi induttivi relativi alle regole proposizionali sono giastati svolti nella dimostrazione del teorema 5.17. In questa sede sviluppiamo quindisolamente i passi induttivi che riguardano le regole per i quantificatori.

(∀i) Se la deduzione naturale e della forma

Γ

F∀xF

dove x non e libera in Γ, abbiamo Γ ⊳ ∀xF e vogliamo dimostrare Γ ∣= ∀xF . Ladeduzione naturale sopra la linea orizzontale mostra che Γ⊳F . Per ipotesi induttiva

128 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

abbiamo dunque Γ ∣= F . Per dimostrare Γ ∣= ∀xF consideriamo un’interpretazioneI ed uno stato � tali che I, � ∣= Γ. Per mostrare I, � ∣= ∀xF fissiamo d ∈ DI . Datoche x non e libera in Γ abbiamo anche I, �[x/d] ∣= Γ (stiamo utilizzando il lemma7.10) e la nostra ipotesi ci assicura che I, �[x/d] ∣= F . Percio I, � ∣= ∀xF .

(∀e) Se la deduzione naturale e della forma

Γ

∀xFF{x/t}

dove la sostituzione di x con t e ammissibile in F , abbiamo Γ⊳F{x/t} e vogliamodimostrare Γ ∣= F{x/t}. La deduzione naturale sopra la linea orizzontale mostrache Γ⊳ ∀xF . Per ipotesi induttiva abbiamo dunque Γ ∣= ∀xF , e la conclusione eimmediata dal lemma 7.45.

(∃i) Se la deduzione naturale e della forma

Γ

F{x/t}∃xF

dove la sostituzione di x con t e ammissibile in F , abbiamo Γ ⊳ ∃xF e vogliamodimostrare Γ ∣= ∃xF . La deduzione naturale sopra la linea orizzontale mostra cheΓ⊳F{x/t}. Per ipotesi induttiva abbiamo dunque Γ ∣= F{x/t}, e la conclusione eimmediata dal lemma 7.45.

(∃e) Se la deduzione naturale e della forma

Σ

∃xF

Γ, [F ]

GG

con x non libera in Γ∖{F}, G, abbiamo Γ,Σ⊳G e vogliamo dimostrare Γ,Σ ∣= G. Lededuzioni naturali sopra la linea orizzontale mostrano che Σ⊳∃xF e che Γ, F ⊳G.Per ipotesi induttiva abbiamo dunque sia Σ ∣= ∃xF che Γ, F ∣= G. Per dimostrareΓ,Σ ∣= G consideriamo un’interpretazione I ed uno stato � tali che I, � ∣= Γ,Σ.La nostra prima ipotesi ci permette di dedurre che I, � ∣= ∃xF , e quindi esisted0 ∈ DI tale che I, �[x/d0] ∣= F . Dato che x non e libera in Γ ∖ {F} si haanche I, �[x/d0] ∣= Γ (stiamo nuovamente utilizzando il lemma 7.10). Sfruttando laseconda ipotesi otteniamo I, �[x/d0] ∣= G. Visto che x non e libera in G, un nuovoutilizzo del lemma 7.10 ci permette di concludere che I, � ∣= G. □

Esercizio 11.10. I due alberi qui sotto pretendono di mostrare

∃x p(x), ∀x(p(x) → q(x))⊳ ∀x q(x).Dato che ∃x p(x), ∀x(p(x) → q(x)) ⊭ ∀x q(x) (definite un’interpretazione che giusti-fichi questa affermazione) questo contraddice il teorema 11.9. Individuate il puntoscorretto in ognuna delle presunte deduzioni naturali.

∃x p(x)

[p(x)]1∀x(p(x) → q(x))

p(x) → q(x)

q(x)

∀x q(x)1∀x q(x)

4. ESEMPI DI DEDUZIONE NATURALE PREDICATIVA 129

∃x p(x)[p(x)]1

∀x(p(x) → q(x))

p(x) → q(x)

q(x)1

q(x)

∀x q(x)L’inverso del teorema di correttezza e il teorema di completezza, che asserisce

che tutto cio che e vero e dimostrabile per mezzo della deduzione naturale, che equindi “completa”. Come gia nel caso proposizionale, ci limitiamo ad enunciarequesto importante risultato.

Teorema 11.11 (Teorema di completezza). Siano Γ un insieme di formule predi-cative e F una formula predicativa. Se Γ ∣= F allora Γ⊳ F .

4. Esempi di deduzione naturale predicativa

In questa sezione presentiamo numerosi esempi di deduzione naturale, ottenen-do tra l’altro le conseguenze logiche della sezione 7.4 (nella maggior parte dei casisono una parte di un’equivalenza logica). Come gia nella sezione 5.6, si consigliadi tentare di costruire alcune di queste deduzioni naturali senza guardare le so-luzioni: anche qualora si incontrino delle difficolta si avra comunque una migliorcomprensione della soluzione proposta.

Iniziamo dal lemma 7.46 relativo all’interazione tra negazione e quantificatori.

Esempio 11.12. Per mostrare che ¬∀xF⊳∃x¬F utilizziamo la deduzione naturale

[¬F ]1∃x¬F [¬∃x¬F ]2

⊥1

F∀xF ¬∀xF

⊥2∃x¬F

In questa deduzione naturale (RAA) viene utilizzata due volte, mentre c’e un’appli-cazione di ognuna delle due regole di introduzione dei quantificatori. Quando vieneutilizzata (∀i) l’ipotesi ¬F e gia stata scaricata e l’unica ipotesi attiva e ¬∃x¬F ,in cui la variabile x non e libera.

La dimostrazione riprodotta da questa deduzione naturale e per assurdo: se¬∃x¬F allora ¬F non sarebbe mai vera, quindi F sarebbe sempre vera e avremmo∀xF che contraddice la nostra ipotesi.

Esempio 11.13. Mostriamo ora che ∃x¬F ⊳ ¬∀xF

∃x¬F[¬F ]1

[∀xF ]2F

⊥1⊥

2¬∀xFIn questa deduzione naturale vengono usate entrambe le regole di eliminazione deiquantificatori, e per l’applicazione di (∃e) e cruciale che x non sia libera ne in ⊥ ne in∀xF . Notiamo inoltre che sarebbe stato possibile invertire l’ordine di applicazionedi (∃e) e (¬i), ottenendo una deduzione naturale lievemente diversa.

La deduzione naturale riproduce la dimostrazione della conseguenza logica cor-rispondente nel lemma 7.46: se ∃x¬F fissiamo un tale x e troviamo una contrad-dizione a partire da ∀xF , cosı da concludere che ¬∀xF .

130 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

Esempio 11.14. Per mostrare che ¬∃xF⊳∀x¬F utilizziamo la seguente deduzionenaturale

[F ]1

∃xF ¬∃x¬F⊥

1¬F∀x¬F

L’idea della dimostrazione e che, volendo ottenere ∀x¬F , supponiamo che perqualche x valga F e raggiungiamo una contraddizione, in modo da essere certi chevale ¬F . Dato che x e generico, abbiamo ∀x¬F .Esempio 11.15. Per mostrare che ∀x¬F ⊳ ¬∃xF possiamo procedere in questomodo

[∃xF ]2[F ]1

∀x¬F¬F

⊥1⊥

2¬∃xFEsercizio 11.16. Descrivere a parole la dimostrazione formalizzata dalla deduzionenaturale precedente.

Esercizio 11.17. Scrivere accanto ad ogni linea orizzontale delle deduzioni naturalidei quattro esempi precedenti la regola utilizzata.

Passiamo ora alle conseguenze logiche del lemma 7.48.

Esempio 11.18. Mostrare che ∀xF ∧ G ⊳ ∀x(F ∧ G), supponendo che x non sialibera in G, e piuttosto semplice

∀xF ∧G∀xFF

∀xF ∧GG

F ∧G∀x(F ∧G)

Notiamo come l’ipotesi su x e G sia stata necessaria per poter utilizzare (∀i): datoche x non e libera in G non lo e neppure in ∀xF ∧G.Esercizio 11.19. Mostrare che ∀x(F ∧ G) ⊳ ∀xF ∧ G (non e necessaria l’ipotesiche x non sia libera in G).

Esempio 11.20. Per dimostrare che ∀xF ∨ G ∣= ∀x(F ∨ G), supponendo che xnon sia libera in G, procediamo come segue

∀xF ∨G

[∀xF ]1F

F ∨G[G]1

F ∨G1

F ∨G∀x(F ∨G)

Anche in questo caso l’ipotesi che x non sia libera in G, e quindi in ∀xF ∨G, vieneutilizzata per poter applicare (∀i).Esercizio 11.21. Scrivete una deduzione naturale diversa dalla precedente chemostri ∀xF ∨G ∣= ∀x(F ∨G). Per esempio potete scambiare l’ordine di utilizzo di(∨e) e (∀i).Esempio 11.22. Per mostrare che ∀x(F ∨ G)⊳ ∀xF ∨ G, dove x non e libera inG, utilizziamo (TE): se vale G la conclusione e immediata, altrimenti dobbiamoricorrere all’ipotesi e ottenere F ∨ G: a partire da entrambi i disgiunti otteniamoF (nel secondo caso usiamo (ex-falso)).

4. ESEMPI DI DEDUZIONE NATURALE PREDICATIVA 131

[G ∨ ¬G][G]2

∀xF ∨G

∀x(F ∨G)F ∨G [F ]1

[G]1 [¬G]2⊥F

1F

∀xF∀xF ∨G

2∀xF ∨GPer poter applicare (∀i) e necessario che x non sia libera in ¬G, che e ovviamenteil caso se non e libera in G.

Esempio 11.23. Mostriamo ora, supponendo che x non sia libera in G, che vale∃xF ∧G⊳ ∃x(F ∧G):

∃xF ∧G∃xF

[F ]1∃xF ∧G

G

F ∧G∃x(F ∧G)

1∃x(F ∧G)In questo caso l’ipotesi che x non sia libera in G, e quindi in ∃xF ∧G, e necessariaper utilizzare (∃e).Esempio 11.24. La seguente deduzione naturale mostra che ∃x(F ∧G)⊳∃xF ∧G,supponendo sempre che x non sia libera in G:

∃x(F ∧G)

[F ∧G]1F

∃xF[F ∧G]1

G∃xF ∧G

1∃xF ∧GAnche in questo caso (∃e) richiede che x non sia libera in ∃xF ∧G, e questo discendedall’ipotesi su x e G.

Esempio 11.25. Per dimostrare che ∃xF ∨G⊳ ∃x(F ∨G) e necessario utilizzarein sequenza (∨e) e (∃e).

∃xF ∨G[∃xF ]2

[F ]1

F ∨G∃x(F ∨G)

1∃x(F ∨G)

GF ∨G

∃x(F ∨G)2∃x(F ∨G)

Notiamo che questa deduzione naturale non richiede che x non sia libera in G.Anche nella dimostrazione della conseguenza logica corrispondente nel lemma 7.48non avevamo sfruttato questa ipotesi.

Esempio 11.26. L’ipotesi che x non sia libera in G, e quindi in ∃xF ∨G, e invecenecessaria per poter applicare (∃e) nella seguente deduzione naturale che mostra∃x(F ∨G)⊳ ∃xF ∨G. Rispetto all’esempio precedente l’ordine di utilizzo di (∃e)e (∨e) invertito.

∃x(F ∨G)[F ∨G]2

[F ]1

∃xF∃xF ∨G

[G]1

∃xF ∨G1∃xF ∨G

2∃xF ∨GConsideriamo ora le conseguenze logiche contenute nel lemma 7.50, svolgendo

in dettaglio quelle piu delicate e lasciando come utile esercizio per il lettore le altre.

132 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

Esempio 11.27. Per dimostrare che ∀xF → G⊳∃x(F → G) la deduzione naturaleinizia distinguendo il caso in cui vale ∀xF da quello in cui cio non accade e quindiusando la regola (TE). Il primo caso utilizza (→i) senza scaricamento, mentre nelsecondo utilizziamo il fatto che ¬∀xF ⊳∃x¬F (esempio 11.12), per poi usare (∃e).

[∀xF ∨ ¬∀xF ]

[∀xF ]3 ∀xF → G

GF → G

∃x(F → G)

[¬∀xF ]3

∃x¬F

[F ]1 [¬F ]2⊥G

1F → G

∃x(F → G)2∃x(F → G)

3∃x(F → G)

In questo caso non e necessario supporre che x non sia libera in G.

Esempio 11.28. Mostriamo che ∃x(F → G) ⊳ ∀xF → G, quando x non e liberain G, e quindi in ∀xF → G (questa ipotesi e necessaria per l’applicazione di (∃e)):

∃x(F → G)

[∀xF ]1F [F → G]2

G1∀xF → G2∀xF → G

Esercizio 11.29. Mostrare che se x non e libera in G allora:

G→ ∀xF ⊳ ∀x(G→ F ),

∀x(G→ F )⊳G→ ∀xF,∃xF → G⊳ ∀x(F → G).

Esempio 11.30. Per ottenere ∀x(F → G) ⊳ ∃xF → G quando x non e libera inG, partiamo dall’ipotesi che ∃xF con lo scopo di dedurre G:

[∃xF ]2[F ]1

∀x(F → G)

F → G

G1

G2∃xF → G

Esempio 11.31. Per ottenere G → ∃xF ⊳ ∃x(G → F ) utilizziamo (TE) distin-guendo a seconda se G vale o meno. Nel primo caso si usa l’ipotesi e, nel corso delladerivazione che porta a (∃e), si utilizza (→i) senza scaricamento. Nel secondo casosi usa l’esempio 5.34. Notiamo che questa deduzione naturale non richiede l’ipotesiche x non sia libera in G.

[G ∨ ¬G]

[G]2 G→ ∃xF∃xF

[F ]1

G→ F∃x(G→ F )

1∃x(G→ F )

[¬G]2

G→ F∃x(G→ F )

2∃x(G→ F )

Esercizio 11.32. Dimostrare che ∃x(G → F )⊳G → ∃xF quando x non e liberain G.

Consideriamo ora i risultati contenuti nel lemma 7.55.

Esercizio 11.33. Mostrare ∀xF ∧ ∀xG⊳ ∀x(F ∧G) e ∀x(F ∧G)⊳ ∀xF ∧ ∀xG.Esercizio 11.34. Mostrare ∃xF ∨ ∃xG⊳ ∃x(F ∨G) e ∃x(F ∨G)⊳ ∃xF ∨ ∃xG.

4. ESEMPI DI DEDUZIONE NATURALE PREDICATIVA 133

Esempio 11.35. Per mostrare ∀xF → ∃xG ⊳ ∃x(F → G) usiamo (TE) sca-ricando ∃xG ∨ ¬∃xG. Cio significa che basta mostrare ∃xG ⊳ ∃x(F → G) e∀xF → ∃xG,¬∃xG⊳∃x(F → G). Lasciamo la prima di queste deduzioni naturaliper esercizio, e ci concentriamo sulla seconda. Utilizziamo (MT ) e il risultato dell’e-sempio 11.12 per dedurre dalle ipotesi ∃x¬F ; dall’ipotesi ausiliaria ¬F deduciamoF → G utilizzando l’esempio 5.34 e quindi ∃x(F → G).

¬∃xG ∀xF → ∃xG¬∀xF

∃x¬F

[¬F ]1

F → G∃x(F → G)

1∃x(F → G)

Esempio 11.36. Mostriamo che ∃x(F → G)⊳ ∀xF → ∃xG:

∃x(F → G)

[∀xF ]2F [F → G]1

G∃xG

1∃xG2∀xF → ∃xG

Si notino le similitudini tra questa deduzione naturale e quella dell’esempio 11.28.

Esercizio 11.37. Mostrare che ∃x∀y F ⊳ ∀y ∃xF .

Esempio 11.38. Mostriamo ora che ⊳∃x(p(x) → ∀y p(y)), utilizzando nella nostradeduzione naturale quella dell’esempio 11.12. Si noti anche l’applicazione di (∃e)gcontrassegnata dal numero 2.

[∀y p(y) ∨ ¬∀y p(y)]

[∀y p(y)]3p(x) → ∀y p(y)

∃x(p(x) → ∀y p(y))

[¬∀y p(y)]3

∃y ¬p(y)

[p(x)]1 [¬p(x)]2⊥

∀y p(y)1

p(x) → ∀y p(y)∃x(p(x) → ∀y p(y))

2∃x(p(x) → ∀y p(y))3∃x(p(x) → ∀y p(y))

Il risultato che abbiamo ottenuto e a prima vista contrario all’intuizione. Sia Fl’enunciato che abbiamo dedotto senza ipotesi e interpretiamo p(x) come “x e unostudente che supera lo scritto”. Allora F asserisce che esiste uno studente taleche, se lui supera lo scritto, allora tutti superano lo scritto. Per il teorema dicorrettezza 11.9 da ⊳ F segue la validita di F , e quindi abbiamo dimostrato cheuno studente con questa proprieta esiste. In effetti cio e vero, ma prima dello scrittoe impossibile individuare un tale studente (in modo che lui solo debba studiare!).Infatti se tutti gli studenti superano lo scritto, allora qualunque studente soddisfal’implicazione, mentre se qualche studente viene bocciato, allora come x scegliamouno studente che non ha superato lo scritto. Stiamo usando in maniera essenzialela logica classica (si veda la discussione della sezione 5.5), come evidenziato dall’usodi (TE) e di (RAA) (che era stata utilizzata nell’esempio 11.12) nella deduzionenaturale.

Esercizio 11.39. Dimostrare che ∃x r(x) ∨ ∃x¬s(f(x)) ⊳ ∃x(s(x) → r(x)).

134 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

5. Deduzione naturale per la logica con uguaglianza

Nel caso della logica con uguaglianza e possibile procedere analogamente aquanto fatto per il metodo dei tableaux nella sezione 10.8. In questo caso si combinail teorema 9.29 con il teorema di completezza: per ottenere che Γ ∣== F bastamostrare che Γ,Eqℒ ⊳ F .

Possiamo pero procedere in modo diverso, rispettando lo spirito della dedu-zione naturale. Trattiamo dunque il simbolo = in modo analogo ai simboli logici,aggiungendo alla deduzione naturale regole per la sua introduzione e la sua elimina-zione. La regola (=i) consiste semplicemente nel considerare come scaricate tuttele formule del tipo t = t, dove t e un termine. Per eliminare = invece osserviamoche se sappiamo che s = t (dove s e t sono termini), da qualunque formula del tipoF{x/s} possiamo dedurre F{x/t}. Per far cio e naturalmente necessario che le duesostituzioni siano ammissibili in F . Otteniamo quindi le due regole

(=i) [t = t] (=e)

Γ

s = t

Γ

⊳F{x/s}

F{x/t}

{x/s} e {x/t}ammissibili in F

Come nel caso di (TE), quando utilizziamo (=i) lo scaricamento di t = t nonavviene in corrispondenza di una regola successiva: percio non indicheremo nessunnumero ad esponente.

Quando effettuiamo una deduzione naturale utilizzando anche queste due regolescriviamo ⊳= al posto di ⊳.

Esempio 11.40. Dimostriamo che p(x),¬p(y) ⊳= x ∕= y:

[x = y]1 p(x)

p(y) ¬p(y)⊥

1x ∕= y

Abbiamo ipotizzato che x = y con l’intento di raggiungere una contraddizione. Laprima regola utilizzata e stata (=e), che ci ha permesso di passare da p(x) a p(y),che contraddice l’altra ipotesi.

Verifichiamo che le regole appena introdotte ci permettono di dedurre tutte leformule di Eqℒ (si veda la definizione 6.61).

Lemma 11.41. Se G e un enunciato che appartiene a Eqℒ allora ⊳= G.

Dimostrazione. Notiamo che ⊳= (e1) si ottiene facilmente da (=i), appli-cando ripetutamente (∀i) per ottenere la chiusura universale di x = x.

Per mostrare ⊳= (e2) iniziamo ad ottenere s = t ⊳= t = s, dove s e t sonotermini qualsiasi. A questo scopo scegliamo una variabile v che non compaia in s.Applichiamo (=e) quando F e la formula v = s, cosı che F{v/s} sia s = s (che puoessere scaricata per (=i)) e F{v/t} sia t = s. Otteniamo

s = t [s = s]

t = s

A partire da questa deduzione naturale possiamo ottenere ⊳= (e2):

[x = y]1 [x = x]y = x

1x = y → y = x

∀y(x = y → y = x)

∀x∀y(x = y → y = x)

5. DEDUZIONE NATURALE PER LA LOGICA CON UGUAGLIANZA 135

Per mostrare che ⊳= (e3) partiamo similmente da s = t, t = r ⊳= s = r.Scegliamo una variabile v che non compaia in s. Applichiamo (=e) quando F e laformula s = v, cosı che F{v/t} sia s = t e F{v/r} sia t = r. Otteniamo

t = r s = ts = r

Per ottenere ⊳= (e4) e facile generalizzare al caso n-ario quanto sviluppiamoin dettaglio quando f e un simbolo di funzione unario. E’ nuovamente sufficientemostrare che s = t⊳= f(s) = f(t) scegliendo una variabile v che non compaia in s.Applichiamo (=e) alla formula f(s) = f(v), cosı che F{v/s} sia f(s) = f(s) (chepuo essere scaricata per (=i)) e F{v/t} sia f(s) = f(t). Otteniamo

s = t [f(s) = f(s)]

f(s) = f(t)

Per ottenere ⊳= (e5) per un simbolo di relazione n-ario e sufficiente applicaren volte (=e) e poi utilizzare (→i) e (∀i) come negli altri casi. □

La deduzione naturale per la logica con uguaglianza che abbiamo introdottoe corretta per la conseguenza logica nella logica con uguaglianza introdotta nellasezione 7.7.

Teorema 11.42 (Teorema di correttezza con uguaglianza). Siano Γ un insieme diformule predicative e F una formula predicativa in un linguaggio con uguaglianza.Se Γ⊳= F allora Γ ∣== F .

Dimostrazione. La dimostrazione e per induzione sull’altezza dell’albero del-la deduzione naturale che testimonia Γ ⊳= F . Il caso di base ed i passi induttivirelativi alle regole relative ai connettivi e ai quantificatori sono identici a quellisvolti nelle dimostrazioni dei teoremi 5.17 e 11.9. Basta quindi considerare i passiinduttivi che riguardano le regole per l’uguaglianza.

(=i) Se la deduzione naturale e della forma [t = t] dove t e un termine, abbia-mo ⊳= t = t e dobbiamo mostrare che t = t e valida nella logica con uguaglianza.Questo e ovvio perche in qualunque interpretazione normale I e stato �, si ha(�(t), �(t)) ∈ =I .

(=e) Se la deduzione naturale e della forma

Γ

⊳=

s = t

Γ

⊳=

F{x/s}F{x/t}

dove {x/s} e {x/t} sono sostituzioni ammissibili in F , abbiamo Γ ⊳= F{x/t} edobbiamo mostrare che Γ ∣== F{x/t}. Le deduzioni naturali sopra la linea orizzon-tale mostrano che Γ ⊳= s = t e che Γ ⊳= F{x/s}. Per l’ipotesi induttiva abbiamodunque sia Γ ∣== s = t che Γ ∣== F{x/s}. Fissati un’interpretazione normale Ied uno stato � tali che I, � ∣= Γ abbiamo dunque I, � ∣= s = t e I, � ∣= F{x/s}.Dato che I e normale si ha che �(s) e �(t) sono lo stesso elemento di DI . Per illemma di sostituzione 7.41 da I, � ∣= F{x/s} otteniamo I, �[x/�(s)] ∣= F , che elo stesso che I, �[x/�(t)] ∣= F e conduce (sempre per il lemma di sostituzione) aI, � ∣= F{x/t}. □

Sfruttando la completezza della deduzione naturale e i risultati della sezione 9.3e facile mostrare che la deduzione naturale per la logica con uguaglianza e completaper la conseguenza logica nella logica con uguaglianza.

136 11. LA DEDUZIONE NATURALE: CASO PREDICATIVO

Teorema 11.43 (Teorema di completezza con uguaglianza). Siano Γ un insieme diformule predicative e F una formula predicativa in un linguaggio con uguaglianza.Se Γ ∣== F allora Γ⊳= F .

Dimostrazione. Per il teorema 9.29 Γ ∣== F e equivalente a Γ,Eqℒ ∣= F .Per il teorema di completezza 11.11 abbiamo Γ,Eqℒ ⊳ F . Utilizzando il lemma11.41 e facile trasformare una deduzione naturale che testimonia Γ,Eqℒ ⊳F in unache testimonia Γ⊳= F : ogniqualvolta nella prima deduzione naturale abbiamo unafoglia etichettata con G ∈ Eqℒ possiamo attaccare sopra di essa una deduzionenaturale che mostra ⊳= G. □

Concludiamo con alcuni esempi di deduzione naturale per la logica con ugua-glianza.

Esempio 11.44. Mostriamo che

∀x(∃y x = f(y) → r(x, x)),¬∃x r(x, f(x)) ⊳= ∀xx ∕= f(x) :

[x = f(x)]1

∀x(∃y x = f(y) → r(x, x))

∃y x = f(y) → r(x, x)

[x = f(x)]1

∃y x = f(y)

r(x, x)

r(x, f(x))

∃x r(x, f(x)) ¬∃x r(x, f(x))⊥

1x ∕= f(x)

∀xx ∕= f(x)

In questa deduzione naturale abbiamo applicato (=e) alla formula r(x, z), sosti-tuendo alla variabile z i termini x e f(x).

Per dimostrare ∀xx ∕= f(x) abbiamo fissato x e supposto che x = f(x) allaricerca di una contraddizione. Alla fine della deduzione, quando l’ipotesi ausiliariaera stata scaricata, abbiamo usato (∀i).Esempio 11.45. Dimostriamo che ∀x¬r(x, x), ∀x∃y r(x, y) ⊳= ∃x∃y x ∕= y.

∀x∃y r(x, y)∃y r(x, y)

[x = y]1 [r(x, y)]2

r(y, y)

∀x¬r(x, x)¬r(y, y)

⊥1

x ∕= y

∃y x ∕= y

∃x∃y x ∕= y2∃x∃y x ∕= y

Lasciamo al lettore la ricostruzione del ragionamento rappresentato da questa de-duzione naturale.

Esercizio 11.46. Mostrare che

∀x r(x, f(x)), ∀x∀y(r(x, y) → ¬r(y, x)) ⊳= ∀xx ∕= f(f(x)).