Logica matematica/Calcolo delle proposizioni

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:Logica matematica

Partiremo dal punto più semplice: la logica proposizionale, ovvero relativa alle proposizioni. In questo contesto si studiano funzionamento e proprietà dei connettivi logici, e non si analizza come si arriva al valore di verità delle formule atomiche.

Il potere espressivo di questo linguaggio è limitato: in esso, infatti, possiamo esprimere proposizioni che sono vere o false, ma non proprietà che possono valere o meno su uno/molti/tutti gli individui di una certa classe. Col basso potere espressivo si coniuga la decidibilità di questa logica. Presentiamo la sintassi e la semantica della logica proposizionale.

Sintassi

Introduciamo la nozione di linguaggio proposizionale Σ costruito su un alfabeto Σ. Iniziamo con la definizione di alfabeto.

Alfabeto

Template:Definizione Nel seguito scriveremo quando Σ è chiaro dal contesto. Definiamo ora le formule di .

Formule ben formate

Template:Definizione

Sottoformule

Template:Definizione Per evitare un uso eccessivo delle parentesi, introduciamo anche delle regole di precedenza tra i connettivi. Per le formule proposizionali, si usa la seguente convenzione: la massima precedenza a ¬, poi, nell'ordine, ai connettivi ,, e infine a . Questo significa che, in assenza di parentesi, una formula ben formata va parentesizzata privilegiando le sottoformule i cui connettivi principali hanno precedenza più alta. A parità di precedenza, cioè se siamo in presenza di più occorrenze dello stesso connettivo, si assume che esso associ a destra, cioè la parentesizzazione va eseguita a partire dall'ultima occorrenza a destra del connettivo.

Simboli proposizionali occorrenti in una formula

Template:Definizione La funzione simb restituisce l'insieme dei simboli proposizionali che occorrono in una formula. Essa è definita in 𝒫, cioè nell'inseme dei sottoinsiemi di 𝒫, dato che restituisce sempre un sottoinsieme di 𝒫.

Esempi

Le regole appena esposte indicano come formare le frasi del calcolo proposizionale. Le frasi ben formate nascono applicando a formule atomiche i connettivi logici come indicato, se non è possibile risalire a queste regole la frase non è una frase ben formata.

Le formule atomiche rappresentano frasi del tipo:

  • "Oggi splende il sole"
  • "Mi chiamo Giovanni"
  • "Tre è dispari"

cioè frasi che possono essere vere o false. Da esse verranno poi costruite le formule ben formate.

Esempi di frasi ben formate:

  1. ((AB)(CD))((AC)(BD))
  2. ¬A¬¬¬A
  3. ABC

mentre frasi invalide sono:

  1. A(B)
  2. AB
  3. AB

I vari connettivi

Queste regole definiscono la sintassi che utilizzeremo per il calcolo delle proposizioni. Ora dobbiamo dare un significato a queste frasi.

Semantica

Dobbiamo definire come operano questi connettivi e lo faremo usando le tavole di verità. In questo modo potremo creare una semantica, ovvero dare un significato all'operazione che viene eseguita da ogni operatore.

Ci serviremo di variabili atomiche, ovvero indivisibili, che possono assumere solo valori di verità (vero o falso rispettivamente indicati con V o F o, se ci basiamo sulla lingua inglese T o F).

Sistema di valutazione

Template:Vedi anche Template:Definizione

Negazione

Template:Definizione Questo è di solito espresso in maniera concisa come:

  • ¬(T)=F
  • ¬(F)=T

cioè, la funzione di valutazione associata a un connettivo viene indicata col simbolo stesso del connettivo, e viene definita in forma tabellare mediante la tavola o tabella dei valori di verità per il connettivo come segue:

A¬AFTTF

Tale tabella definisce la semantica dell'operazione di negazione. Se la frase A è vera, la sua negazione è falsa; se la frase A è falsa, la sua negazione è vera. Si tratta dell'unico connettivo unario, in quanto agisce su un'unica sentenza.

Evitando di presentare le funzioni 𝒪𝓅 della logica proposizionale per i connettivi binari, le presentiamo subito in forma di tabella dei valori di verità.

Congiunzione

Template:Definizione

Disgiunzione

Template:Definizione

