LOGICA MATEMATICA. Sonia L Innocente. Corso di Laurea. Informatica e Tecnologie/Informatica Industriale. Argomento 1. Logica proposizionale

Documenti analoghi
CORSO DI LAUREA IN MATEMATICA

M.P. Cavaliere ELEMENTI DI MATEMATICA E LOGICA MATEMATICA DISCRETA INSIEMI

LEZIONE 4. { x + y + z = 1 x y + 2z = 3

SOTTOSPAZI E OPERAZIONI IN SPAZI DIVERSI DA R n

1 Definizione di sistema lineare omogeneo.

1 IL LINGUAGGIO MATEMATICO

Precorso di Matematica. Parte I : Fondamenti di Matematica

Matematica e-learning - Corso Zero di Matematica. Gli Insiemi. Prof. Erasmo Modica A.A.

Il Teorema di Kakutani

TEOREMA DEL RESTO E REGOLA DI RUFFINI

Metodi per la risoluzione di sistemi lineari

m = a k n k + + a 1 n + a 0 Tale scrittura si chiama rappresentazione del numero m in base n e si indica

Sistemi di 1 grado in due incognite

Introduzione alla TEORIA DEI NUMERI

4 0 = 4 2 = 4 4 = 4 6 = 0.

Linguaggi e Grammatiche Liberi da Contesto

Precorso di Matematica

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

In una palazzina abitata da 20 famiglie, 10 di esse hanno il cane, 2 non hanno n è cane n è gatto mentre 12 famiglie hanno il gatto.

Metodo di Gauss-Jordan 1

Geometria Superiore Esercizi 1 (da consegnare entro... )

04 - Numeri Complessi

Prodotti scalari e matrici

1.5 DIVISIONE TRA DUE POLINOMI

SISTEMI LINEARI. x 2y 2z = 0. Svolgimento. Procediamo con operazioni elementari di riga sulla matrice del primo sistema: R 2 R 2 3R

Chi non risolve esercizi non impara la matematica.

Giovanna Carnovale. October 18, Divisibilità e massimo comun divisore

I RADICALI QUADRATICI

2. APPUNTI SUI FASCI DI CIRCONFERENZE (raccolti dal prof. G. Traversi)

LEZIONE 23. ax 2 + bxy + cy 2 + dx + ey + f

ax 1 + bx 2 + c = 0, r : 2x 1 3x = 0.

Vettori e matrici. Lorenzo Pareschi. Dipartimento di Matematica & Facoltá di Architettura Universitá di Ferrara

Codice Gray. (versione Marzo 2007)

7 2 =7 2=3,5. Casi particolari. Definizione. propria se < impropria se > e non è multiplo di b. apparente se è un multiplo di. Esempi.

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Linguaggi di Programmazione Corso C. Parte n.3 Linguaggi Liberi da Contesto e Linguaggi Contestuali. Nicola Fanizzi

CORSO DI LAUREA IN MATEMATICA ESERCIZI SUI LIMITI 2

Elementi di logica. SCOPO: introdurre nozioni di logica & vocabolario per una corretta interpretazione delle dimostrazioni.

Percorso 2010: Introduzione alla Logica Proposizionale

Esercizio. Sia a R non nullo e siano m, n numeri interi non nulli con m n. Allora a m /a n è uguale a. [1] 1/a n m [2] 1/a m n [3] 1/a n m [4] a n m

LEZIONE 3. Typeset by AMS-TEX

FUNZIONI ELEMENTARI, DISEQUAZIONI, NUMERI REALI, PRINCIPIO DI INDUZIONE Esercizi risolti

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

x 2 + (x+4) 2 = 20 Alle equazioni di secondo grado si possono applicare i PRINCIPI di EQUIVALENZA utilizzati per le EQUAZIONI di PRIMO GRADO.

APPUNTI DI MATEMATICA ALGEBRA \ CALCOLO LETTERALE \ MONOMI (1)

Esercizi sui sistemi di equazioni lineari.

Probabilità. Ing. Ivano Coccorullo

L'algebra Booleana. Generalità. Definizioni

Disequazioni in una incognita. La rappresentazione delle soluzioni

ESERCIZI SVOLTI SUL CALCOLO INTEGRALE

a + 2b + c 3d = 0, a + c d = 0 c d

Circonferenze del piano

Corso di Laurea in Matematica per l Informatica e la Comunicazione Scientifica

Le equazioni di I grado

Una proposizione che si pone alla base di una teoria matematica senza darne una giustificazione. Sono le «regole del gioco».

Equazioni lineari con due o più incognite

Algebra di Boole Algebra di Boole

Corso di Calcolo Numerico

EQUAZIONI MATRICIALI

Punti nel piano cartesiano

Un insieme si dice finito quando l operazione consistente nel contare i suoi elementi ha termine.

SISTEMI LINEARI MATRICI E SISTEMI 1

La funzione di Hilbert e i numeri di Betti tra Algebra e Geometria

1 Calcolo dei predicati del I ordine. Semantica

Appunti ed esercizi sulle coniche

Anno 3 Equazione dell'ellisse

= < < < < < Matematica 1

Completezza e compattezza

Anno 2. Poligoni inscritti e circoscritti: proprietà e teoremi sui poligoni principali

( x) Definizione: si definisce dominio (o campo di esistenza) di una funzione f ( x) l insieme dei valori

1 Relazione di congruenza in Z

Studio di funzioni goniometriche. di Carmelo Di Stefano 1

Disequazioni di secondo grado

COMPLETAMENTO DI SPAZI METRICI

Numeri cardinali. Definizione 1.1 Due insiemi A e B, non vuoti, si dicono equipotenti, e si scrive A B, se esiste un applicazione f : A B biunivoca.

EQUAZIONI DI PRIMO GRADO

0.1 Esercizi calcolo combinatorio

LE DISEQUAZIONI LINEARI

Tempo a disposizione: 150 minuti. 1 È dato l endomorfismo f : R 3 R 3 definito dalle relazioni

Questo paragrafo e quello successivo trattano gli stessi argomenti del capitolo B6 relativo alla soluzione grafica dei sistemi di primo grado.

Anno 2. Radicali algebrici e aritmetici: condizioni di esistenza

Osservazioni sulle funzioni composte

FUNZIONI. y Y. Def. L insieme Y è detto codominio di f. Es. Siano X = R, Y = R e f : x y = 1 x associo il suo inverso). (ad un numero reale

Esercizi svolti. risolvere, se possibile, l equazione xa + B = O, essendo x un incognita reale

Anno 3. Funzioni esponenziali e logaritmi: le 4 operazioni

Parte V: Rilassamento Lagrangiano

Richiami sulla rappresentazione dei numeri in una base fissata

Le disequazioni frazionarie (o fratte)

UNIVERSITÀ di ROMA TOR VERGATA

Collegamento generatori di tensione. Collegamento parallelo. Sia dato il sistema di figura 1: Fig. 1 -

Algoritmi. Pagina 1 di 5

I coefficienti delle incognite sono proporzionali fra loro ma NON coi termini noti, e il sistema è dunque IMPOSSIBILE (si dice anche: INCOMPATIBILE).

Riconoscere e formalizzare le dipendenze funzionali

SISTEMI LINEARI, METODO DI GAUSS

Fondamenti e didattica di Matematica Finanziaria

Rappresentazione della Conoscenza. Lezione 2. Rappresentazione della Conoscenza Daniele Nardi, 2008Lezione 2 0

Anno 2. Equivalenza fra triangoli, parallelogramma e trapezio

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Bono Marco Spirali triangolari e quadrate 1. Spirali triangolari e quadrate

2x 5y +4z = 3 x 2y + z =5 x 4y +6z = A =

Transcript:

LOGICA MATEMATICA Corso di Laurea Informatica e Tecnologie/Informatica Industriale Argomento 1. Logica proposizionale a.a. 2014-2015 (Camerino) 1 / 83

Outline Introduzione 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 2 / 83

Introduzione Tentativo di definizione Logica (matematica) = studio del pensiero (matematico) I grandi della logica: Una lista sommaria di nomi e motivazioni Aristotele (il sillogismo) Leibniz (calculus ratiocinator) Boole (l algebra del pensiero, i fondamenti algebrici della logica) Frege (i fondamenti logici della matematica) Hilbert (il metodo assiomatico e il Programma) Godel (i teoremi di incompletezza, i limiti della conoscenza matematica) Tarski (che cos è la verità) Turing (l avvento dell informatica, l intelligenza artificiale) (Camerino) 3 / 83

Introduzione Cerchiamo di capire la struttura di affermazioni arbitrarie e di afferrare le regole che ne assicurano o ne escludono la verità. Una premessa è doverosa, per mettere in guardia dalle differenze sottili che talora separano il rigore della logica matematica, le convenzioni della lingua comune. Il primo aiuta a studiare le seconde, ma spesso segue strade proprie. (Camerino) 4 / 83

Introduzione Qualche esempio delle ambiguità che distinguono il linguaggio comune e quello rigoroso della matematica. In geometria piana le due affermazioni q, q sono quadrati e q è un quadrato e q è un quadrato paiono perfettamente equivalenti: l una e l altra sono vere se e solo se, appunto, sia q che q sono quadrati. Le due affermazioni Carlo e Camilla sono sposati, Carlo è sposato e Camilla è sposata si prestano a interpretazioni diverse, perch nel linguaggio comune la prima equivale a dire che Carlo e Camilla sono sposati tra loro, la seconda a sostenere che ciascuno dei due sposato, ma eventualmente per conto proprio. (Camerino) 5 / 83

Introduzione Consideriamo la seguente definizione: un numero naturale n si dice primo se e solo se n > 1 e, se a è un naturale ed a divide n, allora a = 1 o a = n. Analizzando la struttura di questa definizione, si riconoscono proposizioni fondamentali n > 1, a è un naturale, a divide n, a = 1, a = n separate da connettivi... e..., se... allora...,... o... Se si indicano con p 0, p 1, p 2, p 3, p 4 le proposizioni fondamentali sopra elencate, e con,, i connettivi, la precedente definizione appare così strutturata: p 0 ((p 1 p 2 ) (p 3 p 4 )). (Camerino) 6 / 83

Introduzione La Logica Proposizionale La logica proposizionale si propone un analisi generale della ossatura delle proposizioni matematiche sulle basi sopra accennate. Introduciamo questa logica. Cominciamo col definirne le formule. Definizione. Alfabeto della logica proposizionale è l insieme dei seguenti elementi: variabili proposizionali p 0, p 1,..., p n,... per n naturale; connettivi (non), (e), (o), (se... allora), (se e solo se); parentesi (, ). (Camerino) 7 / 83

Introduzione Gli elementi dell alfabeto si dicono simboli della logica proposizionale. Si definisce invece parola una sequenza finita di simboli dell alfabeto. Ad esempio, p 0 ( ) è una parola (in verità un po disordinata). Definizione. L insieme F delle formule della logica proposizionale è il minimo insieme di parole dell alfabeto contenente ogni variabile proposizionale p n (per n naturale); tale che, se α e β sono in F, allora anche α, α β, α β, α β, α β sono in F. (Camerino) 8 / 83

Introduzione Esempio. p 0 ((p 1 p 2 ) (p 3 p 4 )) è una formula. Le parentesi (, ) sono usate nel modo ovvio per evitare pericoli di confusione ed ordinare le formule più elaborate. Così anche (p 0 p 1 ) (p 2 (p 3 p 4 )) è una formula, ma è diversa dalla precedente, come le parentesi appunto testimoniano. In realtà potremmo definire rigorosamente il ruolo delle parentesi, ma preferiamo qui affidarci al puro buon senso. (Camerino) 9 / 83

Introduzione È comunque intuitivamente accettabile che, se α, β e γ F, le formule α (β γ), (α β) γ, come anche α (β γ), (α β) γ, si possano identificare. Scriveremo allora liberamente α β γ oppure α β γ. Se poi α 0,..., α n F, le abbreviazioni α i, hanno l ovvio significato i n i n α i α 0... α n, α 0... α n. (Camerino) 10 / 83

Outline Semantica e valutazioni 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 11 / 83

Semantica e valutazioni Le valutazioni della logica proposizionale. Definizione. Valutazione è una applicazione v dell insieme {p n : n N} di tutte le variabili proposizionali in {0, 1}. Una valutazione v è, allora, parlando alla buona, un modo di intendere ogni variabile proposizionale p n come vera o falsa, nel senso che v(p n ) = 1 significa che p n è vera per v, v(p n ) = 0 significa che p n è falsa per v. (Camerino) 12 / 83

Semantica e valutazioni Ogni valutazione v si può estendere ad una applicazione v dell insieme F di tutte le formule in {0, 1} nel modo seguente (che esprime rigorosamente ragionevoli intuizioni del senso comune): anzitutto, per ogni n naturale, v(p n ) = v(p n ); se poi α e β sono formule, v( α) è 1 se v(α) = 0 e 0 altrimenti; v(α β) è 1 se v(α) = v(β) = 1 e 0 altrimenti; v(α β) è 1 se v(α) oppure v(β) è 1, e 0 altrimenti; v(α β) è 1 se v(α) = 0 o v(β) = 1, 0 altrimenti; v(α β) è 1 se v(α) = v(β), 0 altrimenti; (Camerino) 13 / 83

Semantica e valutazioni La definizione di v(α β) può forse creare qualche perplessità, perché è difficile accettare che, quando si pensa che α sia falsa, allora α β sia supposta vera indipendentemente da β. Suggeriamo però le seguenti implicazioni, che sono vere, ed hanno premesse false e conclusioni l una falsa e l altra vera: se 2 + 2 = 5, allora 3 + 2 = 6, se 2 + 2 = 5, allora 2 + 2 > 3. Nel seguito indicheremo v ancora con v per semplificare la notazione. (Camerino) 14 / 83

Definizione. Semantica e valutazioni Siano α F, v una valutazione. Si dice che v soddisfa α v(α) = 1. In particolare, se α e β appartengono a F, allora si ha: v = α se e solo se v = α, v = α β se e solo se v = α e v = β, v = α β se e solo se v = α o v = β, (v = α) se (Camerino) 15 / 83

Semantica e valutazioni v = α β se e solo se v = α o v = β, v = α β se e solo se v = α esattamente quando v = β. Se S è un insieme di formule e v è una valutazione, diciamo che v soddisfa S (v = S) se v = σ per ogni σ S. (Camerino) 16 / 83

Semantica e valutazioni Teorema di coincidenza Siano α una formula di F, n un naturale tale che le variabili proposizionali occorrenti in α sono tra p 0,..., p n. Siano poi v 0 e v 1 due valutazioni tali che v 0 (p i ) = v 1 (p i ) per ogni i n. Allora v 0 = α se e solo se v 1 = α. (Camerino) 17 / 83

Semantica e valutazioni Dimostrazione. Si procede per induzione sulla costruzione della formula α. Se α è una variabile proposizionale, deve essere α = p i per qualche i n; ma allora v 0 = p i se e solo se v 1 = p i per ipotesi. Se α è β per qualche β F soddisfacente la tesi, allora v 0 = α se e solo se v 0 = β e dunque se e solo se v 1 = β, cioè se e solo se v 1 = α. Se α è β γ dove β, γ F soddisfano la tesi, allora v 0 = α se e solo se v 0 = β e v 0 = γ, dunque se e solo se v 1 = β e v 1 = γ, cioè se e solo se v 1 = α. Gli altri casi α = β γ, α = β γ, α = β γ si trattano in modo analogo. (Camerino) 18 / 83

Semantica e valutazioni Definizione. Una formula α si dice soddisfacibile se e solo se esiste una valutazione v tale che v = α. Enunciamo anche il problema principale che intendiamo studiare nell ambito della logica proposizionale. Problema della soddisfacibilità (per la logica proposizionale). Determinare un algoritmo per decidere, per ogni formula α, se α è soddisfacibile o no. (Camerino) 19 / 83

Definizione. Semantica e valutazioni Una formula α si dice valida (o tautologia) se e solo se, per ogni valutazione v, v = α. Allora una formula α è valida se e solo se α non è soddisfacibile. Definizione. Un insieme S di formule si dice soddisfacibile se e solo se esiste una valutazione v tale che v = S (cioè, per ogni formula σ di S, v = σ). Si vede facilmente che, se S è un insieme finito di formule, allora S è soddisfacibile se e solo se σ S σ è soddisfacibile. In particolare l insieme vuoto è soddisfacibile, anzi è soddisfatto da ogni valutazione. (Camerino) 20 / 83

Semantica e valutazioni Equivalenza logica Definizione. Due formule α e β si dicono logicamente equivalenti se e solo se, per ogni valutazione v, v = α esattamente quando v = β. In altre parole, α e β sono logicamente equivalenti se e solo se α β è una tautologia. Osserviamo poi che la relazione di equivalenza logica è (a conferma del nome) una relazione di equivalenza nell insieme di tutte le formule. (Camerino) 21 / 83

Semantica e valutazioni Conseguenza logica Definizione. Siano S un insieme di formule, α una formula. Si dice che α è conseguenza di S (S = α) se e solo se, per ogni valutazione v, quando v = S, allora v = α. Per S e α come sopra, S = α se e solo se S { α} non è soddisfacibile. Se S è finito, S = α se e solo se la formula σ S σ α non è soddisfacibile. Notiamo poi che una formula α è valida se e solo se = α. (Camerino) 22 / 83

Semantica e valutazioni Segue dalle precedenti osservazioni che, se si dispone di un algoritmo per il problema della soddisfacibilità, si possono agevolmente costruire algoritmi per decidere: 1. per ogni formula α, se α è valida o no; 2. per ogni insieme finito S di formule, se S è soddisfacibile o no; 3. per ogni coppia di formule α e β, se α e β sono logicamente equivalenti o no; 4. per ogni insieme finito di formule S e per ogni formula α, se α è o no conseguenza di S. (Camerino) 23 / 83

Semantica e valutazioni Osservazioni (i) Siano α, β e γ formule. Sono logicamente equivalenti α e α, (α β) e α β, (α β) e α β, α β e (α β) (β α), α β e α β, α (β γ) e (α β) (α γ), α (β γ) e (α β) (α γ). (Camerino) 24 / 83

Semantica e valutazioni Osservazioni (ii) Siano α, β, α, β formule tali che α è logicamente equivalente ad α, e β è logicamente equivalente a β. Allora anche le seguenti formule sono logicamente equivalenti: α e α, α β e α β, α β e α β, α β e α β, α β e α β. (Camerino) 25 / 83

Semantica e valutazioni Abbiamo prima definito i concetti di insieme soddisfacibile S di formule, e per conseguenza di un insieme S di formule. Abbiamo anche osservato che, se si dispone di un algoritmo per il problema della soddisfacibilità per le formule, è agevole dedurne altri, uno per controllare la soddisfacibilità di un insieme S di formule, ed uno per controllare le conseguenze di S, purché S sia finito. L ipotesi di finitezza di S è, del resto, assolutamente ovvia nel contesto di ricerca di algoritmi da applicare nella pratica. Vogliamo però dimostrare che, in un certo senso, il caso in cui S è infinito si può ridurre al caso finito. Vale il seguente teorema. (Camerino) 26 / 83

Semantica e valutazioni Teorema di Compattezza Sia S un insieme infinito di formule. Allora S è soddisfacibile se e solo se ogni sottoinsieme finito di S è soddisfacibile. In particolare si ha: Corollario. Se S è un insieme infinito di formule e α è una formula, allora α è conseguenza di S se e solo se esiste un sottoinsieme finito S 0 di S tale che α è conseguenza di S 0. (Camerino) 27 / 83

Semantica e valutazioni Dimostrazione del corollario. Sappiamo che S = α se e solo se S { α} non è soddisfacibile. Se vale il Teorema di compattezza, questo equivale ad affermare che esiste un sottoinsieme finito S 1 di S { α} che non è soddisfacibile, e non c è perdita di generalità nel supporre α S 1, cioè S 1 = S 0 { α} per qualche sottoinsieme finito S 0 di S (infatti, se si aggiungono nuove formule, come α, ad un insieme già insoddisfacibile, si ottiene un insieme ancora insoddisfacibile). Possiamo allora dire che S = α se e solo se esiste un sottoinsieme finito S 0 di S tale che S 0 { α} non è soddisfacibile, cioè tale che S 0 = α. (Camerino) 28 / 83

Outline Cenni di sintassi 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 29 / 83

Cenni di sintassi Teorema di completezza Definizione: α dimostrabile Dato un insieme di assiomi (ovvero di formule di F di evidente sensatezza); un insieme di regole di deduzione (ovvero di funzioni che a certe sequenze ordinate di formule associano nuove formule, ad esempio (α, α β) β) si dice che, per ogni formula α e per ogni insieme S di formule, α è dimostrabile da S, S α se e solo se esiste una sequenza finita α 0,..., α n di formule tali che α n = α e, per ogni i < n, α i è un assioma o appartiene a S o si ottiene da formule precedenti tramite le regole di deduzione. (Camerino) 30 / 83

Cenni di sintassi Teorema di completezza È possibile definire in modo opportuno un insieme di assiomi; un insieme di regole di deduzione; in modo tale che, α e insieme S di formule, S = α se e solo se S α (Camerino) 31 / 83

Cenni di sintassi Questo risultato prende il nome di Teorema di completezza. Il suo significato è chiaro. Sappiamo infatti che, se α è una formula e S è un insieme di formule, α è conseguenza di S se e solo se ogni valutazione che crede a S crede anche ad α. Il Teorema di completezza ci dice che, per una opportuna scelta di assiomi e regole di deduzione, questo equivale, per ogni S e α, alla possibilità di dimostrare (nel senso sopra descritto) α da S. (Camerino) 32 / 83

Outline Connettivi, forme normali 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 33 / 83

Connettivi, forme normali Intendiamo affrontare in questo paragrafo il problema di dare una definizione rigorosa di connettivo. Intuitivamente, connettivo (ad esempio ) è una costruzione che, a partire da certe formule (α, β nel nostro caso), definisce una nuova formula (α β, appunto). Della nuova formula non è tanto importante la rappresentazione che se ne dà, quanto il significato che le si attribuisce, e dunque quando la si ritiene vera, in relazione naturalmente ai valori di verità assegnati alle formule che la definiscono. Vediamo il successivo esempio. (Camerino) 34 / 83

Connettivi, forme normali Esempio v, si ha che: v(α β) = 1 se e solo se v(α) = v(β) = 1. In questo senso si identifica con la funzione tale che f : {0, 1} 2 {0, 1} f ((1, 1)) = 1, f ((0, 0)) = f ((0, 1)) = f ((1, 0)) = 0 o, equivalentemente, tale che, per ogni x 0, x 1 {0, 1}, f ((x 0, x 1 )) = v(α β) dove α e β sono formule e v è una valutazione tale che v(α) = x 0 e v(β) = x 1. (Camerino) 35 / 83

Connettivi, forme normali Queste considerazioni suggeriscono la seguente definizione. Connettivo Definizione. Sia n un intero positivo. Connettivo n-ario è una funzione di {0, 1} n in {0, 1}. Sia α con variabili proposizionali tra p 0,..., p n 1. Allora α definisce il seguente connettivo n-ario f n α: per ogni scelta di x 0,..., x n 1 {0, 1}, f n α(x 0,..., x n 1 ) = v(α) dove v è una valutazione tale che v(p i ) = x i i < n (Camerino) 36 / 83

Connettivi, forme normali Osservazioni. Siano α e β due formule con variabili proposizionali tra p 0,..., p n 1. 1. f n α è la funzione non nulla se e solo se α è soddisfacibile. Spiegazione Sia infatti α soddisfacibile, e sia v tale che v(α) = 1. Allora e f n α non è la funzione nulla. f n α(v(p 0 ),..., v(p n 1 )) = 1, Viceversa, assumiamo che esista x = (x 0,..., x n 1 ) {0, 1} n tale che f n α(x) = 1. Se v è una valutazione tale che v(p j ) = x j per ogni j < n, si ha v(α) = f n α(x) = 1. Così v = α. (Camerino) 37 / 83

Connettivi, forme normali Osservazioni. 2. f n α = f n β se e solo se α e β sono logicamente equivalenti. Spiegazione Supponiamo infatti α e β logicamente equivalenti. Allora, v, v(α) = v(β). Sia x {0, 1} n ; ricordiamo che f n α(x) = v(α), fβ n (x) = v(β) dove v è tale che v(p j ) = x j per ogni j < n; dunque f n α(x) = f n β (x). Segue f n α = f n β. Supponiamo adesso fα n = fβ n. Per ogni v, si ha v(α) = f n α(v(p 0 ),..., v(p n 1 )), v(β) = f n β (v(p 0),..., v(p n 1 )). Allora v(α) = v(β). Dunque α e β sono logicamente equivalenti. (Camerino) 38 / 83

Connettivi, forme normali Siamo ora in grado di dimostrare il seguente teorema. Teorema. Siano n N {0} e g un connettivo n-ario. Allora esiste una formula α con variabili proposizionali tra p 0,..., p n 1 tale che f n α = g. Inoltre α può essere scelta come una disgiunzione di congiunzioni di variabili proposizionali o negazioni di variabili proposizionali. Osservazione Il teorma mostra che n N {0}e per ogni connettivo n-ario g, una formula α costruita con il solo uso di, e (addirittura α = i k j<n λ i,j dove ciascun λ i,j è p j o la sua negazione) tale che g = fα. n In particolare i connettivi proposti,,,, sono (più che) sufficienti; anzi, e bastano per generare tutti i possibili connettivi. (Camerino) 39 / 83

Definizione. Connettivi, forme normali Una formula α si dice 1. basica se e solo se α è una variabile proposizionale o la sua negazione; 2. in forma normale disgiuntiva se α è una disgiunzione di congiunzioni di formule basiche: α = i k j n i λ i,j dove k e ciascun n i (i k) sono interi positivi, mentre ciascun λ i,j è una formula basica (si scrive allora α DNF ); (Camerino) 40 / 83

Connettivi, forme normali 3. in forma normale congiuntiva se α è una congiunzione di disgiunzioni di formule basiche: α = λ i,j i k j n i dove k e ciascun n i (i k) sono interi positivi, mentre ciascun λ i,j è una formula basica (si scrive allora α CNF ). Un altra conseguenza del precedente teorema è data dal seguente corollario. Corollario. Sia β una formula. Allora esistono una formula α DNF e una formula γ CNF logicamente equivalenti a β. (Camerino) 41 / 83

Outline Il problema della soddisfacibilità 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 42 / 83

Il problema della soddisfacibilità È già stato introdotto il problema della soddisfacibilità nella logica proposizionale, un metodo semplice è il seguente Le Tavole di verità Data una formula α, 1. si enumerano le variabili proposizionali p 0,..., p n 1 in α; 2. si enumerano tutte le possibili sequenze x 0,..., x n 1 che una valutazione v può associare a p 0,..., p n 1, 3. per ogni sequenza, si calcola il corrispondente valore di v(α). α è soddisfacibile se e solo se almeno una volta si ottiene v(α) = 1. (Camerino) 43 / 83

Esempi Il problema della soddisfacibilità 1. α è p 0 (p 0 p 1 ). Allora α è soddisfacibile. p 0 p 1 p 0 p 0 p 1 α 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 In particolare, le valutazioni v per cui v(α) = 1 sono quelle tali che v(p 0 ) = 0 o v(p 1 ) = 1. (Camerino) 44 / 83

2. Il problema della soddisfacibilità Sia α la formula (p 0 p 1 ) (p 1 p 0 ). Allora α è soddisfacibile. p 0 p 1 p 0 p 1 p 1 p 0 α 1 1 1 1 1 1 0 0 1 0 0 1 1 0 0 0 0 1 1 1 La formula α è soddisfacibile perché esistono valutazioni che le associano il valore 1. Tali valutazioni sono quelle v per cui v(p 0 ) = v(p 1 ). In particolare α è logicamente equivalente a p 0 p 1. (Camerino) 45 / 83

3. Il problema della soddisfacibilità Sia ora α la formula p 0 (p 1 p 2 ). Allora α è soddisfacibile, come mostra la seguente tabella. p 0 p 1 p 2 p 2 p 1 p 2 α 1 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 0 1 1 0 0 1 0 1 0 1 1 0 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 La formula α è soddisfacibile perché esistono valutazioni che le associano il valore 1. (Camerino) 46 / 83

4. Il problema della soddisfacibilità Il metodo esposto si può applicare, più in generale, per stabilire la soddisfacibilità di una formula quale α (α β) con α e β in F, in riferimento, naturalmente, alle valutazioni di α e β. In questo caso si ha α β α α β α (α β) 1 1 0 1 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 Perciò, per ogni valutazione v, si ha che v soddisfa α (α β) se e solo se v non soddisfa α oppure v soddisfa β. L esistenza di una tale valutazione, e quindi la soddisfacibilità di α (α β), dipende ovviamente da α e β. (Camerino) 47 / 83

5. Il problema della soddisfacibilità Per ogni formula α, α α è valida. α α α α 1 0 1 0 1 1 Dunque, per ogni valutazione v, v soddisfa α α. 6. Per ogni formula α, α α non è soddisfacibile. α α α α 1 0 0 0 1 0 Dunque, per ogni valutazione v, v non soddisfa α α. (Camerino) 48 / 83

7. Il problema della soddisfacibilità Se α e β sono formule, allora α β e α β sono logicamente equivalenti. α β α β α α β 1 1 1 0 1 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 Allora, per ogni valutazione v, v soddisfa α β se e solo se v soddisfa α β. Di conseguenza le due formule sono logicamente equivalenti. (Camerino) 49 / 83

8. Il problema della soddisfacibilità Se α e β sono formule, allora β è conseguenza di {α, α β}. α β α β 1 1 1 1 0 0 0 1 1 0 0 1 In particolare, una valutazione v che soddisfa α e α β soddisfa anche β. (Camerino) 50 / 83

Il problema della soddisfacibilità Metodo efficiente? Il metodo delle tavole di verità è dunque molto semplice. Ha però un grave difetto: infatti, se α è una formula con n variabili proposizionali p 0,..., p n 1, le possibili sequenze (v(p 0 ),..., v(p n 1 )), quando v varia tra le valutazioni, esauriscono tutto {0, 1} n, e sono dunque 2 n. L impostazione della tavola di verità di α richiede 2 n passi; segue che il metodo richiede troppo tempo e troppo spazio quando n è grande. Si pone il problema di ottenere algoritmi più pratici ed efficienti. (Camerino) 51 / 83

Outline Forme normali e clausole 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 52 / 83

Forme normali e clausole Nella ricerca di nuovi metodi più veloci per il problema della soddisfacibilità, possiamo allora cercare intanto un metodo effettivo per tradurre una arbitraria formula α in una formula in DNF o in CNF logicamente equivalente ad α. Illustremo tale metodo. (Camerino) 53 / 83

Forme normali e clausole Riduzione in DNF o in CNF. Sia α una formula. Per ottenere una formula in DNF o in CNF logicamente equivalente ad α si esegue il seguente programma. (a) Eliminare in α (basta ricordare che, se β e γ sono due formule, allora β γ è logicamente equivalente a (β γ) (γ β)). (b) Eliminare (per ogni scelta di β e γ, β γ è logicamente equivalente a β γ). (c) Eliminare ogni connettivo che non riguardi direttamente variabili proposizionali (ricordare che, per ogni scelta di β e γ, sono logicamente equivalenti β e β, (β γ) e β γ, (β γ) e β γ). (Camerino) 54 / 83

Forme normali e clausole Sappiamo che valgono le proprietà distributive tanto di rispetto a quanto di rispetto a : infatti, per ogni scelta di β, γ e δ in F, sono logicamente equivalenti le formule β (γ δ) e (β γ) (β δ), β (γ δ) e (β γ) (β δ)). Così un semplice trucco per ridurre, dopo il passo (c), la formula α in DNF è quello di sostituire in α e rispettivamente con + e, fare i calcoli come se α fosse un polinomio e, dopo aver ridotto il polinomio in forma normale (somma di prodotti di variabili proposizionali), mettere nuovamente e al posto di + e. Naturalmente, se si preferisce CNF a DNF, il trucco è lo stesso; basta avere la precauzione di sostituire stavolta con + e con. Sintetizzando, l ultimo passo del programma di riduzione a DNF o CNF è: (d) usare le proprietà distributive di ( ) rispetto a ( ). (Camerino) 55 / 83

