Logica matematica/Calcolo delle proposizioni/Dimostrazione del teorema di compattezza

Da testwiki.
Vai alla navigazione Vai alla ricerca

Template:Logica matematica Il teorema di compattezza della soddisfacibilità asserisce che un insieme di proposizioni Γ è soddisfacibile sse è finitamente soddisfacibile. Quella che diamo qui è una dimostrazione costruttiva, cioè, il teorema viene dimostrato costruendo un modello che soddisfa un insieme Γ infinito.

Definizioni

Insieme di formule finitamente soddisfacibile

Template:Definizione

Insieme di formule massimale

Template:Definizione

Lemma 1

Se Γ è un insieme di formule soddisfacibile, allora ogni sottoinsieme Δ⊆Γ è soddisfacibile.

Dimostrazione

Supponiamo che Γ sia soddisfacibile, ma che esista un sottoinsieme Δ⊆Γ insoddisfacibile. Allora, per definizione, per ogni modello ℳ𝒱 esiste una formula A∈Δ tale che ℳ𝒱⊭A. Essendo Δ⊆Γ, allora A∈Γ. Quindi, per ogni modello ℳ𝒱 esiste una formula A∈Γ tale che ℳ𝒱⊭A. Dunque, Γ è insoddisfacibile. Contraddizione.

Lemma 2

Se Γ è un insieme di formule finitamente soddisfacibile, allora, per ogni formula A, Γ∪{A} oppure Γ∪{¬A} è finitamente soddisfacibile.

Dimostrazione

Consideriamo una formula A. Se A∈Γ, la tesi è ovvia. Sia quindi A∉Γ. Si danno due casi.

  • Γ∪{A} è soddisfacibile. Per il lemma 1, ogni sottoinsieme di Γ∪{A} è soddisfacibile, quindi ogni sottoinsieme finito Δ⊆Γ∪{A} è soddisfacibile. Dunque, Γ∪{A} è finitamente soddisfacibile.
  • Γ∪{A} non è soddisfacibile. Comunque si prenda un modello ℳ𝒱⊨Γ, avremo ℳ𝒱⊭A, quindi ℳ𝒱⊨¬A, cioè ℳ𝒱⊨Γ∪{¬A}. Quindi Γ∪{¬A} è soddisfacibile. Dunque, per il medesimo argomento del caso precedente, Γ∪{¬A} è finitamente soddisfacibile.

Lemma 3

Se Γ è un insieme di formule massimale finitamente soddisfacibile, allora, per ogni formula A, A∈Γ sse Γ⊨A.

Dimostrazione

(⇒) Per definizione, se ℳ𝒱⊨Γ, allora, per ogni formula B∈Γ, ℳ𝒱⊨B. Se A∈Γ, allora ℳ𝒱⊨A, e dunque, dato che ℳ𝒱⊨Γ implica ℳ𝒱⊨A, per definizione Γ⊨A. Si noti che, per la parte "solo-se" del teorema, non c'è bisogno di supporre che Γ sia massimale e finitamente soddisfacibile.

(⇐) Supponiamo per assurdo che Γ⊨A, ma A∉Γ. Per il teorema di soddisfacibilità, Γ∪{¬A} è insoddisfacibile, e quindi, siccome Γ è finitamente soddisfacibile, per il lemma 2 Γ∪{A} è finitamente soddisfacibile. Ma siccome A∉Γ, allora ¬A∈Γ, dato che Γ è massimale, e quindi ¬A∈Γ∪{A}, dunque {¬A,A}⊆Γ∪{A}, e siccome {¬A,A} è insoddisfacibile, Γ∪{A} non è finitamente soddisfacibile, contraddicendo ciò che avevamo precedentemente dedotto.

Dimostrazione

(⇒) Se Γ è soddisfacibile, allora è finitamente soddisfacibile. Supponiamo che Γ sia soddisfacibile, allora, per il lemma 1, ogni sottoinsieme Δ⊆Γ è soddisfacibile, quindi, ogni sottoinsieme finito di Γ è soddisfacibile. Dunque, Γ è finitamente soddisfacibile.

(⇐) Se Γ è finitamente soddisfacibile, allora è soddisfacibile. Osserviamo innanzitutto che, se Γ è finito, la tesi è banalmente dimostrata. Ci occupiamo quindi di Γ infiniti.

La dimostrazione consiste di due parti. Nella prima dimostriamo che un insieme finitamente soddisfacibile Γ si può estendere ad un insieme massimale Δ finitamente soddisfacibile. Nella seconda parte costruiremo un modello per Δ. Siccome abbiamo costruito Δ estendendo Γ, tale modello sarà anche un modello per Γ, quindi la tesi sarà dimostrata.

