Vai al contenuto
Topos Uranos

Riepilogo

Questa lezione passa dal valore di verità di una formula alle relazioni tra formule. Definisce la conseguenza semantica da un insieme di premesse, finito o infinito, e precisa le letture del segno della conseguenza, compresa quella della sua negazione, che dice che qualcosa non è valido e non che sia contraddittorio. Usa i valori dei connettivi scritti come polinomi, il che trasforma la verifica di una legge in un calcolo, e dimostra le proprietà strutturali della conseguenza (riflessività, monotonia, taglio e transitività), il teorema di deduzione semantico e la riduzione della conseguenza all’insoddisfacibilità, su cui si appoggerà il metodo di risoluzione. Definisce poi l’equivalenza semantica, prova che è una relazione di equivalenza che coincide con la conseguenza reciproca e con la validità della doppia implicazione, e dimostra per induzione sulla complessità i due teoremi che permettono di lavorare con essa: la sostituzione di un’occorrenza di una sottoformula con un’altra equivalente e la sostituzione uniforme di variabili con formule. Con essi stabilisce il catalogo delle leggi con i loro nomi corretti e semplifica formule mediante catene di equivalenze, senza tavole di verità.

Obiettivi di apprendimento

  1. Decidere se una formula è conseguenza semantica di un insieme di formule, finito o infinito, esibendo un’assegnazione che la falsifichi o dimostrando che non esiste.
  2. Dimostrare e applicare le proprietà della conseguenza, il teorema di deduzione semantico e la riduzione della conseguenza all’insoddisfacibilità.
  3. Stabilire equivalenze semantiche mediante tavole di verità, mediante il calcolo con i valori e mediante catene di equivalenze, nominando correttamente ogni legge.
  4. Dimostrare per induzione sulla complessità il teorema di sostituzione semantica e quello di sostituzione uniforme, e distinguere quando si applica ciascuno.

Ciò che si usa della lezione precedente

La lezione sulla semantica della logica proposizionale ha dato significato alle formule, e questa lezione lo dà per acquisito. Un’assegnazione è una funzione v ⁣:V→{0,1}v\colon V \to \{0, 1\}, che attribuisce a ogni variabile un valore di verità, 11 (vero) o 00 (falso). Per il teorema di definizione per ricorsione sulle formule, della lezione sull’induzione, ogni assegnazione si estende in un unico modo a tutte le formule mediante la clausola della negazione congiunta, l’unica necessaria, perché la lingua ha un solo connettivo:

v((φ↓ψ))=1  ⇔  v(φ)=0,    v(ψ)=0v((\varphi \downarrow \psi)) = 1 \;\Leftrightarrow\; v(\varphi) = 0, \;\; v(\psi) = 0

Per l’unicità dell’estensione, si scrive v(φ)v(\varphi) anche per il valore dell’estensione; la lettera vv senza indice designa sempre un’assegnazione (e v′v', ww, uu, altre), mentre le variabili portano sempre il loro indice. Come nella lezione sulla formalizzazione, pp, qq, rr, ss e tt nominano le variabili da v1v_1 a v5v_5, e V(φ)V(\varphi) è l’insieme delle variabili di φ\varphi. Si dice che vv soddisfa φ\varphi, e si scrive v⊨φv \models \varphi, quando v(φ)=1v(\varphi) = 1, e che la falsifica, v⊭φv \not\models \varphi, quando v(φ)=0v(\varphi) = 0. Una formula è valida (o tautologia), e si scrive ⊨φ\models \varphi, se ogni assegnazione la soddisfa; soddisfacibile, se qualche assegnazione la soddisfa; insoddisfacibile (o contraddizione), se nessuna la soddisfa; contingente, se è soddisfacibile senza essere valida. Un’assegnazione soddisfa un insieme Γ\Gamma di formule, v⊨Γv \models \Gamma, quando soddisfa ciascuna di esse, e Γ\Gamma è soddisfacibile se qualche assegnazione lo soddisfa e insoddisfacibile in caso contrario. Infine, ⊤:=(v1→v1)\top := (v_1 \rightarrow v_1) e ⊥:=¬⊤\bot := \neg\top, di modo che v(⊤)=1v(\top) = 1 e v(⊥)=0v(\bot) = 0 per ogni assegnazione.

Di quella lezione si usano inoltre due risultati. Il primo è il lemma di coincidenza: se due assegnazioni coincidono sulle variabili di φ\varphi, coincidono su φ\varphi; per esso, il valore di una formula con nn variabili dipende solo da 2n2^{n} combinazioni, e la sua tavola di verità è finita. Il secondo è il teorema dei valori dei connettivi derivati, che calcola a partire dalle abbreviazioni ufficiali il valore di ogni connettivo come un polinomio nei valori dei componenti. Se a=v(φ)a = v(\varphi) e b=v(ψ)b = v(\psi):

v(¬φ)=1−a,v((φ∨ψ))=a+b−ab,v((φ∧ψ))=abv(\neg\varphi) = 1 - a, \qquad v((\varphi \vee \psi)) = a + b - ab, \qquad v((\varphi \wedge \psi)) = ab
v((φ→ψ))=1−a(1−b),v((φ↔ψ))=ab+(1−a)(1−b),v((φ⊻ψ))=a+b−2abv((\varphi \rightarrow \psi)) = 1 - a(1 - b), \qquad v((\varphi \leftrightarrow \psi)) = ab + (1 - a)(1 - b), \qquad v((\varphi \veebar \psi)) = a + b - 2ab

Le dimostrazioni di questa lezione consistono, quasi tutte, nel confrontare valori di verità, e questi polinomi permettono di farlo con un calcolo invece che con un esame dei casi. La loro unica regola aggiuntiva è che 00 e 11 sono gli unici numeri che coincidono con il proprio quadrato: se xx vale 00 o 11, allora x2=xx^{2} = x e x(1−x)=0x(1 - x) = 0. Conviene inoltre avere a portata di mano altre tre scritture degli stessi valori, che si ottengono svolgendo i prodotti:

v((φ↓ψ))=(1−a)(1−b),v((φ∨ψ))=1−(1−a)(1−b),v((φ↔ψ))=1−a−b+2abv((\varphi \downarrow \psi)) = (1 - a)(1 - b), \qquad v((\varphi \vee \psi)) = 1 - (1 - a)(1 - b), \qquad v((\varphi \leftrightarrow \psi)) = 1 - a - b + 2ab

La prima è la clausola della negazione congiunta (il prodotto di 1−a1 - a e 1−b1 - b vale 11 esattamente quando a=b=0a = b = 0); la seconda dice che la disgiunzione vale 00 solo se entrambi i componenti valgono 00; la terza, che la doppia implicazione vale 11 se a=ba = b (perché 1−2a+2a2=11 - 2a + 2a^{2} = 1) e 00 se a≠ba \neq b (perché allora a+b=1a + b = 1 e ab=0ab = 0).