Implicazione

Template:Definizione

Doppia implicazione

Template:Definizione

Assegnazione booleana

Template:Definizione

Per il fatto che l'insieme delle formule proposizionali è liberamente generato, ogni assegnazione 𝒱 si estende a un'unica interpretazione o valutazione booleana.

Valutazione booleana

Template:Definizione

Il valore di verità di una formula A dipende dall'assegnazione booleana a tutti i simboli proposizionali, inclusi quelli che non occorrono in A. Tuttavia, per dare una valutazione booleana di A basta dire come vengono valutati (interpretati) i simboli proposizionali di A. Infatti, sia A una formula proposizionale e sia simb(A) l'insieme dei simboli proposizionali che occorrono in A, per essi vale la seguente proprietà.

Teorema di equivalenza delle valutazioni

Se 𝒱1 e 𝒱2 sono due assegnazioni che coincidono su simb(A), allora I𝒱1(A)=I𝒱2(A).

Dimostrazione Procediamo per induzione strutturale.

  • (Passo Base) Osserviamo che l'asserto è vero per le formule e perché non contengono simboli proposizionali. Se A𝒫, allora abbiamo 𝒱1(A)=𝒱2(A) e, per definizione, I𝒱1(A)=I𝒱2(A). Pertanto l'asserto vale per i simboli proposizionali.
  • (Passo Induttivo) Sia A=(¬B). Abbiamo per I𝒱1 e I𝒱2 che I𝒱1(¬B)=𝒪𝓅¬(I𝒱1(B)) e I𝒱2(¬B)=𝒪𝓅¬(I𝒱2(B)) e dunque, poiché per ipotesi induttiva I𝒱1(B)=I𝒱2(B), segue che I𝒱1(A)=I𝒱2(A). Analogamente, sia A=BC con {,,,}; abbiamo I𝒱1(BC)=𝒪𝓅(I𝒱1(B),I𝒱1(C)) e I𝒱2(BC)=𝒪𝓅(I𝒱2(B),I𝒱2(C)) e, per ipotesi induttiva, I𝒱1(B)=I𝒱2(B) e I𝒱1(C)=I𝒱2(C), segue che I𝒱1(A)=I𝒱2(A).

Soddisfacibilità

Formula soddisfatta

Template:Definizione

Formula soddisfacibile

Template:Definizione

Tautologia

Template:Definizione

Contraddizione

Template:Definizione

Tavole di verità

Dal teorema di equivalenza delle valutazioni segue che, per determinare se una formula proposizionale A è soddisfacibile, tautologica o contraddittoria, basta costruire una tabella di valori di verità in cui compaiono n+1 colonne, dove n è il numero di simboli proposizionali distinti A1,...,An che compaiono in A e nella n+1-esima colonna viene riportato il corrispondente valore I𝒱(A). La tabella ha 2n righe, tante quante sono le possibili assegnazioni distinte di valori di verità ai simboli di A.

A1...AnI𝒱(A)F...FI𝒱1(A)............T...TI𝒱2𝓃(A)

A è una tautologia sse l'ultima colonna contiene solo T, è soddisfacibile sse essa contiene almeno una T, è contraddittoria sse essa contiene tutte F.

Teorema

Una formula A è una tautologia sse ¬A è una contraddizione.

Dimostrazione

() Sia A una tautologia. Per definizione, per ogni valutazione booleana I𝒱 si ha che I𝒱(A)=T. Ora, per ¬A si ha che:

I𝒱(¬A)=𝒪𝓅¬(I𝒱(A))=𝒪𝓅¬(T)=F

quindi, per ogni valutazione booleana I𝒱 si ha che:

I𝒱(¬A)=F

dunque, ¬A è una contraddizione.

Procedendo all'inverso, si dimostra analogamente che, se ¬A è una contraddizione, allora A è una tautologia:

() sia ¬A una contraddizione. Per definizione, per ogni valutazione booleana I𝒱 si ha che I𝒱(¬A)=F. Ora, per ¬A si ha che:

I𝒱(¬A)=𝒪𝓅¬(I𝒱(A))

quindi:

𝒪𝓅¬(I𝒱(A))=F

da cui, per la definizione di 𝒪𝓅¬, si deduce che, per ogni valutazione booleana I𝒱:

