Riepilogo
Una stessa funzione di verità ammette infinite formule che la rappresentano, e nessuna di esse, presa a caso, lascia vedere ciò che dice. Questa lezione fissa due stampi in cui ogni formula entra a meno di equivalenza: la forma normale disgiuntiva, una disgiunzione di congiunzioni di letterali, e la forma normale congiuntiva, una congiunzione di disgiunzioni di letterali. Si definiscono i letterali, le clausole e le congiunzioni elementari; si dimostra che la negazione trasforma una forma nell’altra quando ogni letterale viene trasformato nel suo opposto, il che costituisce la dualità tra le due; si costruiscono a partire dalla tavola di verità le forme canoniche e si dimostra che sono uniche. Il teorema di esistenza riceve due dimostrazioni: mediante la tavola, come corollario della completezza funzionale, e per induzione sulla complessità, con l’unico caso della negazione congiunta e con l’ipotesi doppia che quella dimostrazione richiede. Alla fine si vede perché valgono lo sforzo: la validità di una forma congiuntiva e la soddisfacibilità di una disgiuntiva si decidono a colpo d’occhio.
Obiettivi di apprendimento
- Riconoscere letterali, clausole, congiunzioni elementari e formule in forma normale disgiuntiva o congiuntiva, distinguendo la forma, che è una proprietà della stringa, dall’equivalenza, che è una proprietà del significato.
- Costruire a partire dalla tavola di verità le forme canoniche disgiuntiva e congiuntiva di una formula, e dimostrare che la forma canonica è unica e che determina la classe di equivalenza della formula.
- Dimostrare per induzione sulla complessità che ogni formula equivale a una forma normale disgiuntiva e a una congiuntiva, usando la dualità, le leggi generalizzate di De Morgan e distributive e la sostituzione semantica.
- Decidere a colpo d’occhio la validità di una forma normale congiuntiva e la soddisfacibilità di una disgiuntiva, e applicare le forme normali alla conseguenza semantica e alla misura della dimensione minima di una forma normale.
Nelle lezioni precedenti di questa unità si è dato significato alle formule: la lezione sulla semantica della logica proposizionale ha esteso ogni assegnazione a tutte le formule; la lezione su conseguenza ed equivalenza semantica ha definito l’equivalenza e ha dimostrato la sostituzione semantica; la lezione sulle leggi generalizzate di De Morgan e distributive ha esteso quelle leggi a congiunzioni e disgiunzioni di formule; e la lezione sulla completezza funzionale ha mostrato che ogni funzione di verità è rappresentata da qualche formula. Ora, una funzione di verità è rappresentata da infinite formule, che possono essere molto diverse tra loro: , e sono tre nomi della stessa cosa. Se è così, conviene scegliere in ogni classe di equivalenza un rappresentante di forma fissa, che si legga senza sforzo e con il quale certe domande trovino risposta guardando. Questo sono le forme normali.
Letterali, clausole e forme normali
Si ricordi, dalla lezione sulle leggi generalizzate, la notazione della congiunzione e della disgiunzione di formule, definita per ricorsione e associando a sinistra; quella di una sola formula è la formula stessa.
Nella stessa lezione si è dimostrato che l’ordine e il raggruppamento dei termini non alterano la formula a meno di equivalenza (associatività generalizzata e indipendenza dall’ordine e dalle ripetizioni); per questo scriveremo anche senza parentesi, intendendo il raggruppamento a sinistra.
Un letterale è una variabile , che si chiama letterale positivo, o la negazione di una variabile, che si chiama letterale negativo. L’opposto di un letterale , che scriviamo , è il letterale della stessa variabile e dell’altro segno:
Dalla definizione segue che . Due letterali formano una coppia complementare se l’uno è l’opposto dell’altro, come e .
Una clausola è una disgiunzione di letterali, , e una congiunzione elementare è una congiunzione di letterali, , con in entrambi i casi; un letterale da solo è quindi allo stesso tempo una clausola e una congiunzione elementare. Si dice che un letterale sta in una clausola o in una congiunzione elementare se è uno dei suoi .
Una formula è in forma normale disgiuntiva se è una disgiunzione di congiunzioni elementari, e in forma normale congiuntiva se è una congiunzione di clausole; cioè, se è, rispettivamente, di una delle due forme seguenti, dove e sono numeri naturali e ogni è un letterale:
Diremo che è una forma normale disgiuntiva di se è in forma normale disgiuntiva e , e lo stesso per la congiuntiva. Le lunghezze possono variare da una congiunzione (o clausola) all’altra: esigere lo stesso numero di letterali in tutte obbligherebbe a riempire con ripetizioni e non aggiungerebbe nulla.
La formula è in forma normale disgiuntiva, con , e ; non è in forma congiuntiva, perché non è una congiunzione (i suoi due componenti sono distinti, e una congiunzione è una doppia negazione), né è una clausola: letta come disgiunzione, ha un termine, , che non è un letterale né una disgiunzione di letterali. La formula è in entrambe le forme: come disgiunzione di una sola congiunzione elementare () e come congiunzione di tre clausole di un letterale ciascuna. Allo stesso modo, è allo stesso tempo una clausola, cioè una forma congiuntiva con , e una forma disgiuntiva di due congiunzioni di un letterale.
Invece, e non sono in nessuna delle due forme, benché la prima equivalga a e la seconda a , che lo sono.
Conviene soffermarsi su che cosa significhi «essere in forma normale». È una proprietà della stringa di cerchi e dischi, non del suo significato: la lezione sull’induzione sui numeri naturali e sulle formule ha dimostrato la leggibilità unica, di modo che chiedere se una formula è una disgiunzione, e di che cosa, ha una sola risposta. Ora, le abbreviazioni ufficiali fanno sì che alcune formule siano in forma normale senza sembrarlo. L’implicazione si definisce come : non è che equivalga a quella clausola, ma è quella stessa stringa, e perciò è già in forma normale. Più sorprendente è la doppia negazione. Per le definizioni di e di , la stringa è , cioè ; quindi non è un letterale, ma è, simbolo per simbolo, la clausola .
Il valore delle congiunzioni e delle disgiunzioni
Dalla lezione sulla semantica si prendono i valori dei connettivi derivati: ; , che vale se e solo se entrambe valgono ; e se e solo se entrambe valgono . La lezione sulle leggi generalizzate di De Morgan e distributive li ha estesi a formule, per induzione sul numero dei termini, nel lemma del valore: per ogni assegnazione , la congiunzione vale in se e solo se ogni vale in , e la disgiunzione vale in se e solo se qualche vale in . Questo lemma, che qui si cita senza ripeterne la dimostrazione, è lo strumento con cui si calcola il valore di qualsiasi forma normale.
Per ogni letterale , la negazione di equivale al suo opposto, ; in particolare, per ogni assegnazione .
Dimostrazione
Se è una variabile , il suo opposto è , che è esattamente la stringa : non c’è nulla da dimostrare.
Se è , la sua negazione è , che non è un letterale; per la legge della doppia negazione (lezione su conseguenza ed equivalenza semantica), equivale a , che è l’opposto di .
In entrambi i casi, e hanno lo stesso valore in ogni assegnazione, e quello di è dato dal valore della negazione.
Il secondo caso è facile da trascurare: negando una forma normale si tende a scrivere invece di un letterale, e non lo è. È la doppia negazione a riportare il risultato nello stampo.
Una congiunzione elementare è soddisfacibile se e solo se non contiene nessuna coppia complementare. Una clausola è valida se e solo se contiene qualche coppia complementare.
Dimostrazione
Se una congiunzione elementare contiene e , in ogni assegnazione uno dei due vale , per il lemma precedente; per il lemma del valore, la congiunzione vale in ogni assegnazione.
Se non contiene nessuna coppia complementare, si definisce un’assegnazione che dà a ogni variabile che vi sta come letterale positivo e a ogni variabile che vi sta come letterale negativo (alle altre, ). La definizione non è contraddittoria, perché nessuna variabile vi sta in entrambi i modi.
In quell’assegnazione tutti i suoi letterali valgono , e per il lemma del valore la congiunzione vale : è soddisfacibile.
Se una clausola contiene e , in ogni assegnazione uno dei due vale , e la clausola vale : è valida.
Se non contiene nessuna coppia complementare, l’assegnazione che dà alle sue variabili positive e alle sue variabili negate fa valere tutti i suoi letterali; per il lemma del valore, la clausola vale in essa e non è valida.
Caricamento del contenuto…