Forme normali e clausole Proseguiamo la ricerca di un algoritmo per il problema della soddisfacibilità. Sia α una formula in CNF, ad esempio: α : con n, m i N e formule basiche λ i,j. i n j m i Cambiando notazione, possiamo scrivere α come un insieme (finito e non vuoto) di insiemi (finiti e non vuoti) di formule basiche ponendo: λ i,j α = {{λ i,j : j m i } : i n}. In generale, possiamo dare la seguente definizione. Definizione. Clausola è un insieme finito di formule basiche. (Camerino) 56 / 83

Forme normali e clausole Ogni formula in CNF definisce un insieme finito e non vuoto di clausole non vuote. Esistono altri insiemi finiti di clausole: l insieme vuoto ; gli insiemi contenenti la clausola vuota. Nel seguito porremo = clausola vuota (Camerino) 57 / 83

Forme normali e clausole Ricordiamo che, se v è una valutazione e α è una formula di CNF, rappresentata nella forma λ i,j, i n j m i o anche come insieme finito e non vuoto di clausole non vuote {{λ i,j : j m i } : i n}, allora v soddisfa α (v = α) se e solo se, per ogni i n, esiste j m i tale che v(λ i,j ) = 1. Poniamo allora la seguente definizione. Definizione. Siano v una valutazione, α un insieme finito di clausole. Si dice che v soddisfa α, e si scrive v = α, se e solo se, per ogni k α, esiste λ k tale che v(λ) = 1. (Camerino) 58 / 83