I𝒱(A)=T

dunque, A è una tautologia.

Equivalenza logica

Implicazione logica

Template:Definizione

Equivalenza logica (Definizione)

Template:Definizione

Diamo qui di seguito una lista di formule tautologicamente equivalenti. L'equivalenza può essere facilmente verificata tramite tavole di verità.

AA A idempotenza della congiunzione
AA A idempotenza della disgiunzione
A(BC) (AB)C associatività della congiunzione
A(BC) (AB)C associatività della disgiunzione
A(BC) (AB)C associatività della doppia implicazione
AB BA commutatività della congiunzione
AB BA commutatività della disgiunzione
AB BA commutatività della doppia implicazione
A(BC) (AB)(AC) distributività della congiunzione sulla disgiunzione
A(BC) (AB)(AC) distributività della disgiunzione sulla congiunzione
A(AB) A assorbimento della congiunzione sulla disgiunzione
A(AB) A assorbimento della disgiunzione sulla congiunzione
A A neutralità del vero nella congiunzione
A assorbimento del vero nella disgiunzione
A A neutralità del falso nella disgiunzione
A assorbimento del falso nella congiunzione
¬¬A A doppia negazione
¬(AB) ¬A¬B legge di De Morgan per la congiunzione
¬(AB) ¬A¬B legge di De Morgan per la disgiunzione
A¬A terzo escluso
A¬A contraddizione
AB ¬B¬A contrapposizione
AB ¬AB trasformazione dell'implicazione in disgiunzione


Esercizi ed esempi

Relativamente alla legge del terzo escluso, il fatto che A¬A sia sempre vero sembra del tutto intuitivo. In effetti, questa è una caratteristica della logica classica; in altre logiche, per esempio nella logica intuizionista, questo fatto non vale.

Intuitivamente ci si aspetta che, se una proposizione A è logicamente equivalente a una proposizione B, sostituendo A al posto di B in una formula C, il valore di verità di C non cambi.

Cerchiamo ora di rendere più precisa questa nozione. Indichiamo con F[p] una formula proposizionale che può contenere delle occorrenze del simbolo p (detto metavariabile o parametro proposizionale, cioè p sta ad indicare un atomo). Con la notazione F[X/p] indicheremo la formula F[X], in cui tutte le occorrenze di p sono state uniformemente e simultaneamente sostituite con occorrenze di una formula X. Chiameremo quest'operazione sostituzione uniforme.

Primo teorema del rimpiazzamento

Siano F[p], X e Y formule proposizionali e sia I𝒱 una valutazione booleana. Se I𝒱(X)=I𝒱(Y), allora

I𝒱(F[X/p])=I𝒱(F[Y/p]).

Dimostrazione Per induzione strutturale. Osserviamo innanzitutto che, se p non occorre in F, nessuna sostituzione è stata fatta, e quindi l'asserto è banalmente verificato.

(Passo Base) Supponiamo che F[p]=p, allora F[X/p]=X e F[Y/p]=Y; per ipotesi, I𝒱(X)=I𝒱(Y), e dunque I𝒱(F[X/p])=I𝒱(X)=I𝒱(Y)=I𝒱(F[Y/p]).

(Passo Induttivo) Sia F[p]=¬A[p]. Osserviamo che, per definizione di valutazione booleana:

I𝒱(F[X/p])=𝒪𝓅¬(I𝒱(A[X/p])).

Per ipotesi induttiva: I𝒱(A[X/p])=I𝒱(A[Y/p]).

Quindi 𝒪𝓅¬(I𝒱(A[X/p]))=𝒪𝓅¬(I𝒱(A[Y/p])).

Di nuovo, per definizione di valutazione booleana:

𝒪𝓅¬(I𝒱(A[Y/p]))=I𝒱(F[Y/p]).

Dunque I𝒱(F[X/p])=I𝒱(F[Y/p]).

Analogamente, sia F[p]=A[p]B[p], con {,,,}. Osserviamo che, per definizione di valutazione booleana:

I𝒱(F[X/p])=𝒪𝓅(I𝒱(A[X/p]),I𝒱(B[X/p])).

