Logica matematica/Calcolo delle proposizioni/Sistema di Hilbert: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Riga 6:
{{Definizione|
Siano <math>
\phi
</math>, <math>
\psi
</math> e <math>
\chi
</math> tre simboli proposizionali. Il calcolo proposizionale è definito dai seguenti schemi di assioma e dalle seguenti regole di inferenza.
Riga 16:
:''(a)'' <math>
</math>;
:''(b)'' <math>
(
</math>;
:''(c)'' <math>
(\neg
</math>.
Riga 55:
==== L'assioma di Meredith ====
Un logico Irlandese, Carew Meredith, nel 1953 ha proposto un singolo schema di assioma, che può sostituire i tre schemi che abbiamo
Lo schema è:
<math>
(((A \to B) \to (\neg C \to \neg D)) \to C) \to (E
\to ((E \to A) \to (D \to A)))
</math>.
Riga 148:
(<math>\Leftarrow</math>) Scriviamo la tesi in forma contrappositiva: se esiste una proposizione <math>A</math> tale che <math>\Gamma \vdash A</math> e <math>\Gamma \vdash \neg A</math>, allora non esiste una formula <math> B</math> tale che <math>\Gamma \nvdash B</math>, che equivale a dire <math>\Gamma \vdash B</math> per ogni formula <math> B</math>.
Se si dimostra che <math>
Per il teorema di deduzione, abbiamo che <math> \vdash \neg A \to (
Essendo
Dunque, per contrapposizione, se esiste una formula <math> B</math> tale che <math>\Gamma \nvdash B</math>, allora non esiste una proposizione <math>A</math> tale che <math>\Gamma \vdash A</math> e <math>\Gamma \vdash \neg A</math>.
Riga 192:
La proprietà al punto i è detta ''correttezza e completezza debole'', mentre quella al punto ii è detta ''correttezza e completezza forte''. In effetti, per le logiche in cui, come nel nostro caso, vale un teorema di compattezza e di deduzione, i due enunciati sono equivalenti: <math>\Gamma \vdash B</math> può essere scritto come <math>\vdash (A_1 \and ... \and A_n) \to B</math>, dove <math>(A_1 \and ... \and A_n)</math> è la congiunzione delle formule di <math>\Gamma</math>.
Dire che l'insieme dei teoremi è parte dell'insieme delle tautologie assicura che l'apparato deduttivo è corretto, non può infatti dimostrare formule non valide o contraddittorie. Dire che l'insieme delle tautologie è parte dell'insieme dei teoremi assicura che l'apparato deduttivo è completo, cioè che tutte le formule valide sono dimostrabili.
Line 205 ⟶ 201:
=== Teorema di correttezza ===
:<math>\Gamma \vdash A
==== Dimostrazione ====
Line 211 ⟶ 207:
# gli schemi ''a'', ''b'' e ''c'' sono tautologie;
# MP e SU sono chiusi rispetto alla conseguenza logica. Ovvero, se <math>A</math> e <math>A \to B</math> sono
# Ogni formula di una dimostrazione per <math>A</math> da <math>\Gamma</math> è soddisfatta da <math>\Gamma</math>.
La verifica che ''a'', ''b'' e ''c'' sono tautologie è banale.
Verifichiamo che MP è chiuso rispetto alla conseguenza logica. Supponiamo per assurdo che <math>\
Per quanto riguarda la SU, sia <math>F[p]</math> una tautologia. Allora, <math>\vDash F[p]</math> per qualunque assegnazione booleana alle lettere proposizionali di <math>F[p]</math>, in particolare a <math>p</math>; dunque, per qualunque proposizione <math>X</math> possiamo porre <math>I_\mathcal{V}(p)=I_\mathcal{V}(X)</math>. Per il teorema del rimpiazzamento, <math>I_\mathcal{V}(F[p/p])=I_\mathcal{V}(F[X/p])</math>, da cui segue <math>\vDash F[X/p]</math>.
Dimostriamo ora il punto 3. Sia <math>A_1,...,A_n=A</math> una dimostrazione da <math>\Gamma</math> per <math>A</math>. Procediamo per induzione completa.
(''Passo base'') <math>\Gamma \vDash A_1</math> vale sse, per ogni modello <math>\mathcal{M_V}</math>, se <math>\mathcal{M_V} \vDash \Gamma</math> allora <math>\mathcal{M_V} \vDash A_1</math>. <math>A_1 \in \Gamma</math> oppure <math>A_1</math> è un assioma. Se <math>A_1 \in \Gamma</math>, allora abbiamo <math>\Gamma \vDash A_1</math> per definizione di modello; se <math>A_1</math> è un'istanza di assioma, allora, essendo SU chiuso rispetto alla conseguenza logica, <math>\vDash A_1</math>, dunque <math>\Gamma \models A_1</math>.
(''Passo induttivo'') Supponiamo vero per ogni <math>i<n</math> che <math>\Gamma \models A_i</math>. Se <math>A_n \in \Gamma</math> o <math>A_n</math> è un'istanza di assioma, allora, come sopra, <math>\Gamma \models A_n</math>. Se <math>A_n</math> è stato derivato mediante MP, lo si è ottenuto da <math>A_j</math>, <math>A_k=A_j \to A_n</math>, <math>j,k<n</math>, ma per ipotesi induttiva <math>\Gamma \models A_j</math> e <math>\Gamma \models A_k</math>, pertanto, essendo MP chiuso rispetto alla conseguenza logica, <math>\Gamma \models A_n</math>.
=== Teorema di completezza ===
Line 236 ⟶ 239:
:<math>\vDash A \to B</math> implica <math>\vdash A \to B</math>.
== Regole derivate ==
Le seguenti sono regole derivate dal MP e gli schemi di assioma, per permettere di utilizzare agevolmente il sistema di Hilbert
====== Regola di deduzione ======
Line 331 ⟶ 255:
\neg B \to \neg A \over A \to B
</math>
Deriva direttamente dallo schema ''c''.
====== Regola di transitività ======
Line 349 ⟶ 275:
''Dimostrazione''
======
<math>
\
</math>
''Dimostrazione''
# <math>
\neg A \to A
</math>: ipotesi;
# <math> \vdash \neg A \to (A \to \neg (\neg A \to A)) </math>: SU sul teorema dello Pseudo-Scoto;
# <math> \vdash (\neg A \to (A \to \neg (\neg A \to A))) \to ((\neg A \to A) \to (\neg A \to \neg (\neg A \to A))) </math>: SU in ''b'';
# <math> \vdash (\neg A \to A) \to (\neg A \to \neg (\neg A \to A)) </math>: MP tra 2 e 3;
# <math> \neg A \to \neg (\neg A \to A) </math>: MP tra 1 e 4;
# <math> \vdash (\neg A \to \neg (\neg A \to A)) \to ((\neg A \to A) \to A) </math>: SU in ''c'';
# <math> (\neg A \to A) \to A </math>: MP tra 5 e 6;
# <math> A </math>: MP tra 1 e 7.
Quindi, <math>
\neg A \to A \vdash A
</math>. Dunque, per il teorema di deduzione, <math>
\vdash (\neg A \to A) \to A
</math>.
====== Eliminazione della doppia negazione ======
<math>
\neg\neg A \over A
</math>
''Dimostrazione''
</math>: ipotesi;
# <math> \vdash \neg\neg A \to (\neg A \to A) </math>: SU sul teorema dello Pseudo-Scoto;
# <
# <math>
\vdash (\neg A \to A) \to A
</math>: Consequentia mirabilis;
# <math> A </math>: MP tra 3 e 4.
Dunque, <math>
\neg\neg A \vdash A
</math>.
==== Introduzione della doppia negazione ====
<math>
A \over \neg\neg A
</math>
''Dimostrazione''
# <math>
\neg\neg A \vdash A
</math>: eliminazione della doppia negazione;
# <math>
\vdash \neg\neg A \to A
</math>: teorema di deduzione su 1;
# <math>
\vdash \neg\neg\neg A \to \neg A
</math>: SU in 2 con <math>
\neg A
</math> al posto di <math> A </math>;
# <math>
\vdash (\neg\neg\neg A \to \neg A) \to (A \to \neg\neg A)
</math>: SU in ''c'';
# <math>
\vdash A \to \neg\neg A
</math>: MP tra 3 e 4;
# <math>
A \vdash \neg\neg A
</math>: teorema di deduzione su 5;
==== Modus Tollens ====
<math>
\neg B,\quad A \to B \over \neg A
</math>
== Esempi di dimostrazioni ==
=== Riflessività dell'implicazione ===
Dimostriamo che <math> \vdash A \to A </math>.
# <math>
</math>: SU
# <math>
\
</math>: SU in ''a'' con <math>
# <math>
</math>: MP tra 1 e 2;
# <math>
</math>: SU in ''a'' con <math>
# <math> \vdash A \to A </math>: MP tra 3 e 4.
=== Sillogismo ipotetico ===
Dimostriamo che <math> A \to B, B \to C \vdash A \to C </math>.
# <math>A</math>: ipotesi;
# <math>A \to B</math>: ipotesi;
# <math>B</math>: MP tra 1 e 2;
# <math>B \to C</math>: ipotesi;
# <math>C</math>: MP tra 3 e 4.
Così abbiamo dimostrato che <math> A, A \to B, B \to C \vdash C </math>.
Applicando il teorema di deduzione (se <math> A \vdash C</math> allora <math> \vdash A \to C</math>), otteniamo il risultato voluto, eliminando <math> A</math> dalle ipotesi che abbiamo utilizzato.
=== Teorema dello Pseudo-Scoto ===
# <math>\neg A</math>: ipotesi;
# <math> \vdash \neg A \to (\neg B \to \neg A) </math>: SU in ''a'';
# <math> \neg B \to \neg A </math>: MP tra 1 e 2;
# <math> \vdash (\neg B \to \neg A) \to (A \to B) </math>: SU in ''c'';
# <math> A \to B </math>: MP tra 3 e 4.
{{avanzamento|75%}}
|