Forme normali e clausole Inoltre: ogni valutazione v soddisfa (non esiste alcuna clausola in ); se α è un insieme finito di clausole e α, allora nessuna valutazione v soddisfa α (infatti è una clausola di α, ma non esiste alcun formula basica λ in ). Possiamo adesso dare la seguente definizione. Definizione. Diciamo che un insieme finito di clausole α è soddisfacibile se e solo se esiste una valutazione v che soddisfa α. Se poi α e α sono due insiemi finiti di clausole, diciamo che α è conseguenza logica di α, e scriviamo α = α, se ogni valutazione v che soddisfa α soddisfa anche α. Ad esempio, è facile osservare che, se α α, allora α = α. Finalmente definiamo due insiemi finiti di clausole α e α logicamente equivalenti se sono soddisfatti dalle stesse valutazioni. (Camerino) 59 / 83

Forme normali e clausole Lemma. Siano α un insieme finito di clausole, k α, λ una variabile proposizionale tale che tanto λ quanto λ appartengono a k. Allora α e α {k} sono logicamente equivalenti. Dimostrazione. Se v = α, si ha v = α {k} perché α {k} α. Supponiamo allora v = α {k}; siccome v(λ) = 1 o v( λ) = 1, esiste comunque µ k tale che v(µ) = 1. Dunque v = α. (Camerino) 60 / 83