Per ipotesi induttiva: I𝒱(A[X/p])=I𝒱(A[Y/p]) e I𝒱(B[X/p])=I𝒱(B[Y/p]).

Quindi 𝒪𝓅(I𝒱(A[X/p]),I𝒱(B[X/p]))=𝒪𝓅(I𝒱(A[Y/p]),I𝒱(B[Y/p])).

Di nuovo, per definizione di valutazione booleana:

𝒪𝓅(I𝒱(A[Y/p]),I𝒱(B[Y/p]))=I𝒱(F[Y/p]).

Dunque I𝒱(F[X/p])=I𝒱(F[Y/p]).

Secondo teorema del rimpiazzamento

Se XY, allora F[X/p]F[Y/p].

Dimostrazione Essendo XY un'equivalenza logica, I𝒱(X)=I𝒱(Y) vale per ogni valutazione booleana I𝒱; per il primo teorema del rimpiazzamento, si ha che I𝒱(F[X/p])=I𝒱(F[Y/p]) vale per ogni valutazione booleana. Ne consegue che F[X/p]F[Y/p].

Modelli

Possiamo fornire una nozione d'interpretazione basata sulla relazione .

Template:Definizione Osserviamo che, nella definizione di , stiamo sottintendendo il linguaggio proposizionale . Nel caso in cui non sia chiaro dal contesto a quale linguaggio ci si riferisce, allora si usa indicare .

Modello per una formula

Template:Definizione

Contromodello per una formula

Template:Definizione

Modello per un insieme di formule

Template:Definizione

Se A è una tautologia, possiamo scrivere A, in quanto A è vera in ogni modello, compreso quello vuoto.

Implicazione logica da un insieme di formule

Template:Definizione

Soddisfacibilità

Template:Definizione

Insoddisfacibilità

Template:DefinizioneQuindi una formula è insoddisfacibile sse per essa non esiste alcun modello.

Il simbolo è giustificato quando si considerano le nozioni di implicazione logica e di equivalenza logica, perché permettono una semplificazione notazionale.

Infatti, se A implica logicamente B scriviamo AB e se A è logicamente equivalente a B, cioè se AB, scriviamo AB.

Il seguente teorema lega le nozioni di implicazione logica e di insoddisfacibilità:

Teorema di soddisfacibilità

ΓA sse Γ{¬A} è insoddisfacibile.

Dimostrazione

() Supponiamo che valga ΓA, ma Γ{¬A} sia soddisfacibile; allora esiste un modello 𝒱 tale che 𝒱Γ e 𝒱¬A, cioè 𝒱Γ e 𝒱A, dunque non vale ΓA, contraddizione.

() Supponiamo che Γ{¬A} sia insoddisfacibile, ma non valga ΓA; allora esiste un modello 𝒱 tale che 𝒱Γ e 𝒱A, cioè 𝒱Γ e 𝒱¬A, quindi 𝒱Γ{¬A}, dunque Γ{¬A} è soddisfacibile, contraddizione.

La proprietà appena enunciata è quella che giustifica le dimostrazioni per assurdo: se si vuole provare che A segue da Γ, basta assumere ¬A e provare che questo contraddice Γ.

Compattezza

Segue quanto abbiamo già notato per le valutazioni booleane: quando consideriamo i modelli di una formula, basta prendere in considerazione solo quelli in cui compaiono i simboli proposizionali della formula. È chiaro che, se in una formula A occorrono n simboli proposizionali distinti, ovvero |simb(A)|=n, allora il numero degli insiemi di simboli che ci interessa verificare per conoscere il valore di verità di A è al più 2n. Tuttavia, è lecito chiedersi cosa succede se abbiamo un insieme infinito Γ di proposizioni e vogliamo sapere se ΓA.

Il teorema di compattezza della soddisfacibilità fornisce una risposta a questa domanda.

Insieme di formule finitamente soddisfacibile

Template:Definizione

Teorema di compattezza della soddisfacibilità

Un insieme di proposizioni Γ è soddisfacibile sse è finitamente soddisfacibile.

Dimostrazione Per contraddizione.

() Supponiamo che Γ sia soddisfacibile, ma che non sia finitamente soddisfacibile. Allora, esiste un sottoinsieme finito ΔΓ tale che, per ogni 𝒱, 𝒱A, con AΔ. Essendo ΔΓ, allora AΓ, quindi, per ogni 𝒱 esiste una formula AΓ tale che 𝒱A. Dunque, Γ non è soddisfacibile. Contraddizione.