Cominciamo con l'enumerare tutte le formule del linguaggio: A0,A1,A2.... Definiamo per induzione:

Δ0=Γ;

Δi+1={Δi∪{Ai},se Δi∪{Ai} è finitamente soddisfacibile;Δi∪{¬Ai},altrimenti.

Sia Δ=⋃iΔi. Osserviamo innanzitutto che Γ⊆Δ, per costruzione. Osserviamo inoltre che Δ è massimale, cioè, per ogni formula A, A o la sua negazione appartengono a Δ. Infatti, siccome l'enumerazione delle formule è completa, per costruzione dei Δi, presa una qualunque A, esisterà un i per cui A=Ai, quindi A∈Δi⊆Δ oppure ¬A∈Δi⊆Δ. Osserviamo anche che ciascun Δi è finitamente soddisfacibile (per induzione: Δ0=Γ è finitamente soddisfacibile; il passo induttivo è giustificato dal lemma 2). Quindi, Δ è finitamente soddisfacibile, in quanto ogni sottoinsieme finito di Δ è contenuto in qualche Δi. Dobbiamo ora mostrare che Δ è soddisfacibile. Per far questo, costruiamo un modello per esso. Definiamo il modello ℳ𝒱 come:

ℳ𝒱={p|p∈𝒫,p∈Δ}

dove 𝒫 è l'insieme dei simboli proposizionali del linguaggio. Dimostriamo ora, per induzione strutturale sulle formule, che per ogni formula A:

A∈Δ sse ℳ𝒱⊨A.

(Passo base) Per costruzione di ℳ𝒱.

(Passo induttivo) Sia A=¬B. ℳ𝒱⊨¬B equivale a ℳ𝒱⊭B; per ipotesi induttiva, ℳ𝒱⊭B sse B∉Δ. Siccome Δ è massimale, B∉Δ sse ¬B∈Δ. Pertanto, ℳ𝒱⊨¬B sse ¬B∈Δ, che è la tesi.

Sia A=B∧C. Per definizione, ℳ𝒱⊨B∧C sse ℳ𝒱⊨B e ℳ𝒱⊨C; per ipotesi induttiva, ℳ𝒱⊨B sse B∈Δ e ℳ𝒱⊨C sse C∈Δ. Siccome Δ è massimale, per il lemma 3 B,C∈Δ sse (Δ⊨B e Δ⊨C). (Δ⊨B e Δ⊨C) sse, per definizione di congiunzione, Δ⊨B∧C e, per il lemma 3, Δ⊨B∧C sse B∧C∈Δ, che è la tesi.

Sia A=B∨C. Per definizione, ℳ𝒱⊨B∨C sse ℳ𝒱⊨B o ℳ𝒱⊨C; per ipotesi induttiva, ℳ𝒱⊨B sse B∈Δ e ℳ𝒱⊨C sse C∈Δ. Siccome Δ è massimale, per il lemma 3 (B∈Δ o C∈Δ) sse (Δ⊨B o Δ⊨C). (Δ⊨B o Δ⊨C) sse, per definizione di disgiunzione, Δ⊨B∨C e, per il lemma 3, Δ⊨B∨C sse B∨C∈Δ, che è la tesi.

Sia A=B→C. Per definizione, ℳ𝒱⊨B→C sse ℳ𝒱⊭B o ℳ𝒱⊨C; per ipotesi induttiva, ℳ𝒱⊭B sse B∉Δ e ℳ𝒱⊨C sse C∈Δ. Siccome Δ è massimale, per il lemma 3 (B∉Δ o C∈Δ) sse (Δ⊭B o Δ⊨C). (Δ⊭B o Δ⊨C) sse, per definizione di implicazione, Δ⊨B→C e, per il lemma 3, Δ⊨B→C sse B→C∈Δ, che è la tesi.

Sia A=B↔C. Per definizione, ℳ𝒱⊨B↔C sse (ℳ𝒱⊨B sse ℳ𝒱⊨C); per ipotesi induttiva, ℳ𝒱⊨B sse B∈Δ e ℳ𝒱⊨C sse C∈Δ. Siccome Δ è massimale, per il lemma 3 (B∈Δ sse C∈Δ) sse (Δ⊨B sse Δ⊨C). (Δ⊨B sse Δ⊨C) sse, per definizione di doppia implicazione, Δ⊨B↔C e, per il lemma 3, Δ⊨B↔C sse B↔C∈Δ, che è la tesi.

Abbiamo quindi mostrato che ℳ𝒱 è un modello per Δ; siccome Γ⊆Δ, abbiamo che ℳ𝒱⊨Γ, ovvero Γ è soddisfacibile.

Template:Avanzamento