Forme normali e clausole Possiamo poi assumere che, per ogni clausola k in α e per ogni variabile proposizionale λ, λ k oppure λ k. Infatti, se α contiene una clausola k tale che, per qualche formula basica λ, tanto λ quanto λ appartengono a k, allora α è soddisfacibile se e solo se α {k} è soddisfacibile. (Camerino) 61 / 83

Forme normali e clausole Conviene allora introdurre, a proposito di α e della formula basica λ, la seguente notazione: α 0 λ = {k α : λ k, λ k}, α + λ α λ = {k α : λ k}, = {k α : λ k} (allora αλ 0, α+ λ, α λ formano una partizione di α: sono a due a due disgiunti e αλ 0 α+ λ α λ = α); poniamo anche: Pos λ (α) = α 0 λ {k {λ} : k α+ λ }, Neg λ (α) = α 0 λ {k { λ} : k α λ } (naturalmente, quando λ = µ è la negazione di una variabile proposizionale, si intende λ = µ) (Camerino) 62 / 83

Esempio. Forme normali e clausole Siano α = {{p 0, p 1, p 2 }, { p 0, p 1, p 2 }, {p 1, p 2 }, {p 0 }}, λ = p 0. Allora αλ 0 = {{p 1, p 2 }}, α + λ = {{p 0, p 1, p 2 }, {p 0 }}, α λ = {{ p 0, p 1, p 2 }}, Pos λ (α) = {{p 1, p 2 }, { p 1, p 2 }, }, Neg λ (α) = {{p 1, p 2 }, { p 1, p 2 }}. (Camerino) 63 / 83