() Supponiamo che Γ sia finitamente soddisfacibile, ma che non sia soddisfacibile. Allora, per ogni 𝒱 esiste una formula AΓ tale che 𝒱A. Quindi, esiste un sottoinsieme finito ΔΓ tale che, per ogni 𝒱, 𝒱A, con AΔ. Perciò, Δ non è soddisfacibile, dunque Γ non è finitamente soddisfacibile. Contraddizione.

Quella qui esposta è una dimostrazione non costruttiva, cioè non fornisce un esempio concreto di ciò che dimostra, ma suppone che la tesi sia falsa e arriva ad una contraddizione. Per una dimostrazione costruttiva, si veda la dimostrazione del teorema di compattezza.

Riformulazione del teorema di compattezza

Il teorema di compattezza può essere enunciato in modo equivalente come segue:

un insieme di proposizioni Γ è insoddisfacibile sse esiste un sottoinsieme finito ΔΓ che è insoddisfacibile.

Dimostrazione Per contraddizione.

() Supponiamo che Γ sia insoddisfacibile, ma che non esista un sottoinsieme finito ΔΓ insoddisfacibile. Allora, ogni sottoinsieme finito ΔΓ è soddisfacibile, quindi Γ è finitamente soddisfacibile. Ma, per il teorema di compattezza, Γ è soddisfacibile. Contraddizione.

() Supponiamo che esista un sottoinsieme finito ΔΓ insoddisfacibile, ma che Γ sia soddisfacibile. Allora, per il teorema di compattezza, Γ è finitamente soddisfacibile, quindi ogni sottoinsieme finito ΔΓ è soddisfacibile, dunque non può esistere un sottoinsieme finito ΔΓ insoddisfacibile. Contraddizione.

Dal teorema di compattezza seguono delle proprietà interessanti, per esempio il seguente corollario.

Corollario del teorema di compattezza

ΓA sse esiste un sottoinsieme finito Γ0 di Γ tale che Γ0A.

Dimostrazione Per contraddizione. Supponiamo che, per ogni Γ0 finito, Γ0A, e consideriamo le seguenti trasformazioni:

  1. Γ0A, per ogni Γ0 finito, ipotesi;
  2. sse Γ0{¬A} è soddisfacibile per ogni Γ0 finito (da 1, per il teorema di soddisfacibilità);
  3. sse Γ{¬A} è finitamente soddisfacibile (da 2, per definizione di insieme finitamente soddisfacibile);
  4. sse Γ{¬A} è soddisfacibile (da 3, per il teorema di compattezza);
  5. sse ΓA (da 4, per il teorema di soddisfacibilità).

Contraddizione.

Teorema di deduzione

Definito il concetto di derivazione semantica, vediamo un importante teorema che permette di ridurre le ipotesi di cui abbiamo bisogno o di sfruttare come ipotesi una parte della sentenza che stiamo analizzando: il teorema di deduzione.

Sia Γ un insieme di formule e siano A e B due formule, allora

Γ,AB sse ΓAB

cioè, il teorema dice che Γ e A soddisfano B se e solo se Γ soddisfa AB.

Se la cosa può sembrare a prima vista sorprendente, ad una analisi più attenta si può notare come sia la semantica profonda dell'implicazione. Vediamo con un semplice esempio in linguaggio naturale:

da Oggi piove posso derivare () prendo l' ombrello

equivale a:

senza nessuna precondizione posso derivare () se Oggi piove allora () prendo l' ombrello

Questo teorema sarà particolarmente utile nelle dimostrazioni, perché ci permette di spostare a destra o a sinistra del simbolo di derivazione l' antecedente dell' implicazione. Quindi, se dobbiamo dimostrare che A implica B, la strada più semplice sarà supporre A come ipotesi e quindi dimostrare B.

Dimostrazione

Per definizione di implicazione logica su un insieme di formule, Γ,AB sse, per ogni modello 𝒱, (𝒱Γ oppure 𝒱A oppure 𝒱B).

Per definizione di , (𝒱A oppure 𝒱B) sse (I𝒱(A)=F oppure I𝒱(B)=T) sse 𝒪𝓅(𝒪𝓅¬(I𝒱(A)),I𝒱(B))=T. Per definizione di 𝒪𝓅, 𝒪𝓅(𝒪𝓅¬(I𝒱(A)),I𝒱(B))=𝒪𝓅(I𝒱(A),I𝒱(B))=I𝒱(AB)=T. Per definizione di , I𝒱(AB)=T sse 𝒱AB. Dunque, Γ,AB sse (𝒱Γ oppure 𝒱AB) sse ΓAB.

Completezza di insiemi di connettivi

I connettivi definiscono delle funzioni da (nel caso del connettivo unario ¬), oppure × (nel caso dei connettivi binari) in . Ciascuna di queste funzioni, dette funzioni booleane, è definita attraverso la relativa tavola dei valori di verità, oppure, equivalentemente, attraverso le funzioni 𝒪𝓅¬ e 𝒪𝓅, con {,,,}.

Più in generale, ogni formula proposizionale A contenente simboli proposizionali distinti A1,...,An definisce una funzione booleana da n in .

Funzione di verità

Template:Definizione

Quindi, ogni formula del calcolo proposizionale definisce una funzione n-aria (possiamo anche chiamarla connettivo n-ario), dove n è il numero di atomi distinti che in essa compaiono. Si può facilmente verificare che, per ogni n, esistono 22n funzioni booleane distinte (cioè, tante quanti sono i sottoinsiemi di n). Quindi, nel caso di n=2 esistono 16 connettivi distinti. Qui ne sono stati introdotti 4 e, come alcune equivalenze logiche introdotte precedentemente hanno mostrato, essi non sono indipendenti, nel senso che alcuni sono esprimibili in termini di altri.

Derivazione di connettivi

Template:Definizione

Nella logica proposizionale valgono le seguenti equivalenze logiche.

AB ¬AB
AB ¬AB
AB ¬(¬A¬B)
AB ¬(¬A¬B)
AB (((A))(B))
¬A A
A¬A
AB (AB)(BA)

Si noti che la costante proposizionale (così come la costante proposizionale ) può essere considerata come un connettivo 0-ario.

Un insieme di connettivi logici è completo se mediante i suoi connettivi si può esprimere qualunque funzione booleana. Più formalmente diciamo che:

Insieme funzionalmente completo

Template:Vedi anche Template:Definizione

In particolare, un insieme di connettivi logici è completo se mediante i suoi connettivi si può esprimere qualunque altro connettivo.

È facile verificare che l'insieme dei connettivi {¬,,} è completo, così come lo sono {¬,} e anche {¬,}.

Questo ci porta a concludere che nella trattazione della logica potremmo ridurci a considerare due soli connettivi. Si può in effetti anche dimostrare che un solo connettivo binario può bastare per definire tutti gli altri; in particolare, un connettivo a scelta tra il "nand" o il "nor" costituisce un insieme completo. Si può anche dimostrare che nand e nor sono gli unici due connettivi binari completi.

Usare un minor numero di connettivi nelle formule porterebbe sicuramente a una maggiore stringatezza nelle dimostrazioni date per casi sui singoli connettivi, ma nuocerebbe gravemente alla leggibilità delle formule stesse. Le equivalenze sopra mostrate ne forniscono evidenza. Si è quindi preferito la leggibilità alla concisione.

Decidibilità

La logica proposizionale è decidibile. In effetti, la logica proposizionale si chiama calcolo delle proposizioni perché esiste una procedura effettiva che stabilisce se una proposizione A è una tautologia o meno. Nel caso del calcolo proposizionale, possiamo sempre essere in grado di calcolare le formule vere del linguaggio. In verità, come si vedrà nel caso della logica del primo ordine, la dizione calcolo si usa anche qualora si abbia una logica semidecidibile.

Per verificare la decidibilità del calcolo proposizionale siamo interessati a decidere se una formula A del calcolo proposizionale è una tautologia o meno.

Un altro interessante problema di decisione per il calcolo proposizionale consiste nello stabilire se una formula è soddisfacibile o meno (questo problema è di solito indicato con SAT).