Outline Il Teorema di decomposizione 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 64 / 83

Il Teorema di decomposizione Teorema (di decomposizione). Siano α un insieme finito di clausole, λ una variabile proposizionale. Allora α è soddisfacibile se e solo se Pos λ (α) o Neg λ (α) è soddisfacibile. (Camerino) 65 / 83

Il Teorema di decomposizione Osservazione Sia α una formula in CNF con variabili proposizionali tra p 0,..., p n 1. Sappiamo che α è soddisfacibile se e solo se Pos λ (α) oppure Neg λ (α) è soddisfacibile. Dunque, per controllare la soddisfacibilità di α, basta controllare quella di Pos pi (α), Neg pi (α), per qualche i < n; Pos pi (α) e Neg pi (α) hanno il vantaggio di avere una variabile proposizionale in meno perché p i non occorre né in Pos pi (α) né in Neg pi (α); conviene anzi scegliere i < n tale che p i (o p i ) ha il massimo numero di occorrenze in α. (Camerino) 66 / 83

Il Teorema di decomposizione Corollario 1 (regola della formula basica pura). Se α CNF (o, più in generale, α è un insieme finito di clausole), λ è una formula basica e α λ = (cioè λ non occorre mai nelle clausole di α), allora α è soddisfacibile se e solo se αλ 0 è soddisfacibile. Dimostrazione. Infatti, se α è soddisfacibile, anche αλ 0 α è soddisfacibile. Viceversa supponiamo αλ 0 soddisfacibile; siccome α λ =, Neg λ(α) = αλ 0, e dunque Neg λ(α) è soddisfacibile. Per il Teorema di decomposizione, α è soddisfacibile. (Camerino) 67 / 83