Abbiamo visto che, per decidere se A è una tautologia, bisogna verificare le tavole di verità per ogni assegnazione ai simboli proposizionali che occorrono in A; pertanto, se in A occorrono n simboli proposizionali, sarà sufficiente verificare 2n casi.

Diciamo che un insieme Γ di formule è enumerabile se può essere trasformato in una sequenza. Un insieme di formule è effettivamente enumerabile se esiste un metodo per determinare l'n-esimo elemento della sequenza, per ogni n.

Lemma di enumerabilità

Se Γ è effettivamente enumerabile, allora l'insieme delle conseguenze tautologiche di Γ, ovvero l'insieme {A|ΓA} è effettivamente enumerabile.

Dimostrazione

Dobbiamo mostrare che, data una formula A, se ΓA, allora esiste una procedura che risponde SÌ. Consideriamo un'enumerazione Γ0,Γ1,Γ2,... dei sottoinsiemi finiti di Γ. Data una formula A, consideriamo la lista dei sottoinsiemi finiti di Γ nel seguente modo:

A,

Γ0A,

Γ1A,

...

Per il corollario del teorema di compattezza, se ΓA esiste un Γi finito tale che ΓiA, e dunque tale Γi comparirà nell'enumerazione.

Teoria della dimostrazione

Come abbiamo visto nel paragrafo precedente, il calcolo delle proposizioni è decidibile ed abbiamo un algoritmo (le tavole di verità) per verificare se una sentenza è soddisfacibile. Ora cercheremo dei metodi che ci permettano di dimostrare che una sentenza è valida.

Il metodo delle tabelle di verità è un metodo "semantico", cioè che esplora tutte le possibili configurazioni dell'universo per verificarne lo stato, ora vogliamo costruire dei metodi basati più sulla deduzione che non sull'esplorazione e che si basino sull'attività di costruire derivazioni e dimostrazioni, cioè sul ragionamento e non sulla forza bruta.

Svilupperemo quindi dei metodi puramente sintattici, cioè dei calcoli che trasformano simboli in altri simboli, che ci permetteranno di creare dimostrazioni sulle sentenze logiche.

Introduciamo un nuovo simbolo , per indicare che da una sentenza possiamo derivare sintatticamente un'altra sentenza.

Abbiamo così due concetti:

AB

significa che semanticamente se A è vera anche B è vera, mentre

AB

significa che se A è vera possiamo costruire una dimostrazione di B.

Il grande risultato della logica moderna è stato legare tra loro questi due concetti nel teorema di completezza, che vedremo più avanti.

Esploreremo i maggiori sistemi di dimostrazione, tutti con peculiari caratteristiche. Il sistema di Hilbert è quello più simile alla definizione del metodo assiomatico, i sistemi di Gentzen (deduzione naturale e sequenti) tentano di mimare l'attività mentale di un matematico, i tableaux sfruttano la semantica e la risoluzione è il sistema più semplice da realizzare meccanicamente, tanto da essere alla base del linguaggio di programmazione PROLOG.

Il sistema di Hilbert si basa su un insieme di assiomi logici e un insieme di regole di inferenza; i tableaux e la risoluzione invece non fanno uso di assiomi logici, ma solo di regole di inferenza e sono basati sulla refutazione (cioè, per dimostrare che una formula è un teorema si dimostra in effetti che la sua negata è una contraddizione). Tra questi metodi, solo la risoluzione richiede che le formule siano scritte in una forma normale.

Tutti i sistemi deduttivi presentati sono per certi aspetti equivalenti, per tutti infatti vale un teorema di correttezza e completezza, quindi l'insieme di teoremi che si può derivare con ciascuno di essi è lo stesso.

Correttezza e completezza di un sistema

Ogni sistema di dimostrazione, per essere un buon sistema, deve avere due proprietà: essere corretto ed essere completo.

La proprietà di correttezza è:

se sΦ allora Φ.

cioè, se posso dimostrare Φ con il sistema S, allora Φ è una tautologia. In poche parole, tutto quello che può essere provato da S è vero.

La proprietà di completezza è:

se Φ allora sΦ.

cioè, se una proposizione è una tautologia, posso dimostrarla utilizzando S.

I principali sistemi di dimostrazione

Template:Avanzamento