Il Teorema di decomposizione Corollario 2 (regola della clausola unitaria). Se α CNF e, per qualche formula basica λ, {λ} è una clausola di α, allora α è soddisfacibile se e solo se Neg λ (α) è soddisfacibile. Dimostrazione. Se {λ} α, allora {λ} α + λ e dunque = {λ} {λ} appartiene a Pos λ (α). Segue che Pos λ (α) non è soddisfacibile. La tesi è allora un caso particolare del Teorema di decomposizione. (Camerino) 68 / 83

Il Teorema di decomposizione Diamo adesso alcuni esempi di applicazione del Teorema di decomposizione e delle regole di Davis-Putnam. Esempi 1. Sia dapprima α = {{ p 0, p 1, p 2 }, { p 0, p 1, p 3 }, { p 4, p 5, p 6 }, { p 6, p 3, p 7 }, {p 0 }, {p 1 }, {p 4 }, {p 5 }, { p 7 }}. Allora α non è soddisfacibile. Infatti, con uso ripetuto della regola della clausola unitaria, possiamo vedere che α è soddisfacibile se e solo se risultano successivamente soddisfacibili i seguenti insiemi finiti di clausole: (Camerino) 69 / 83

Il Teorema di decomposizione {{ p 1, p 2 }, { p 1, p 3 }, { p 4, p 5, p 6 }, { p 6, p 3, p 7 }, {p 1 }, {p 4 }, {p 5 }, { p 7 }}, e poi {{p 2 }, {p 3 }, { p 4, p 5, p 6 }, { p 6, p 3, p 7 }, {p 4 }, {p 5 }, { p 7 }}, {{p 2 }, { p 4, p 5, p 6 }, { p 6, p 7 }, {p 4 }, {p 5 }, { p 7 }}, {{p 2 }, { p 4, p 6 }, { p 6, p 7 }, {p 4 }, { p 7 }}, {{p 2 }, {p 6 }, { p 6, p 7 }, { p 7 }}, {{p 2 }, {p 6 }, { p 6 }}, {{p 2 }, } (si considerino nell ordine le clausole unitarie {p 0 }, {p 1 }, {p 3 }, {p 5 }, {p 4 }, { p 7 }, {p 6 }). L ultimo insieme di clausole non è soddisfacibile perché contiene. (Camerino) 70 / 83

2. Il Teorema di decomposizione Sia adesso α = {{p 0, p 1, p 2, p 3 }, { p 0, p 1, p 2, p 3 }, { p 0, p 1, p 2 }}. Siccome α p 2 =, si può usare la regola della formula basica pura per λ = p 2. Dato che α 0 p 2 = è soddisfacibile, anche α lo è. 3. Finalmente consideriamo α = {{p 0, p 1 }, {p 0, p 2 }, { p 0, p 1 }, { p 0, p 3 }, {p 1, p 2 }, {p 1, p 3 }}. Applicando il Teorema di decomposizione per λ = p 0, si ha che α è soddisfacibile se e solo se uno dei seguenti insiemi è soddisfacibile: Pos p0 (α) = {{ p 1 }, {p 2 }, {p 1, p 2 }, {p 1, p 3 }}, Neg p0 (α) = {{ p 1 }, {p 3 }, {p 1, p 2 }, {p 1, p 3 }}. (Camerino) 71 / 83

Il Teorema di decomposizione Consideriamo dapprima Pos p0 (α); con la regola della clausola unitaria applicata a p 2, si ottiene: {{ p 1 }, {p 1 }, {p 1, p 3 }}, da cui si passa, ancora con la regola della clausola unitaria, stavolta applicata a p 1, a { }, che è non soddisfacibile. Segue che Pos p0 (α) non è soddisfacibile. Allo stesso modo si vede che anche Neg p0 (α) non è soddisfacibile (basta ripetere i passaggi per Pos p0 (α) invertendo i ruoli di p 2 e p 3 ). Dunque neppure α lo è. (Camerino) 72 / 83

Il Teorema di decomposizione Algoritmo per il problema della soddisfacibilità suggerito dal Teorema di Decomposizione Data formula α in CNF, con variabili proposizionali tra p 0,..., p n 1, è o no soddisfacibile: determinare prima Pos p0 (α), Neg p0 (α) (che hanno variabili proposizionali tra p 1,..., p n 1 ), poi Pos p1 (Pos p0 (α)), Neg p1 (Pos p0 (α)) e Pos p1 (Neg p0 (α)), Neg p1 (Neg p0 (α)), (che hanno variabili proposizionali tra p 2,..., p n 1 ), e così via. Si determina in questo modo un albero 2-adico con n livelli e, quindi, 2 n rami. Al termine di ciascun ramo si trova un insieme finito di clausole non contenenti alcuna formula basica, dunque coincidenti con oppure con { }. (Camerino) 73 / 83

Il Teorema di decomposizione Algoritmo per il problema della soddisfacibilità suggerito dal Teorema di Decomposizione Per il Teorema di decomposizione, α è soddisfacibile sse, ad ogni livello dell albero, almeno un nodo è soddisfacibile. Ricordiamo che è soddisfatto da ogni valutazione, mentre { } non è soddisfacibile. α è soddisfacibile se e solo se al termine di almeno un ramo si trova. In particolare il metodo richiede, se α ha n variabili proposizionali, di esplorare 2 n rami di un albero. Si presta perciò alle medesime critiche delle tavole di verità: è, in generale, troppo lento. Naturalmente, in casi particolari (come quelli relativi agli esempi precedenti), l uso del Teorema di decomposizione e delle regole di Davis-Putnam permette un rapido controllo della soddisfacibilità della formula proposta. (Camerino) 74 / 83

Outline Il Teorema di risoluzione 1 Introduzione 2 Semantica e valutazioni 3 Cenni di sintassi 4 Connettivi, forme normali 5 Il problema della soddisfacibilità 6 Forme normali e clausole 7 Il Teorema di decomposizione 8 Il Teorema di risoluzione (Camerino) 75 / 83

Il Teorema di risoluzione Definizione. Siano k 1, k 2 due clausole, λ una variabile proposizionale tale che λ k 1 e λ k 2. Si dice risolvente di k 1 e k 2 rispetto a λ, e si indica con res λ (k 1, k 2 ), la clausola (k 1 {λ}) (k 2 { λ}). Esempio. Siano k 1 = {p 0, p 1 }, k 2 = { p 0, p 2 }, λ = p 0. Allora res λ (k 1, k 2 ) = {p 1, p 2 }. Si noti che, per ogni valutazione v, se v = {k 1, k 2 }, allora v(p 1 ) = 1 oppure v(p 2 ) = 1, e dunque v = {res λ (k 1, k 2 )}. (Camerino) 76 / 83

Il Teorema di risoluzione Lemma 1. Siano k 1, k 2 clausole, λ una variabile proposizionale tale che λ k 1 e λ k 2. Allora {k 1, k 2 } = {res λ (k 1, k 2 )}. Risolvente di una formula Sia α CNF (o, più in generale, sia α un insieme finito di clausole), e sia λ una variabile proposizionale. Poniamo RES λ (α) = α 0 λ {res λ(k 1, k 2 } : k 1 α + λ, k 2 α λ }. (Camerino) 77 / 83

Il Teorema di risoluzione Lemma 2. Siano α CNF (o comunque un insieme finito di clausole), λ una variabile proposizionale. Allora α è soddisfacibile se e solo se RES λ (α) è soddisfacibile. Dimostrazione. (= ) Proviamo che, addirittura, ogni valutazione v che soddisfa α soddisfa anche RES λ (α). Sia k RES λ (α), cerchiamo µ k tale che v(µ) = 1. Se k αλ 0, allora k α, e la tesi è ovvia. Sia allora k = res λ (k 1, k 2 ) con k 1 α + λ e k 2 α λ. Allora {k 1, k 2 } α, dunque v = {k 1, k 2 }. Per il Lemma 1, v = {k}, ovvero esiste µ k tale che v(µ) = 1. (Camerino) 78 / 83

Il Teorema di risoluzione Dimostrazioen del Lemma 2 (seconda parte) ( =) Per il Teorema di decomposizione, basta provare che, se v è una valutazione che soddisfa RES λ (α), allora v soddisfa Pos λ (α) oppure Neg λ (α). Dunque supponiamo che v = RES λ (α) ma v = Pos λ (α), e dimostriamo che, in questo caso, v = Neg λ (α) = αλ 0 {k 2 { λ} : k 2 α λ }. Chiaramente v = α0 λ perché αλ 0 α. Sia ora k 2 α λ ; sappiamo che esiste k Pos λ(α) tale che, per ogni µ k, v(µ) = 0, e, siccome v = αλ 0, deve essere k = k 1 {λ} per un opportuna clausola k 1 α + λ. Per ipotesi v = {res λ (k 1, k 2 )}, cioè esiste µ res λ (k 1, k 2 ) tale che v(µ) = 1; ma non può essere µ k 1 {λ} = k, dunque µ k 2 {λ}. In conclusione, v = Neg λ (α). (Camerino) 79 / 83

Il Teorema di risoluzione Il lemma 2 suggerisce già un algoritmo per controllare la soddisfacibilità di una formula α CNF. Se le variabili proposizionali di α sono tra p 0,..., p n 1, si costruiscono successivamente α 0 = α e, per ogni i con 0 < i < n, α i+1 = RES pi (α i ). Allora, per ogni i < n, le variabili proposizionali nelle clausole di α i sono tra p i,..., p n 1, e α i è soddisfacibile sse lo è α. Le clausole di α n non contengono alcuna variabile proposizionale, e dunque α n = oppure α n = { }. Se α n =, allora α è soddisfacibile, mentre, se α n = { }, α non è soddisfacibile. (Camerino) 80 / 83

Il Teorema di risoluzione Definizione. Sia α CNF. Si dice confutazione di α una sequenza finita k 0,..., k m di clausole tali che k m = e, per ogni i m, k i α o esistono j, h < i ed una variabile proposizionale λ tali che λ k j, λ k h e k i = res λ (k j, k h ). Teorema di risoluzione. Sia α CNF. Allora α non è soddisfacibile sse esiste una confutazione di α. (Camerino) 81 / 83

Esempio. Il Teorema di risoluzione Sia α = {{ p 0, p 1, p 2 }, { p 0, p 1, p 3 }, { p 4, p 5, p 6 }, { p 6, p 3, p 7 }, {p 0 }, {p 1 }, {p 4 }, {p 5 }, { p 7 }}. Abbiamo già provato, con l uso delle regole di Davis-Putnam, che α non è soddisfacibile. Ecco una confutazione di α: k 0 = { p 0, p 1, p 3 } α, k 1 = { p 6, p 3, p 7 } α, k 2 = { p 0, p 1, p 6, p 7 } = res p3 (k 0, k 1 ), k 3 = {p 0 } α, k 4 = { p 1, p 6, p 7 } = res p0 (k 3, k 2 ), k 5 = {p 1 } α, k 6 = { p 6, p 7 } = res p1 (k 5, k 4 ), (Camerino) 82 / 83

Il Teorema di risoluzione k 7 = { p 7 } α, k 8 = { p 6 } = res p7 (k 6, k 7 ), k 9 = { p 4, p 5, p 6 } α, k 10 = { p 4, p 5 } = res p6 (k 9, k 8 }, k 11 = {p 4 } α, k 12 = { p 5 } = res p4 (k 11, k 10 ), k 13 = {p 5 } α, k 14 = = res p5 (k 13, k 12 ). Si può comunque mostrare che anche il metodo ora descritto, per quanto più rapido dei precedenti in qualche caso particolare ha tuttavia lo stesso difetto: è troppo lento. (Camerino) 83 / 83