Appunti di Logica

Embed Size (px)

DESCRIPTION

Appunti di Logica

Citation preview

  • Logica

    Luca Telloli

    12 febbraio 2003

  • 2

  • Indice

    1 Note introduttive 51.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Alberi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2 I linguaggi proposizionali 72.1 Vocabolario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Sintassi del linguaggio. . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Semantica del linguaggio. . . . . . . . . . . . . . . . . . . . . . . 9

    2.3.1 Interpretazione del linguaggio. . . . . . . . . . . . . . . . 92.3.2 Soddisfacibilita` e consequenzialita` semantica. . . . . . . . 112.3.3 Equivalenza semantica e completezza funzionale. . . . . . 132.3.4 Dal linguaggio naturale al linguaggio proposizionale. . . . 142.3.5 Forme normali. . . . . . . . . . . . . . . . . . . . . . . . . 17

    2.4 Metodi sintattici di decisione per la soddisfacibilita`. . . . . . . . 192.4.1 Risoluzione per clausole. . . . . . . . . . . . . . . . . . . . 192.4.2 Deduzione naturale. . . . . . . . . . . . . . . . . . . . . . 22

    2.5 Soddisfacibilita` di insieme non finiti. . . . . . . . . . . . . . . . . 252.5.1 Compattezza semantica . . . . . . . . . . . . . . . . . . . 25

    3 Linguaggi del I ordine 273.1 Alfabeto dei linguaggi predicativi. . . . . . . . . . . . . . . . . . 27

    3.1.1 Variabili libere. . . . . . . . . . . . . . . . . . . . . . . . . 293.2 Semantica di un linguaggio del primo ordine. . . . . . . . . . . . 30

    3.2.1 Semantica del linguaggio. . . . . . . . . . . . . . . . . . . 313.2.2 Equivalenze semantiche. . . . . . . . . . . . . . . . . . . . 333.2.3 Enunciati e variabili libere. . . . . . . . . . . . . . . . . . 36

    3.3 Algoritmo di Skolem . . . . . . . . . . . . . . . . . . . . . . . . . 373.3.1 Forma normale prenessa. . . . . . . . . . . . . . . . . . . 373.3.2 Algoritmo di Skolem . . . . . . . . . . . . . . . . . . . . . 383.3.3 Teorema di Herbrandt - Skolem . . . . . . . . . . . . . . . 40

    3.4 Metodi sintattici al primo ordine. . . . . . . . . . . . . . . . . . . 413.4.1 Compattezza semantica. . . . . . . . . . . . . . . . . . . . 423.4.2 Sostituzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . 423.4.3 Unificazione. . . . . . . . . . . . . . . . . . . . . . . . . . 43

    3.5 Metodo di risoluzione al primo ordine. . . . . . . . . . . . . . . . 433.6 Deduzione naturale al I ordine. . . . . . . . . . . . . . . . . . . . 48

    3.6.1 Regole elementari. . . . . . . . . . . . . . . . . . . . . . . 493.6.2 Regole condizionali. . . . . . . . . . . . . . . . . . . . . . 50

    3

  • 4 INDICE

    A Esercizi desame. 53A.1 Esercizi di risoluzione semantica. . . . . . . . . . . . . . . . . . . 53A.2 Esercizi di risoluzione per clausole. . . . . . . . . . . . . . . . . . 58A.3 Esercizi di deduzione naturale. . . . . . . . . . . . . . . . . . . . 59

  • Capitolo 1

    Note introduttive

    1.1 Introduzione

    In questo corso verranno studiate due classi di linguaggi:

    linguaggi proposizionali

    linguaggi del primo ordine (o predicativi)

    Ogni linguaggio e caratterizzato da elementi ricorrenti, che verranno richia-mati di volta in volta, e che sono:

    Vocabolario (o lessico): insieme fissato e finito di elementi del linguag-gio

    Sintassi: regole di corretta formazione delle stringhe (o frasi) del linguag-gio. Le regole sono finite e ricorsive

    Semantica: attribuzione di significato alle stringhe ben formate

    I linguaggi proposizionali non nascono in maniera artificiale, ma dalla rifles-sione e dallindagine sui linguaggi naturali, che quotidianamente parliamo.

    1.2 Alberi.

    Definizione: si definisce albero (e intenderemo un albero finito) un insieme finitoe ordinato con una relazione dordine parziale; questo significa che non tutti glielementi dellalbero sono confrontabili tra loro.

    Un albero e detto banale se composto da un unico elemento, detto radicedellalbero. Al contrario, e detto non banale quando contiene piu` elementi; essoe composto da una radice (lelemento piu` piccolo secondo la relazione dordineassegnata) e da altri nodi, detti successori.

    Si dicono nodi terminali (o foglie) i nodi che non hanno successori. Glialtri sono detti nodi non terminali. Il numero di successori di un nodo e dettomolteplicita` del nodo. Si dice infine ramo linsieme (totalmente ordinato!) dinodi il cui primo elemento e la radice, e lultimo e una foglia. E intuitivo cheun albero ha tanti rami quanti sono i suoi nodi terminali. Si definiscono infine

    5

  • 6 CAPITOLO 1. NOTE INTRODUTTIVE

    lunghezza del ramo, o cardinalita` il numero di nodi che esso percorre, diminuitodi 1; e profondita` dellalbero il valore massimo nellinsieme delle cardinalita`dellalbero.

    Relazione di dominanza tra nodi

    Dato un albero non banale, e due nodi X, Y appartenenti ad esso, si dice cheX domina Y quando i due nodi sono sullo stesso ramo, e la profondit di X eminore di quella di Y 1.

    Relazione di C - comando

    Dato un albero non banale, e due nodi X, Y appartenenti ad esso, dicendo cheX Ccomanda Y (o comanda per costituenti) si afferma che siano verificatetutte le seguenti condizioni:

    1. X 6= Y

    2. X non domina Y, ne Y domina X. Per cui X, Y non sono sullo stesso ramo,cioe esiste ad un livello superiore un nodo che biforca

    3. Il nodo biforcante piu` profondo che domina X domina anche Y

    1Osservazione: Cio` significa che X precede Y nella relazione dordine dellalbero

  • Capitolo 2

    I linguaggi proposizionali

    Evidenziamo gli elementi di un linguaggio proposizionale:

    2.1 Vocabolario

    1. Frasi atomiche: E dato un insieme A, finito od infinito, non vuoto, i cuielementi sono detti frasi atomiche del linguaggio, e vengono indicati conlettere alfabetiche minuscole {a, b, c, . . .}. Linsieme delle frasi atomiche einsieme che caratterizza un particolare linguaggio proposizionale.

    2. Connettivi:

    Simbolo Denominazione Significato negazione non congiunzione e disgiunzione o, non esclusivo implicazione se . . . allora . . .

    3. Simboli ausiliari:

    Simbolo Denominazione assurdo( parentesi aperta sinistra) parentesi chiusa destra

    2.2 Sintassi del linguaggio.

    La sintassi del linguaggio fornisce le regole di formazione delle stringhe. Taliregole sono di tipo ricorsivo.

    Definizione 2.1 (linguaggio) Si definisce linguaggio, e lo si indica con LAlinsieme delle stringhe ben formate (o frasi) ottenute dallinsieme di frasiatomiche A mediante lutilizzo delle regole della sintassi.

    Indicheremo in seguito le singole frasi di un determinato linguaggio con luti-lizzo di lettere greche {, , , ...}. E immediato osservare che insiemi differentidi frasi atomiche generano differenti linguaggi.LA e il piu` piccolo insieme tale che:

    7

  • 8 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    1. Lassurdo appartiene a LA:

    LA

    2. Le frasi atomiche appartengono a LA

    A LA

    3. Insieme delle regole ricorsive:

    se LA allora () LA

    se , LA allora ( ), ( ), ( ) LA

    Osservazioni. [FARE] J

    Esercizio.

    Dimostrare che se una stringa e ben formata, ci sono tante parentesi aperte asinistra quante parentesi chiuse a destra.

    Ad ogni frase del linguaggio e possibile associare un albero, detto alberosintagmatico di , indicato con T che permette di risalire alla struttura atomicadella frase.

    O Dimostrazione.La dimostrazione utilizza il procedimento induttivo:

    1. nel caso di una frase atomica :

    T

    2. nel caso di una frase del tipo = :

    T

    T

    L

    3. nel caso di una frase del tipo = , oppure = , oppure =

    T

    ^

    ^^ T

    T

  • 2.3. SEMANTICA DEL LINGUAGGIO. 9

    M

    Osservazioni. Ad esempio, lalbero sintagmatico per lespressione:

    ((a b) c) d

    e la seguente:[TODO] J

    Si osservi che nei nodi terminali compaiono soltanto connettivi, o frasi atom-iche.

    Osservazioni.

    Se A,A sono insiemi di frasi atomiche, e A A, allora vale che LA LA .

    Dato LA, se ne costruisca lalbero T. Si indichi con A linsieme deinodi di T che sono in A. Valgono le seguenti affermazioni:

    1. A e un insieme finito. Un linguaggio ha necessariamente infinitefrasi, poiche e definito in maniera ricorsiva, ma ogni singola frase dellinguaggio ha un numero finito di nodi terminali, e di conseguenzadipende da un numero finito di frasi atomiche.

    2. LA, cioe la frase e contenuta nel linguaggio generato dallin-sieme di frasi atomiche che la compongono.

    J

    2.3 Semantica del linguaggio.

    2.3.1 Interpretazione del linguaggio.

    Definizione 2.2 (interpretazione del linguaggio) Dato un insieme di frasi atom-iche A e il linguaggio LA ad esso associato, si definisce interpretazione dellinguaggio il criterio utilizzato per attribuire un valore di verita` alle sue frasi.

    Formalmente si tratta di una funzione v : LA {0, 1} ove si attribuisce a0 il significato di falso e ad 1 il significato di vero. Tale funzione e costituitada:

    Una funzione arbitraria v : A {0, 1}, che attribuisce un valore di verita`alle frasi atomiche del linguaggio

    Un insieme di regole semantiche ricorsive che permettono di attribuire unvalore di verita` a tutte le frasi del linguaggio LA. In seguito assumeremovalide le seguenti regole semantiche:

    1. v() = 0. Lassurdo e falso.

  • 10 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    2. v(a) = 1 v(a). Noto anche come principio di non contraddizione.

    3. v( ) = v() v() = min{v(), v()}

    4. v( ) = max{v(), v()}

    5. v( ) = max{1 v(), v()}

    Osservazioni.

    La disgiunzione e definita in maniera non esclusiva, corrispondentementeal latino vel, anziche dellesclusivo aut.

    Si osservi la definizione di implicazione: laffermazione che vera implica falsa e inaccettabile, e genera valore falso. Laffermazione falsa implica vera e poco intuitiva, ma viene inclusa nella definizione: essa garantiscestabilita` nellaggiunta di nuove ipotesi, cioe linclusione di una frase falsain un insieme di frasi che implica una frase vera, non pregiudica la verita`dellenunciato a secondo membro. Si consideri ad esempio laffermazione:

    oggi piove.

    Se la frase e vera si consideri limplicazione:

    se ieri era gioved` oggi piove

    la condizione che ieri fosse o meno gioved` non pregiudica il valore di verita`della conseguenza.

    J

    Linterpretazione di una frase qualunque del linguaggio dipende in manieradiretta dallinterpretazione delle frasi atomiche. A questo proposito si enuncianoi seguenti teoremi:

    Teorema 2.3.1 Sia dato un linguaggio LA e due interpretazioni v, v per esso,che soddisfano le regole semantiche sopra esposte. Se:

    v(a) = v(a), a A

    allora v = v, cioe le due interpretazioni sono uguali.

    Uninterpretazione di un linguaggio e dunque individuata in maniera non am-bigua quando e nota una interpretazione delle frasi atomiche in esso.

    O Dimostrazione.Sia dato un insieme F di frasi del linguaggio LA, e due interpretazioni v, v, perle quali vale che: v(a) = v(a), a A. Linsieme F sia cos` definito: F = { LA : v() = v()} cioe linsieme delle frasi del linguaggio che hanno lo stessovalore per entrambe le interpretazioni. E sufficiente dimostrare che: F = LA, etale dimostrazione si effettua mediante ricorsione. Si puo` innanzitutto affermateche linsieme F non e vuoto: infatti esso contiene lassurdo, poiche esso e falsoper ogni interpretazione, e per ipotesi esso contiene anche le frasi atomichedellalfabeto del linguaggio, cioe A F . Ora:

  • 2.3. SEMANTICA DEL LINGUAGGIO. 11

    se F , segue: v() = 1 v() = 1 v() = v()

    se , F , segue che: v() = max{v(), v()} = max{v(), v()} =v( ).

    I restanti casi sono lasciati per esercizio. M

    Teorema 2.3.2 Sia data una funzione a valori arbitrari v : A {0, 1}. Alloraesiste certamente una intepretazione v dellintero linguaggio per la quale:

    v(a) = v(a) a A

    Ce dunque almeno una interpretazione che interpreta il linguaggio come lafunzione arbitraria assegnata. Per il teorema 2.3.1, linterpretazione dellinterolinguaggio coincide. Tale interpretazione del resto e unica, come conseguenzadel teorema 2.3.2

    Osservazioni. Per quel che riguarda il secondo teorema, si consideri unqualunque generico insieme finito di frasi atomiche: A = {a1, a2, . . . aN}, conN 1. Le possibili interpretazioni v delle frasi atomiche di questo insiemesono 2N ; ognuna di queste interpretazioni genera una differente interpretazionedellintero linguaggio.

    Nel caso di insieme infinito di frasi atomiche, anche linsieme delle possibiliinterpretazioni e infinito. J

    Definizione 2.3 (tautologia) Si definisce tautologia una frase vera in ogniinterpretazione:

    : v() = 1 interpretazione di v

    Definizione 2.4 (contraddizione) Si definisce contraddizione una frase falsain ogni interpretazione:

    : v() = 0 interpretazione di v

    Osservazioni.

    la frase (a a) una tautologia

    la frase (a a) una contraddizione

    J

    2.3.2 Soddisfacibilita` e consequenzialita` semantica.

    Definizione 2.5 (soddisfacibilita`/insoddisfacibilita`) Sia dato LA, insiemedi frasi non vuoto. Linsieme si dice soddisfacibile se esiste almeno unainterpretazione v del linguaggio tale che

    v() = 1

    In caso contrario linsieme e detto insoddisfacibile e non esiste nessuna in-terpretazione che renda vero linsieme

  • 12 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    Osservazioni. Un tipico esempio di insieme insoddisfacibile e lintero linguag-gio che, contenendo la negazione, contiene necessariamente almeno una frase lacui interpretazione e falsa. J

    Osservazioni. Siano , due insiemi di frasi dello stesso linguaggio. Valgo-no allora le seguenti affermazioni, facilmente dimostrabili:

    Se e insoddisfacibile, e , allora anche e insoddisfacibile.

    Se e soddisfacibile, e , allora anche e soddisfacibile.

    J

    Osservazioni. Siano dati i due insiemi:

    = {(a a)}, = {(a a), ((a a) b)}

    Il primo insieme e certamente soddisfacibile, poiche esso contiene una sola frase,e questa e una tautologia. Esiste poi almeno una interpretazione (tutte quelleper le quali v(b) = 1 che rende soddisfacibile anche il secondo insieme. Il primoinsieme e contenuto nel secondo: se ne poteva dimostrare la soddisfacibilita`anche in base a questa osservazione. J

    Definizione 2.6 (conseguenza semantica) Dato un insieme C di frasi di unqualche linguaggio, ed una frase , non necessariamente in C, si dice che econseguenza semantica di C, e lo si indica con la simbologia

    C |=

    quando per ogni interpretazione v che rende vere le frasi di C si verifica chev() = 1, cioe anche , con la stessa interpretazione, e vera.

    Si puo` ottenere una definizione equivalente di conseguenza semantica, osser-vando che linsieme {C()} e sempre insoddisfacibile, quando e conseguenzasemantica di C. Dunque anche la nozione appena presentata coinvolge quellapiu` ampia di soddisfacibilita` di un insieme di frasi; in seguito osserveremo chela soddisfabilita` costituisce una nozione chiave. Si e visto in precedenza che lepossibili interpretazioni di un linguaggio con un insieme finito di N frasi atom-iche sono in numero di 2N , cioe crescono con stima esponenziale. Allo stessotempo, si puo` osservare che linsoddisfacibilita` di un insieme equivale alla ricercaallinterno di esso di almeno una frase falsa per ogni interpretazione: lordine digrandezza di un possibile algoritmo di decidibilita`, nel caso peggiore (cioe quan-do esiste una sola interpretazione che soddisfa linsieme, e tale interpretazione elultima testata dallalgoritmo) resta di ordine esponenziale. Se effettivamentequesto algoritmo sia di ordine esponenziale o di un ordine minore (presumibil-mente polinomiale) non e ancora stato dimostrato; tuttavia vedremo in seguitole differenti strade intraprese per risolvere il problema della decidibilita`.

    Osservazioni. [TODO] J

  • 2.3. SEMANTICA DEL LINGUAGGIO. 13

    2.3.3 Equivalenza semantica e completezza funzionale.

    Definizione 2.7 (equivalenza semantica) Due frasi , si dicono semantica-mente equivalenti, e lo si indica con la scrittura , quando si verificache:

    v() = v() v

    cioe se le due frasi hanno lo stesso valore di verita` per ogni interpretazione dellinguaggio.

    Enunciamo di seguito alcune equivalenze semantiche notevoli: si osservi chele frasi sono spesso sintatticamente molto differenti tra loro:

    1. ()

    2. (Proprieta` commutative):

    3. (Leggi di Boole):( ) () ()

    ( ) () ()

    4. (Proprieta` associative):

    ( ) ( )

    ( ) ( )

    5. (Proprieta` distributive):

    ( ) ( ) ( )

    ( ) ( ) ( )

    6. ()

    O Dimostrazione.Dimostriamone alcune (le altre per esercizio):

    v(()) = 1 v() = 1 (1 v()) = v()

    (Prima legge di Boole):

    v(() ) = 1 v( ) = 1min{v(), v()}

    che equivale a :

    v( ) = max{v(), v()} = max{1 v(), 1 v()}

    infatti:

  • 14 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    v() v() 1min{v(), v()} max{1 v(), 1 v()}0 0 1 10 1 1 11 0 1 11 1 0 0

    M

    Nella nostra definizione di sintassi, abbiamo ammesso lesistenza di quattroconnettivi logici: essi costituiscono il miglior compromesso tra chiarezza esposi-tiva e necessita` sintattiche. Esistono linguaggi che utilizzano un numero minoredi connettivi logici ed e possibile dimostrare lequivalenza tra insiemi differentidi connettivi.

    Definizione 2.8 (completezza funzionale) Un insieme di connettivi si dice fun-zionalmente completo quando mediante essi e possibile rappresentare ogni ele-mento dellinsieme iniziale di connettivi.

    Osservazioni. E possibile definire un linguaggio che faccia uso dei soli con-nettivi (,), per il quale varranno le seguenti equivalenze semantiche:

    ( )

    () = (() ()) = ( ())

    J

    Altri esempi sono costituiti dalle coppie di connettivi:

    {,} {,}

    Si osservi che la negazione e sempre presente in tutte le coppie, ed e possibiledimostrare che non e possibile creare una sintassi equivalente a quella finoraproposta senza utilizzare questo connettivo.

    2.3.4 Dal linguaggio naturale al linguaggio proposizionale.

    Un frammento di lingua italiana puo` essere un buon esempio di come sia possi-bile formalizzare un linguaggio naturale: formalizzare non e lo stesso di creare unlinguaggio proposizionale, come sara` piu` chiaro tra breve. Costruiamo dunqueun semplice linguaggio formale che rispecchii alcune strutture della lingua ital-iana (grammatica non contestuale, o context-free ). Esso sara` costituito daun insieme di regole sintattiche:

    1. Regole ricorsive: da enunciati E, E si puo` ottenere:

    neg E, neg E

    E cong E, E disg E

    Se E allora E

    2. Regole non ricorsive: gli enunciati sono nella forma NSv, dove N e unnome e Sv e un sintagma verbale che puo` essere del tipo:

  • 2.3. SEMANTICA DEL LINGUAGGIO. 15

    Vi, Verbo intransitivo

    VtN , Verbo transitivo, Nome

    e da un vocabolario, dal quale e possibile estrarre gli elementi da combinaremediante le regole appena esposte; ad esempio:

    N :{Antonio, Lucia, il gatto Tom, il topo Jerry}

    Vi={corre, dorme, gioisce, brontola}

    Vt={ama, odia, saluta, mangia}

    Ci si puo` chiedere, a questo punto, se un certo enunciato appartiene al lin-guaggio appena introdotto; affermiamo che lenunciato appartiene al linguaggiose e possibile derivarlo a partire dal vocabolario e dalle regole sintattiche date.

    Ad esempio, lenunciato Antonio ama Lucia o il gatto Tom dorme si puo`ottenere come segue:E=E disg E (regola ricorsiva)E=Antonio ama Lucia = N I V It N

    II (regola non ricorsiva)E=il gatto Tom dorme = N III V Ii (regola non ricorsiva)

    da cui gli insiemi:

    {N I , N II , N III} N

    {V It } Vt

    {V Ii } Vi

    Questultimo esempio e privo di ambiguita`, ma si veda ora lesempio seguente:Antonio ama Lucia o non si da` il caso che il gatto Tom dorme e il topo Jerrycorre.

    Questo enunciato puo` essere derivato in due modi differenti:

    I modo:E = EI disg EIIEI = Antonio ama LuciaEI = EIII cong EIV

    EIII = neg EV

    EV = il gatto Tom dormeEIV = il topo Jerry corre

    II modo:E = EI cong EII

    EI = EIII disg EIV

    EIII = Antonio ama LuciaEIV = neg EV

    EV = il gatto Tom dormeEII = il topo Jerry corre

  • 16 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    La mancanza di parentesi in un linguaggio naturale genera ambiguita` chepongono alcuni problemi nella traduzione in un linguaggio proposizionale. Ten-tiamo di farlo con il linguaggio appena introdotto: la relazione tra i connet-tivi proposizionali e le congiunzioni naturali e immediata; le frasi atomiche dellinguaggio saranno tutti gli enunciati del linguaggio naturale nella forma NSv.

    La frase Antonio ama Lucia o non si da` il caso che il gatto Tom dorme e iltopo Jerry corre, quando si sia ammessa la corrispondenza:

    a Antonio ama Luciab il gatto Tom dormec il topo Jerry corre

    genera le seguenti traduzioni in linguaggio proposizionale:

    a (b c)a ((b) c)(a (b)) c

    La corrispondenza tra frasi del linguaggio naturale e frasi del linguaggioproposizionale non e percio` di 1 a 1 bens, nel caso piu` generale, di uno amolti. Possiamo affermare che una frase del linguaggio naturale ed una dellinguaggio proposizionale sono in relazione tra di esse se uno dei possibili alberidi derivazione di E e traducibile in una frase del linguaggio proposizionale.

    Osservazioni. Verificare che:

    {a b,c b} |= a c

    Questo significa dimostrare che linsieme {, , } con:

    = a b = c b = (a c)

    e insoddisfacibile.E sufficiente verificare che per ogni interpretazione possibile, almeno una

    delle tre frasi contenute in questo insieme e falsa:

    a b c

    0 0 0 1 1 00 0 1 1 1 00 1 0 1 0 00 1 1 1 1 01 0 0 0 1 11 0 1 0 1 01 1 0 1 0 11 1 1 1 1 0

    J

    Esercizio.

    Verificare che:{a b, a, (b c) d} |= d

  • 2.3. SEMANTICA DEL LINGUAGGIO. 17

    2.3.5 Forme normali.

    Le equivalenze semantiche introdotte in precedenza dimostrano che e semprepossibile trasformare enunciati del linguaggio in altri sintatticamente differen-ti, ma semanticamente equivalenti. Esistono particolari trasformazioni che sipossono applicare alle frasi di un linguaggio, il cui scopo e quello di ottenereun enunciato semanticamente equivalente al primo, che rispetti una forma pre-cisa; tale forma puo essere successivamente elaborata in maniera automatica,mediante regole semplici e spesso meccaniche.

    Definizione 2.9 (letterale) Si definisce letterale una frase atomica o la suanegazione. Ad esempio, tutti i seguenti termini sono letterali: , a, b, ..., ,a,b.

    Definizione 2.10 (forma normale congiuntiva) Una frase di un linguaggioproposizionale si dice in forma normale congiuntiva quando e scritta comecongiunzione di un numero finito di frasi qi, ciascuna delle quali e disgiunzionedi letterali.

    Ad esempio, la frase seguente e in forma normale congiuntiva:

    = (a b) q1

    (c d e) q2

    (a b) q3

    Definizione 2.11 (forma normale disgiuntiva) Analogamente, una frase diun linguaggio proposizionale si dice in forma normale disgiuntiva quando escritta come disgiunzione di un numero finito di frasi qj , ciascuna delle quali econgiunzione di letterali.

    Ad esempio, la frase seguente e in forma normale disgiuntiva:

    = (a b) q1

    (c d) q2

    (e a b) q3

    Teorema 2.3.3 Data una qualunque frase LA:

    1. Esiste almeno una frase in forma normale congiuntiva tale che

    2. Esiste almeno una frase in forma normale disgiuntiva tale che

    Osservazioni. Data la frase = (a (b c)), la si riscrive in for-ma normale congiuntiva e disgiuntiva.Ricordando alcune equivalenze seman-tiche introdotte in precedente, si possono effettuare successivamente i seguentipassaggi:

    (a (b c)) (a (b c))

    a b c

    La frase cos ottenuta e gia` in entrambe le forme:

  • 18 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    a b c, congiunzione di tre frasi atomiche

    (a b c), disgiunzione di ununica congiunzione di letterali

    J

    Osservazioni. (a b) c (a b) c a b c (f.n.c, f.n.d.)(a b) c (a b) c (a c) (b c)(f.n.c.) J

    Una procedura automatica di normalizzazione.

    Esiste una procedura automatica per convertire una frase nella propria formanormale congiuntiva/disgiuntiva: a partire dalla tabella della verita` della frasestessa:

    per ottenere una forma normale disgiuntiva equivalente, si selezionanotutte le interpretazioni vere della frase, e per ciascuna di esse si crea uncongiunto delle frasi atomiche, in forma vera se hanno interpretazionevera, in forma negata se hanno interpretazione falsa; le frasi cos formatesaranno poi congiunte.

    per ottenere una forma normale congiuntiva equivalente, si selezionanotutte le interpretazioni false della frase, e per ciascuna di esse si creaun disgiunto delle frasi atomiche, in forma vera se hanno interpretazionefalsa, in forma negata se hanno interpretazione vera; le frasi cos formatesaranno poi disgiunte.

    Si prenda ad esempio la seguente tabella di verita`:

    a b c

    0 0 0 10 0 1 00 1 0 00 1 1 01 0 0 11 0 1 11 1 0 01 1 1 0

    Per la forma normale forma normale disgiuntiva, si considerino i valori percui = 1: seguendo lo schema indicato si ottiene la seguente espressione:

    (a b c) (a b c) (a b c)

    Per la forma normale congiuntiva, si considerino i valori per cui = 0:seguendo lo schema indicato si ottiene la seguente espressione:

    (a b c) (a b c) (a b c) (a b c) (a b c)

  • 2.4. METODI SINTATTICI DI DECISIONE PER LA SODDISFACIBILITA`.19

    2.4 Metodi sintattici di decisione per la soddis-

    facibilita`.

    Il problema fondamentale finora incontrato e quello di decidere dellinsoddis-facibilita` di un insieme di frasi LA, che e strettamente legato allo svol-gimento della tabella di verita` dellinsieme . Esistono procedure che utiliz-zano metodologie sintattiche, che cioe si limitano a manipolare i simboli, e chepermettono di ottenere lo stesso risultato.

    2.4.1 Risoluzione per clausole.

    Un metodo che non utilizza tabelle di verita`, e ad esempio il metodo dirisoluzione per clausole.

    Enunciamo il procedimento:

    si trasforma ogni frase di nella relativa forma normale congiuntiva.

    per ogni frase: da ogni congiunto, si ottiene un insieme di letterali dettoclausola. Si indica col simbolo 2 la clausola vuota. Si ottiene percio` uninsieme formato da tutte le clausole di tutte le frasi di .

    si applica la seguente regola di risoluzione: date due clausole C , C si diceche la clausola C e derivabile per risoluzione da C , C se esiste unletterale l C e il suo negato l C 1 tale che: C = {C\{l}) (C\{l}}

    Osservazioni. Sia data la forma normale congiuntiva: (abc)(abc).E una singola frase, e genera le clausole:

    C = {a, b, c}, C = {a,b, c}

    Da queste e possibile dedurre: C = {b,b, c} oppure C = {a,a, c} J

    Osservazioni. Dalle clausole: C = {a, b}, C = {a, c} e possibile dedurre:C = {b, c} J

    Il risultato fondamentale a cui si perviene attraverso lutilizzo di questometodo e il seguente:

    Definizione 2.12 (risoluzione di un insieme di clausole) Sia un insieme diclausole ottenute dallinsieme LA. Si dice che la clausola C e deducibile

    dallinsieme per risoluzione e si indica R7 C se e solo se esiste un albero

    finito con radice C, con foglie in e dove ogni nodo terminale e dedotto perrisoluzione dai due successori.

    Vale il seguente teorema che enuncia un criterio di decidibilita` per uninsieme di frasi.

    Teorema 2.4.1 Sia LA, e il corrispondente insieme di clausole. Allora

    e insoddisfacibile se e solo se R7 2

    1l = a se l = a A; l = a se l = a, a A

  • 20 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    Osservazioni. Consideriamo un insieme di frasi proposto in precedenza:

    = {(a b) c, c (b d),d a,b,d}

    e verifichiamo per risoluzione che esso e insoddisfacibile.Si trasformano le singole frasi nella loro forma normale congiuntiva:

    = {(a b c), (c b d), d a,b,d}

    E si costruisce linsieme delle clausole:

    = {{a, b, c}, {c, b, d}, {d, a}, {b}, {d}}

    Bisogna individuare un albero di derivazione che abbia radice 2.Un possibile albero e il seguente:

    {a, d}, {d}R7 {a}

    {a, b, c}, {b}R7 {a, c}

    {a}, {a, c}R7 {c}

    {b,c, d}, {d}R7 {b,c}

    {b,c}, {b}R7 {c}

    {c}, {c}R7 {2}

    Le clausole contenute in sono seguite da un asterisco; si puo` verificare cheesse sono nodi terminali della struttura ad albero. J

    Una procedura automatica per la risoluzione per clausole?

    Il teorema enunciato in questo paragrafo afferma che lesistenza di un alberodi risoluzione con radice 2 implica linsoddisfacibilita` dellinsieme che ha perclausole i nodi terminali dellalbero stesso. Questo teorema non dice pero` comeindividuare tale albero, e neppure se tale albero esiste.

    Per implementare una procedura automatica e dunque necessario consider-are lesistenza di tutti i possibili alberi che si generano da un certo insieme diclausole, e verificare se tra essi esiste almeno un albero con la clausola vuota aradice.

    Definizione 2.13 insieme risoluzione di un insieme di clausole Sia un insiemefinito di clausole, e siano Ci, Cj due qualunque clausole in esso. Definiamo unnuovo insieme, denominato Risoluzione di , tale che

    Ris() = {} {i, j : Ci, CjR7 Ck}

    dove il secondo e linsieme delle clausole Ck che si ottengono da tutte le possibilicoppie in .

  • 2.4. METODI SINTATTICI DI DECISIONE PER LA SODDISFACIBILITA`.21

    Osservazioni. Poiche il numero di coppie non ripetitive in un insieme di n

    elementi e in numero n(n1)2 , vale che k n(n1)

    2 . Per cui tra linsieme e lasua risoluzione vale la relazione Ris{}. J

    La definizione si puo` estendere ricorsivamente, per cui si pone

    Risk() = Ris(Risk1())

    Si dimostra che esiste un p N tale che Risp() = Risp+i() i N, cioeesiste un limite superiore finito alla cardinalita` dellinsieme delle risoluzioni 2.In questo caso, e sufficiente verificare se 2 Risp().

    Benche questa procedura sia automatica e facilmente implementabile, si puo`dimostrare che p 22card(), cioe che lordine di complessita` dellalgoritmo eancora di natura esponenziale. Sia infatti = {a1, a2, ..., ap} con p 1 un in-sieme di frasi atomiche distinte del linguaggio, se segue ogni clausola appartieneallinsieme di letterali ottenuto a partire da ; la cardinalita` di tale insiemesara` di 2p. Linsieme delle parti di ha di conseguenza cardinalita` 22p. Poichele clausole non si ripetono, e poiche ogni clausola e un elemento dellinsiemedelle parti, la risoluzione n-esima puo` comunque contenere al massimo lo stessonumero di elementi di questo insieme.

    Lalgoritmo esposto in questa forma, pero`, si rivela poco efficiente. Sonostati individuati alcuni espedienti che permettono di migliorarne lefficienzaeliminando inutili confronti:

    Eliminazione delle tautologie: tutte le clausole contenenti un let-terale e il suo negato (del tipo {a, ...,a, ...} ) sono tautologie, poicheogni clausola e una disgiunzione di letterali.

    Eliminazione di clausole che contengono altre clausole: se in cisono due clausole C, C tali che C C, e possibile eliminare la clausolaC: ogni clausola e infatti una disgiunzione di letterali, ed ogni insiemedi frasi e una congiunzione di clausole; se pertanto e vera la clausolacon meno letterali, sara di conseguenza altrettanto vera la clausola che lacontiene.

    Chiameremo in seguito c linsieme delle clausole di ripulito secondo leregole esposte sopra.

    Osservazioni. Sia dato linsieme = {{a,b, c}{a, b, c}}; verificare se essoe soddisfacibile. Si puo` immediamente calcolare la risoluzione di :

    Ris() = {{a,a, c}{b,b, c}}

    Le due clausole ricavate per risoluzione sono entrambe tautologie, per cui valeimmediatamente che: = Ris(), e percio` tale insieme non e soddisfacibile. J

    Osservazioni. Verificare se:

    {a b c, b c d} |= a d

    2nelle ipotesi considerate, di insieme finito di clausole

  • 22 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    Questo equivale ad indagare la soddisfacibilita` dellinsieme:

    {a b c, b c d,(a d)

    Mediante trasformazioni successive, possiamo scrivere:

    {a (b c),(b c) d,(a d)}{a b c, (b c) d, a d}

    {a b c, (b d) (c d) d, a d}

    da cui linsieme di clausole:

    = {{a, b, c}, {b,d}, {c,d}, {a}, {d}}

    e le successive risoluzioni:

    Ris() = {{b, c}, {c}, {b}}

    e senza procedere in ulteriori risoluzioni, e immediato ricavare dai nuovielementi in due passaggi la clausola vuota:

    {b, c}, {c}R7 {b}

    {b}, {b}R7 2

    J

    2.4.2 Deduzione naturale.

    Esiste un altro metodo sintattico, che va sotto il nome di deduzione naturalee permette di decidere della soddisfacibilita` di un insieme di frasi. A differenzadel metodo precedente esso agisce direttamente sulle frasi senza la necessita`di trasformarle in una forma normale, ma ha lo svantaggio di utilizzare uninsieme di regole di manipolazione piu` esteso rispetto allaltro. Tali regole sonousualmente divise in due classi:

    regole elementari

    regole condizionali

    Regole elementari.

    Sono regole di eliminazione/introduzione dei connettivi; le elenchiamo per ogniconnettivo:

    Connettivo di congiunzione:

    1. eliminazione della congiunzione: data una congiunzione di due frasi,ne posso dedurre ciascuna delle frasi che la compongono.

    (, e) : DN7

    {

  • 2.4. METODI SINTATTICI DI DECISIONE PER LA SODDISFACIBILITA`.23

    2. inserimento della congiunzione: date due frasi , , ne posso dedurreciascuna delle loro congiunzioni.

    (, i) : {, }DN7

    {

    Connettivo di disgiunzione:

    1. eliminazione della disgiunzione: data una disgiunzione, e la negazionedi uno dei disgiunti, ne posso dedurre laltro.

    (, e) :{ ,}

    DN7

    { ,}DN7

    2. inserimento della disgiunzione: data una frase , e sempre possibilecongiungerla ad una qualunque frase :

    (, i) : {}DN7

    {

    Connettivo di implicazione:

    1. eliminazione dellimplicazione: data una implicazione , e lim-plicando , e sempre possibile dedurne limplicato; tale regola vasotto il nome di modus ponens:

    (, i.1) : { }, {}DN7

    Ancora, data una implicazione, e la negazione dellimplicato, e sem-pre possibile dedurne la negazione dellimplicando; tale regola vasotto il nome di modus tollens:

    (, i.2) : { }, {}DN7

    2. inserimento dellimplicazione: e una regola condizionale, e verra`esposta nel paragrafo successivo.

    Connettivo di negazione:

    1. eliminazione della negazione: data una frase in forma vera e la stessain forma negata, e possibile dedurne lassurdo:

    (, e) : {}, {}DN7

    2. inserimento della negazione: dato lassurdo, se ne puo` dedurre qualunquefrase (e la propria negazione):

    (, i) : {}DN7

  • 24 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    Regole condizionali.

    Sono solamente due, e sono le seguenti:

    1. Regola di introduzione dellimplicazione. Dato un insieme di frasi dellinguaggio:

    DN7 ( ) {}

    DN7

    2. Regola di riduzione ad assurdo: da un insieme di frasi posso derivare unacerta frase se aggiungendo la negazione di questa ne viene lassurdo,cioe:

    DN7 {}

    DN7

    Osservazioni. Le regole formali introdotte sono per la maggior parte di natu-ra estremamente intuitiva. Ad esempio, per quel che riguarda leliminazionedella congiunzione, e piuttosto naturale, data una congiunzione di frasi vere,dichiarare vero ciascuno dei congiunti. Se e vero che

    Il 30 ottobre 1977 d.C. era domenica e gli uomini sono organismi pluricellulari

    ciascuno di noi intuitivamente se la sente di affermare singolarmente che:

    Il 30 ottobre 1977 d.C. era domenica

    oppure che:

    Gli uomini sono organismi pluricellulari

    Allo stesso modo, data una frase vera, la si puo unire ad una qualunquealtra frase, vera o falsa che sia, attraverso una disgiunzione. Se e infatti veroche:

    Il 30 ottobre 1977 d.C. era domenica

    e intuitivamente vero che:

    Il 30 ottobre 1977 d.C. era domenica o gli asini volano

    anche se la seconda frase e palesemente falsa (almeno da quanto ne so. . . ).Ma si consideri il seguente esempio:

    Oggi e domenica e questa frase contiene nove parole

    E` forse possibile ricavarne la seguente frase?

    Questa frase contiene nove parole

    J

    Definizione 2.14 (deducibilita` di una frase da un insieme) Sia ora A,

    LA; laffermazione e deducibile da , indicata dallespressione: DN7 , sig-

    nifica che esiste un albero che ha come radice , i cui nodi terminali sono in e per il quale ogni nodo non terminale e dedotto dai suoi successori mediantelapplicazione di una regola elementare.

  • 2.5. SODDISFACIBILITA` DI INSIEME NON FINITI. 25

    Enunciamo ora un importante teorema:

    Teorema 2.4.2 e conseguenza semantica di se e solo se ne e conseguenzasintattica per deduzione naturale:

    |= DN7

    Mediante lapplicazione della regola di riduzione ad assurdo al secondo mem-

    bro del teorema, e possibile ricavare che: {a}DN7 e questa condizione

    verra` utilizzata nella pratica per decidere della soddisfacibilita` dellinsieme.

    Osservazioni. Verificare per deduzione naturale che:

    = {a b c, c b d,d a,b} |= d

    Cio` equivale a dimostrare che:

    {a b c, c b d,d a,b} {d}DN7

    Evidenziamo i passaggi:

    frasi utilizzate3 frase dedotta regola utilizzata{d}, {d a} a (, e){a}, {b} a b (, i){a b}, {a b c} c (, e){c}, {c (b d)} b d (, e){b d}, {b} d (, e){d}, {d} (, e)

    J

    Osservazioni. Dimostrare che

    {a (b c), (b c) d} |= a d

    Cio` equivale a dimostrare, per la prima regola condizionale, che:

    {a (b c), (b c) d, a}DN7 d

    Evidenziamo i passaggi:

    frasi utilizzate4 frase dedotta regola utilizzata{a (b c), a} b c (, e){b c, (b c) d)} d (, e)

    J

    2.5 Soddisfacibilita` di insieme non finiti.

    2.5.1 Compattezza semantica

    Sia dato un linguaggio proposizionale LA, ed un sottoinsieme di frasi in esso;se e infinito, per esso vale il seguente:

  • 26 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI

    Teorema 2.5.1 e soddisfacibile se e soltanto se ogni sottoinsieme finito di lo e.

    O Dimostrazione.Ipotizziamo lesistenza di un insieme , tale che sia finito e soddisfacibile;di seguito vedremo una buona scelta dellinsieme che ci permettera` di concluderela dimostrazione.

    Per dimostrare dunque che e soddisfacibile, si supponga per assurdo che

    esso non lo sia o, il che e equivalente, che DN7, cioe esiste un albero di

    derivazione finito che ha come radice lassurdo e i nodi terminali in . Sia linsieme delle foglie di questo albero; ma allora e un sottoinsieme di insoddisfacibile. M

  • Capitolo 3

    Linguaggi del I ordine

    Si osservino le seguenti frasi:

    1. Antonio ama Lucia

    2. Tutti i ragazzi amano Lucia

    3. Antonio e un ragazzo

    Dalle (2,3) sembra del tutto ragionevole dedurre la (1), tuttavia nel contestodei linguaggi proposizionali, ne (2), ne (3) sono frasi atomiche; al contrario, (1)e una frase atomica. Non solo, ma (2),(3) non appartengono neppure a nessunlinguaggio proposizionale, poiche contengono elementi che non sono stati definiti(sono evidenziati in corsivo).

    Si suppongano tuttavia (2), (3) come frasi atomiche, e si generi il linguaggioL{2,3}: non e possibile in alcun modo derivare la (1) con alcuno dei metodiproposti.

    Si consideri ancora il seguente esempio:

    Antonio dice che Marco lo ha danneggiato

    Il significato che si puo` attribuire al pronome lo e ambiguo: certamente essonon si riferisce a Marco, ma non e altres detto che esso si riferisca ad Antonio,piuttosto che ad una terza persona introdotta in precedenza nel discorso.

    Queste osservazioni dimostrano che i linguaggi proposizionali non possono inalcun modo trattare unampia classe di preposizioni del linguaggio comune, ed epercio` necessario introdurre nuovi elementi che permettano di manipolare le piucomplesse strutture che qui abbiamo esemplificato. A tale scopo si introduconoi linguaggi del primo ordine (o predicativi).

    3.1 Alfabeto dei linguaggi predicativi.

    Esso e costituito da:

    1. Un insieme (eventualmente vuoto o infinito) di costanti : C, che verrannoindicate con le prime lettere dellalfabeto minuscolo: {a, b, c, ...}

    2. Un insieme infinito di variabili : V , che verranno indicate con le ultimelettere dellalfabeto minuscolo: {x, y, z, ...}

    27

  • 28 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    3. Un insieme (non vuoto, eventualmente infinito, ma generalmente finito)di predicati : P , che verranno indicati con le prime lettere dellalfabetomaiuscolo: {A, B, C,...}. Ogni predicato e caratterizzato da una propriaarieta`, che consiste nel numero di elementi su cui agisce. Tra i predicatidi P ce ne sempre almeno uno binario, detto predicato di uguaglianza.

    4. Un insieme (eventualmente vuoto, generalmente finito), di simboli fun-zionali : F , che verranno indicati con le lettere intermedie dellalfabetominuscolo {f, g, h, ...}. Ogni simbolo funzionale e caratterizzato da unapropria arieta`.

    5. Un insieme di connettivi: , , ,

    6. Il simbolo di assurdo:

    7. I simboli ausiliari: (, ).

    8. Due nuovi simboli, detti quantificatori :

    , detto quantificatore universale, che significa letteralmente per tut-ti...

    , detto quantificatore esistenziale, che significa letteralmente esiste...

    I primi quattro elementi dellalfabeto sono anche detti lessico, e caratter-izzano in maniera univoca un certo linguaggio predicativo. Da esso si ricavalinsieme Ter dei termini del linguaggio, cos definito:

    Definizione 3.1 insieme dei termini Ter e il piu piccolo insieme tale che:

    1. Linsieme delle costanti e in Ter: C Ter

    2. Linsieme delle variabili e in Ter: V Ter

    3. Se f F e un simbolo funzionale di arieta` k, (ove k 1), e un certoinsieme di termini {t1, t2, ..., tk} Ter, allora f(t1, t2, ..., tk) Ter

    Osservazioni. Si osservi che linsieme dei termini ha cardinalita` infinita,poiche le variabili sono sempre in quantita` infinita. Tuttavia, se linsieme deisimboli funzionali non e vuoto, linsieme Ter contiene infiniti termini che nonsono variabili. J

    Osservazioni. Sia dato un linguaggio del primo ordine il cui alfabeto e: A =(C = {a, b},F = {f()},V = ,P = ). Allora:

    Ter(A) = {a, b, f(a), f(b), f(f(a)), ...}

    J

    Definizione 3.2 frasi atomiche Le frasi atomiche del linguaggio sono il piupiccolo insieme Atom tale che:

    1. Atom

  • 3.1. ALFABETO DEI LINGUAGGI PREDICATIVI. 29

    2. Se A P e un predicato di arieta` k, e (t1, t2, ..., tk) Ter e un qualcheinsieme di termini, allora A(t1, t2, ..., tk) e una frase atomica del linguaggio

    Definizione 3.3 linguaggio predicativo Un linguaggio proposizionale L(C,V,P,F)e il minimo insieme tale che:

    Le frasi atomiche sono in esso: Atom L

    Se L, allora L

    Se {, } L, allora { , , } L

    Se L, x V, allora {(x), (x)} L

    Osservazioni. Siano dati ad esempio due predicati, un insieme di costanti, uninsieme di funzionali:

    P = {A(), B(, )}, ove A e un predicato ad 1 posto (ad esempio correre)e B un predicato a 2 posti (ad esempio amare)

    C = {a, b}

    F = {f}; ad esempio il funzionale il padre di

    Allora una frase atomica e ad esempio la seguente:

    x(A(a) B(x, f(a)))

    che si puo` tradurre in linguaggio naturale come:

    Per ogni x non e vero che a corre o x odia il padre di a

    J

    3.1.1 Variabili libere.

    Si dice che una variabile x occorre in una frase se x figura in almeno una dellefrasi atomiche che si trovano nei nodi terminali dellalbero sintagmatico dellafrase stessa.

    Osservazioni. Nella frase (x)A(a, y) lunica variabile e y. J

    Definizione 3.4 variabili libere Sia ora x una variabile che occorre in : si dira`che tale variabile e` vincolata se essa e C-comandata da uno dei due quantificatori(x), (x). In caso contrario essa sara` detta libera.

    Osservazioni. Nellesempio precedente nessuna variabile e vincolata. J

    Osservazioni. Nella frase (x)(A(x, y) B(x, y)) sono presenti due vari-abili: x, y. Entrambe le occorrenze di x sono vincolate, mentre entrambe quelle

  • 30 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    di y sono libere. J

    Osservazioni. Nella frase (x)A(x, y) (y)B(x, y) sono presenti due vari-abili: x, y. La prima occorrenza della variabile x e vincolata, mentre la secondae libera; la prima occorrenza di y e libera, mentre la seconda e vincolata. J

    Data una frase , indicheremo con FV() linsieme delle variabili in V taliche hanno almeno una occorrenza libera in . Tale insieme puo` anche esserevuoto: cio` ovviamente accade quando tutte le variabili sono vincolate; in questocaso la frase si dice chiusa.

    3.2 Semantica di un linguaggio del primo or-

    dine.

    Definizione 3.5 struttura Si definisce struttura (o universo del discorso) unacoppia M formata da un certo insieme M , non vuoto, detto dominio del dis-corso, e una certa legge g dagli insiemi C,F ,P a M :

    M = (M, g) g : C,F ,P Mk

    Osservazioni.

    sia c una costante. La funzione g : c g(c) e una funzione g : C CM M che associa ad una costante dellalfabeto iniziale, una costantenel dominio del discorso M .

    sia A P un predicato unario (ad esempio essere sciocchi); allora g :A AM M. Sia invece B P un predicato binario (ad esempioamare); allora g : B BM MM.

    In questo caso la funzione associa ad un predicato, un sottoinsieme di M k

    costituito dagli elementi di M che soddisfano la preposizione. Esistera`dunque un sottoinsieme diM composto da tutti quegli elementi che sod-disfano il predicato essere sciocchi; esso puo` essere al limite un insiemevuoto, o linsieme stesso.

    Sia invece f F un funzionale unario (ad esempio: e il padre di): allorag : f fM ove fM : M M. Sia invece f F un funzionale binario(ad esempio: e figlio di1 allora g : f fM ove fM :MMM.

    In questo caso la funzione g associa a un elemento di M k un valore in Mche corrisponde al risultato del funzionale.

    J

    1si sottointende, supposto il funzionale binario, che sia data la coppia di informazione(madre, padre) o la commutata

  • 3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 31

    Definizione 3.6 assegnazione Si definisce assegnazione (talora detto ambi-ente) una funzione dallinsieme delle variabili a M:

    : V M

    Osservazioni. Una assegnazione e una funzione un po speciale: essa svolgeun compito analogo a quello della funzione g di una qualche struttura, poichecollega linsieme delle variabili col dominio del discorso. Ma effettua questaoperazione su un insieme molto particolare - come si vedra` in seguito - quellodelle variabili. J

    Per ogni t Ter(L), indicheremo con [t]M, lelemento corrispondentenellinsieme M.

    Osservazioni.

    termine elemento in M

    t1 = a C [t1](M,) = g(a)t2 = x V [t2](M,) = (x)

    t = f(a, x), con f F [t](M,) = fM (g(a), (x)) = fM ([t1](M,), [t2](M,))

    J

    Definizione 3.7 interpretazione Date una struttura ed una assegnazione, si puo`definire una interpretazione che attribuisca un valore di verita` alle frasi dellinguaggio. Essa e una funzione del tipo:

    v(M,) : L {0, 1}

    Enunciamo inoltre il procedimento di sostituzione di una variabile quantifi-cata, necessario per attribuire un valore di verita` a frasi che contengono quan-tificatori. Sia dunque data una struttura (M, ) e un qualche elemento p M .Si definisce la funzione (p|x) : V M come segue:{

    (p|x)(y) = (y) x 6= y(p|x)(y) = p x = y

    3.2.1 Semantica del linguaggio.

    Definiamo semantica di un linguaggio del primo ordine linsieme delle seguentiregole formali:

    1. Il valore di verita` dellassurdo e zero: v(M,)() = 0

    2. Definisce il valore di verita` di un predicato:

    v(M,)(A(t1, ..., tn)) = 1 [t](M,) = ([t1](M,), ..., [tn](M,)) AM

    Cioe un predicato e vero se e soltanto se ln-pla dei termini che esso elaboraappartiene al sottoinsieme del dominio del discorso che soddisfano talepredicato.

  • 32 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    3. Regole per i connettivi2:

    v(M,)() = 1 v(M,)()

    v(M,)( ) = min{v(M,)(), v(M,)()}

    v(M,)( ) = max{v(M,)(), v(M,)()}

    v(M,)( ) = max{1 v(M,)(), v(M,)()}

    4. Regole per i quantificatori:

    v(M,)(x) = 1 v(M,(p|x) = 1 per ogni p M

    v(M,)(x) = 1 v(M,(p|x) = 1 per almeno un p M

    Osservazioni. Si osservi che il quantificatore universale puo` essere inter-pretato come una congiunzione iterata su tutti gli elementi delluniverso deldiscorso.

    Analogamente, il quantificatore esistenziale puo` essere visto come una dis-giunzione iterata su tutti gli elementi delluniverso del discorso. J

    Enunciamo in seguito alcune definizioni che trovano una corrispondenza conquelle enunciate nel contesto dei linguaggi proposizionali.

    Definizione 3.8 insieme soddisfacibile Un insieme di frasi LA e sod-disfacibile se e solo se esiste una struttura M e una assegnazione percui

    v(M,)() = 1

    In caso contrario linsieme si dice insoddisfacibile, cioe se per ogni strutturaed ogni interpretazione esso contiene almeno una frase falsa.

    Definizione 3.9 conseguenza semantica Una frase e conseguenza seman-tica di un insieme di frasi , e lo si indica con |= se e solo se esisteuna interpretazione che soddisfa linsieme , e per tale interpretazione la frase e vera. Analogamente al caso proposizionale, si puo` verificare che linsieme {} e insoddisfacibile.

    Definizione 3.10 tautologia, contraddizione Si definisce tautologia una frase tale che

    v(M,)() = 1 M,

    cioe una frase vera per qualunque interpretazione o, equivalentemente, vera inogni struttura.

    Si definisce contraddizione una frase tale che

    v(M,)() = 0 M,

    cioe una frase falsa per ogni interpretazione o, equivalentemente, falsa in ognistruttura.

    Osservazioni. La frase (x)A(x) (x)A(x) e una tautologia.La frase (x)A(x) (x)A(x) e una contraddizione. J

    2ricordiamo che i connettivi agiscono sulle frasi atomiche del linguaggio

  • 3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 33

    Una frase vera in un linguaggio del primo ordine: che significa?

    Vediamo ora di spiegare che significa calcolare il valore di verita` di una frase inun linguaggio del primo ordine attraverso alcuni semplici esempi: Sia data unastruttura M = (M, g).

    Sia data la frase: (x)A(x). In questo caso la funzione g : A AM Mindividua gli elementi delluniverso M tali da soddisfare la preposizioneA. Se ad esempio A : e un numero naturale, e definita su la funzioneindividua tutti gli elementi di M che soddisfano tale condizione.

    Ora: v(M,)(x)A(x) = 1 v(M,(x|p))A(x) per ogni p M .

    Ma p AM AM M

    Sia data la frase: (x)B(x).

    Ora: v(M,)(x)A(x) = 1 v(M,(x|p))A(x) per almeno un p M .

    Ma p AM AM 6=

    Sia data la frase: (x)(A(x) B(x)).

    v(M,)(x)(A(x) B(x)) = 1 v(M,(x|p))(A(x) B(x)) = 1 per ogni p M . Ricordando unequivalenza semantica introdotta gia` per i linguaggiproposizionali, vale che: v(M,(x|p))(A(x)B(x)) = 1 p MAM BM AM BM

    3.2.2 Equivalenze semantiche.

    Definizione 3.11 equivalenza semantica Due frasi , si dicono (semantica-mente) equivalenti e lo si indica con se:

    v(M,)() = v(M,)() (M, )

    Teorema 3.2.1 Sia data una frase del linguaggio. Si fissino in seguito unastruttura M, e due assegnazioni , : V M. Se le due assegnazioni coinci-dono sullinsieme delle variabili libere Fv(), allora:

    v(M,) = v(M,)

    O Dimostrazione.Sia A(t1, ..., tk) un predicato dellalfabeto di linguaggio. Si considerino i duecasi:

    1. A non contiene variabili libere: allora, o le A non contiene variabiliquantificate, e le due interpretazioni banalmente coincidono poiche` sonodefinite sullo stesso dominio, oppure A contiene variabili quantificate, percui esiste certamente una sostituzione (x|p) ed una sostituzione (x|p)opportunamente scelte per cui valga (p = p); questo e possibile per lacongruenza del dominio.

    2. A contiene variabili libere: in questo caso, si considerino i terminisu cui agisce il predicato: se il termine tk non contiene variabili, valebanalmente che [tk](M,) = [tk](M,); se il termine tk contiene variabiliquantificate, per il punto sopra vale ancora luguaglianza; se poi il ter-mine tk contiene variabili libere, per lipotesi del teorema vale ancoraluguaglianza.

  • 34 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    La composizione di frasi atomiche mediante connettivi ha una dimostrazioneinduttiva, lasciata per esercizio. M

    Osservazioni.

    Questo teorema evidenzia limportante delle variabili libere rispetto aquelle condizionate.

    Se linsieme delle variabili libere e vuoto, linterpretazione del linguaggioe indipendente dallassegnazione

    J

    Osservazioni. Sia data la frase : (x)A(x) (y)B(y). Questa frasecontiene due variabili x, y, entrambe vincolate. In questo caso Fv() = 0, equalunque interpretazione non dipende dallassegnazione. J

    Si considerino ora le due frasi:

    = (x)(y)A(x, y) e = (y)(x)A(x, y)

    Esse contengono le stesse variabili, quantificate allo stesso modo. Eppure, illoro significato e profondamente diverso: se si attribuisce il significato amarealla preposizione A(, ), esse si possono tradurre come:

    : per ogni x ce almeno un y che e amato da lui. Cioe ogni x amaqualcuno, non necessariamente lo stesso y per x differenti.

    : esiste un y che e amato da ciascun x. Cioe per ogni x, lo stesso y eamato da questo; cioe ce un y amato da tutti.

    Si osservi come il significato di sia piu restittivo di quello di : nel secondocaso, infatti, ogni x si trova ad amare la stessa persona. Cioe ce una relazionedi consequenzialita` semantica tra le due frasi, ma in un solo verso: |= ma 6|=

    Dal punto di vista semantico, la frase significa che per ogni pi M esistealmeno un qi M tale che la coppia (pi, qi) AM; mentre la frase significache esiste un q costante tale che la coppia (pi, q) AM. Se si visualizzasse talesituazione su di un piano, il dominio della frase sarebbe un sottonsieme delpiano (x, y), mentre il dominio della frase sarebbe una retta allinterno dellostesso piano.

    Ora, valgono per i linguaggi predicativi tutte le equivalente introdotte nelladiscussione dei linguaggi proposizionali. Ma a queste vanno aggiunte le eventualiequivalenze che si generano con lintroduzione dei quantificatori: essi infatti nonpossono essere scambiati tra loro indiscriminatamente, quando sono di naturadifferente.

    1. LA, x 6 FV() : = (x) = (x). Se cioe una variabilee vincolata, o non e presente, la sua quantificazione non produce alcuncambiamento nel valore di verita` della frase.

  • 3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 35

    2. Interazioni quantificatori - negazione

    (x)() x()

    (x)() x()

    3. Interazione quantificatori - congiunzione/disgiunzione

    (x)( ) (x)() (x)()

    (x)( ) (x)() (x)()

    Per le successive uguaglianze bisogna considerare le condizioni in cuivanno applicate:

    (x)( ) (x)() (x)()(x)( ) (x)() (x)()

    }(, ) LA, xi 6 FV()

    4. Interazione quantificatori - implicazione

    (x)() (x)( )(x)() (x)( )

    }(, ) LA, x 6 FV()

    (x)() (x)( ) (x)() (x)( )

    }(, ) LA, x 6 FV()

    Osservazioni. (x)(y)A(x, y) (x)(y)A(x, y) (x)(y)A(x, y) J

    Varianti alfabetiche.

    Siano date le due frasi:

    = (x)A(x) = (y)B(y)

    Ci si puo` domandare se le due frasi siano equivalenti, una volta che - ad esempionella prima - si sia sostituita ogni occorrenza di x con una occorrenza di y:indicheremo con la scrittura [y|x] tale sostituzione Nel caso considerato, larisposta e affermativa, ma in generale essa non lo sara`: si consideri infatti laseguente equivalenza (errata!): data = (x)((x)A(y, x)) si consideri:

    (y)[y|x] = (y)((y)A(y, y))

    e evidente come tale uguaglianza generi una frase che non ha piu il significatoche aveva in precedenza! Nel caso piu generale e dunque necessario valutare leoccorrenze libere di una variabile che sono C - comandate dal quantificatore, esostituirle con una nuova variabile (che cioe non occorre in precedenza in ):

    zz

    }[z|x]

    xx

    } ove z non occorre in .

    Esempio.(x)A(x) (x)B(x) (x)(A(x) (x)B(x)) (x)(A(x) (z)B(z)) (x)(z)(A(x) B(z))

  • 36 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    3.2.3 Enunciati e variabili libere.

    Definizione 3.12 enunciato Si definisce enunciato una frase che non contienevariabili libere.

    Si consideri ora una frase che, al contrario, contiene k variabili libere: FV() = {x1, x2, ..., xk}. Essa puo` essere ricondotta in forma di enunciatovincolando tutte le k - occorrenze con altrettanti quantificatori. Cos, per unafrase con una sola variabile libera, sara` possibile creare due enunciati:

    : FV() = {x}

    {(x)A(x)(x)A(x)

    In generale, per k variabili libere, il numero di possibili enunciati e dato dalle-spressione 2kk!, che rapidamente diventa molto grande.

    Definizione 3.13 chiusura esistenziale, chiusura universale Sia data LA; sidefiniscono:

    chiusura universale di , indicata dalla scrittura lenunciato che siottiene vincolando con un quantificatore universale tutte le variabili liberein

    chiusura esistenziale di , indicata dalla scrittura lenunciato chesi ottiene vincolando con un quantificatore esistenziale ogni variabili liberein

    Valgono i due seguenti teoremi:

    Teorema 3.2.2

    e soddisfacibile se e soltanto se lo e la sua chiusura esistenziale

    Teorema 3.2.3

    e una tautologia se e soltanto se lo e la sua chiusura universale

    O Dimostrazione.Diamo un esempio dimostrativo del primo teorema enunciato: sia data una frase per cui FV() = {x, y}, e dimostriamo la doppia implicazione:

    e soddisfacibile e soddisfacibile

    Verifichiamo entrambe le direzioni:

    vM,() = 1 = vM,(x)(y)() = 1 e banalmente verificata. Infatti,per lipotesi, esiste certamente almeno una coppia (p, q) M tale chevM,(x|p)(y|q)() = 1. In questo caso, e sufficiente porre: p = (x), q =(y).

    Nel secondo caso, vM,(x)(y)() = 1 significa che esiste una qualcheassegnazione per cui vM,(x|p)(y|q)() = 1. Puo` accadere che 6= , cioelimplicazione vale ugualmente, ma non necessariamente attraverso la stes-sa assegnazione; esiste pero` certamente una strutturaM ove luguaglianzae verificata.

  • 3.3. ALGORITMO DI SKOLEM 37

    M

    Teorema 3.2.4 Dato un insieme di frasi , tale insieme e soddisfacibile se esoltanto se lo e linsieme = {| }.

    O Dimostrazione.Segue direttamente dalla definizione di soddisfacibilita` per un insieme di frasi,e dal teorema dimostrato appena sopra. M

    3.3 Algoritmo di Skolem

    3.3.1 Forma normale prenessa.

    Definizione 3.14 forma normale prenessa Data una frase si dice forma nor-male prenessa una frase equivalente alla data dove i quantificatori sono al-linizio della stessa.

    Ogni frase puo` essere riportata in forma normale prenessa, mediante succes-sive applicazioni delle equivalenze semantiche esposte in precedenza, a patto diprestare la dovuta attenzione alle situazioni in cui si rende necessario lutilizzodi una variante alfabetica.

    Illustriamo la procedura con un esempio: sia data la frase

    ( x3

    A(x, y) y4

    B(x, y)) x1

    ( z2

    C(x, z))

    Si portano ora in testa i quantificatori nellordine segnato. Per estrarre ilprimo quantificatore, bisogna osservare che una variabile x compare nei predicatiA, B, ma non ovviamente la stessa x, poiche il quantificatore (1) non C -comanda sui predicati A, B e pertanto la sua estrazione comporta luso di unavariante alfabetica, che permette di non vincolare anche queste occorrenze. Siaad esempio la variabile t:

    t

    ( x

    3

    A(x, y) y4

    B(x, y)) ( z2

    C(t, z))

    Allo stesso modo si puo` estrarre z, ma dal momento che in questo caso lunicaoccorrenza di una qualche z e solo nella frase C - comandata dal quantificatoreda estrarre, questo puo` essere estratto semplicemente:

    tz

    ( x

    3

    A(x, y) y4

    B(x, y)) C(t, z)

    Lestrazione di (3), poiche esso non C - comanda la x in B, va realizzatomediante lutilizzo di una variante alfabetica, ad esempio la variabile s:

  • 38 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    tzs

    (A(s, y) y

    4

    B(x, y)) C(t, z)

    Lestrazione di (4) va fatta in due tempi: esso va estratto progressivamenteda tutte le frasi in cui e contenuto, verificando di volta in volta la necessita`dellutilizzo di una variante. Nel primo caso si rendera` necessaria (r)...

    tzs {r(A(s, y) B(x, r)) C(t, z)}

    ...nel secondo caso invece no:

    tzsr {(A(s, y) B(x, r)) C(t, z)}

    Questultima espressione e la forma normale prenessa della frase iniziale: siosservino i quantificatori tutti sulla sinistra.

    Esercizio.

    Riportare i forma normale prenessa la seguente frase:

    ((t)A(t, y) (y)B(x, y)) (x)(z)C(x, z)

    3.3.2 Algoritmo di Skolem

    Lalgoritmo di Skolem e una procedura che permette di cancellare tutti i quan-tificatori esistenziali di una frase in forma normale prenessa.

    La procedura funziona nel modo seguente: si scorrono tutti i quantificatori:

    quando si incontra un quantificatore universale lo si tralascia

    quando si incontra un quantificatore esistenziale lo si cancella e si sos-tituiscono tutte le occorrenze della variabile quantificata con una nuovafunzione delle variabili quantificate dai quantificatori a sinistra di quellocancellato

    Unapplicazione, sullesempio introdotto in precedenza, e la seguente:

    tzsr {(A(s, y) B(x, r)) C(t, z)}

    Eliminando la variabile quantificata z:

    tsr {(A(s, y) B(x, r)) C(t, f(t))}

    Eliminando la variabile quantificata s:

    tr {(A(g(t), y) B(x, r)) C(t, f(t))}

    Eliminando la variabile quantificata r:

    t {(A(f(t), y) B(x, h(t))) C(t, f(t))}

  • 3.3. ALGORITMO DI SKOLEM 39

    Questultima espressione corrisponde alla frase skolemizzata, anche indi-cata con S

    Vediamo un altro esempio:

    xyztsA(x, y, t, z, s)

    Eliminando la variabile quantificata z:

    xytsA(x, y, t, f(x, y), s)

    Eliminando la variabile quantificata s:

    xytA(x, y, t, f(x, y), g(x, y, t))

    Lultima espressione e in forma di Skolem.

    Osservazioni.

    Ogni funzione introdotta in sostituzione delle variabili quantificate deveessere una funzione che non appartiene gia` al vocabolario; per cui il vo-cabolario delle frasi in forma skolemizzata puo` essere piu ampio di quellodelle frasi originarie.

    Una frase skolemizzata e in forma di enunciato universale. Si puo` ot-tenere un enunciato universale da qualunque frase di un linguaggio delprimo ordine applicando di seguito la procedura di normalizzazione e diskolemizzazione.

    J

    Teorema 3.3.1 Se una frase e soddisfacibile, allora lo e anche la sua cor-rispondente skolemizzata.

    O Dimostrazione.Si consideri lenunciato (x)A(x) e i due casi:

    a e una costante del linguaggio LA

    a non e una costante del linguaggio

    (primo caso):Sia A(a) una frase soddisfacibile. Significa che esiste una struttura M =

    (M, g) nella quale aM AM M . Esiste certamente una seconda strutturaM = (M = M, g = g) ed una seconda assegnazione : V M tale che, per unqualche p M , valga che (p) = aM . In questo caso, allora, v(M,)(x)A(x) =1.

    Viceversa, sia soddisfacibile la frase quantificata. Esiste certamente un ele-mento delluniverso del discorso p M per cui A(p) = 1. Ponendo allora a = p

    mediante una funzione g =

    {g per costanti 6= ap per costanti = a

    si ottiene una struttura

    (M, g) nella quale luguaglianza e verificata.

  • 40 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    (secondo caso): Ora a non e una costante del linguaggio. Cio` significa cheil procedimento di skolemizzazione introduce nuove costanti allinterno dellal-fabeto del linguaggio. Si supponga per semplicita` che C = . Il vocabolario diA(a) sara` allora del tipo: A = (C ={a},V ,P ,F).

    Sia ora soddisfacibile la frase quantificata. Allora esiste una struttura Mcon g : A AM M ed una assegnazione tale che v(M,)(x)A(x) = 1, cioeesiste un p tale che p M p AM . In questo caso esiste certamente una

    seconda strutturaM = (M, g) (differente dalla prima) ove g =

    {g su P ,Fg(a) = p

    ,

    per la quale A(a) e soddisfacibile.Viceversa, sia soddisfacibile la frase non quantificata. Allora esiste certa-

    mente NON LO SO COSA. DA FARE. M

    Osservazioni. Sia data la frase: = (x)(y)A(x, y). La relativa fraseskolemizzata e: S = (x)A(x, f(x)), ove la funzione f F se e soltanto selinsieme F contiene funzionali ad un posto, in caso contrario f e una nuovafunzione. Segue un secondo esempio di dimostrazione. J

    3.3.3 Teorema di Herbrandt - Skolem

    Questo importante teorema riconduce il problema della soddisfacibilita` di un in-sieme di frasi del primo ordine alla soddisfacibilita` di un corrispondente insiemedi frasi del linguaggio proposizionale, che puo` essere poi elaborato sintattica-mente con i metodi introdotti nel precedente capitolo.

    Sia dato un linguaggio del primo ordine LA, con un vocabolario che contieneun insieme di costanti non vuoto.

    Si definisce linsieme HA, insieme dei termini del linguaggio dato che noncontengono variabili. Vale di conseguenza che HA Ter(LA).

    Si definisce poi un insieme BA, insieme delle frasi atomiche del linguaggiodato che non contengono variabili.

    Osservazioni. Sia dato un alfabeto A, ove: C = {a, b}, F = {f()} cioe unfunzionale unario, e P = {A(, )}, cioe un predicato a due posti. Allora:

    HA = {a, b, f(a), f(b), f(f(a)), f(f(b), ...}

    In generale, quando linsieme dei funzionali non e vuoto, linsieme HA sara`infinito. Poi:

    BA = {A(a, b), A(b, a), A(f(a), b), A(a, f(b)), ...}

    Anche in questo caso, linsieme sara` infinito quando esiste almeno un funzionalenellalfabeto. J

    Osservazioni. Detto LBA il linguaggio proposizionale generato dallinsiemeBA, vale che LBA LA. J

  • 3.4. METODI SINTATTICI AL PRIMO ORDINE. 41

    Definizione 3.15 espansione di Herbrandt Sia ora un insieme di enunciatiuniversali (in forma prenessa) di LA. Si dice espansione di Herbrandt diun enunciato universale linsieme definito ricorsivamente come segue:

    se in non figurano quantificatori, lespansione coincide con stesso:Her() = {}

    se contiene quantificatori, sara` nella forma: = x1x2...xk. Inquesto caso Her() = B[t1|x1, t2|x2, ..., tn|xn], con (t1, ..., tk) HA

    Osservazioni. Sia data la frase: = (x)(y) [(x = y) A(x, y)] Lespan-sione di Herbrandt di questa frase e allora:

    Her(a) = {(a = b) A(a, b); (a = a) A(a, a); a = f(b) A(a, f(b)); ...}

    J

    Per linsieme dato di frasi, si pone: Her() =

    Her()

    Teorema 3.3.2 (di Herbrandt - Skolem) Un insieme di frasi e soddis-facibile in LA se e soltanto se lo e la corrispondente espansione di HerbrandtHer()

    O Dimostrazione.Sia un insieme di frasi di un linguaggio del primo ordine. Si ponga ogni frasedellinsieme in forma normale prenessa, ottenendo linsieme f.n.p.. Si realizzila chiusura esistenziale di tutte le frasi di questo nuovo insieme, ottenendo unterzo insieme f.n.p.. Linsieme finora ottenuto e soddisfacibile se e solo se loe linsieme iniziale, per quanto visto in precedenza. Si skolemizzi ogni frasedellultimo insieme. Si ottiene un nuovo insieme = (f.n.p.)

    S ; tale insieme ecomposto di soli enunciati universali.

    Ora, ogni frase di questo nuovo insieme deve essere espansa in forma di Her-brandt. E immediato intuire per la definizione di soddisfacibilita` applicata aduna frase quantificata universalmente, che tale frase e soddisfacibile se e soltantose lo e la relativa espansione di Herbrandt: basta infatti porre M = HA per cuiogni assegnazione avra` valori in HA. Tuttavia, come dimostrato in preceden-za, tale insieme e generalmente infinito, per cui la valutazione della soddisfaci-bilita` di una frase quantificata universalmente e di conseguenza impossibile inun tempo finito.

    Siano dati un insieme di enunciati universati S: ad esso si puo` associa-re linsieme Her(S), ottenuto mediante espansione di Herbandt. Allenunciatouniversale x1...xk corrisponde [t1|x1, t2|x2, ..., tn|xn] ove t1, ...tk Ter(LA)non contengono variabili. A cui corrisponde una clausola di un linguaggio propo-sizionale. M

    3.4 Metodi sintattici al primo ordine.

    I metodi sintattici enunciati nel contesto dei linguaggi proposizionali hannoun corrispettivo allinterno dei linguaggi predicativi. Prima di enunciare in

  • 42 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    dettaglio come questi metodi vengono realizzati al primo ordine, enunciamo unteorema e alcune definizioni che saranno utili in seguito.

    3.4.1 Compattezza semantica.

    Il seguente teorema enuncia un criterio per valutare la soddisfacibilita` di uninsieme infinito.

    Teorema 3.4.1 (di compattezza semantica) Sia un insieme infinito difrasi. e soddisfacibile se e soltanto se ogni sottoinsieme finito lo e.

    O Dimostrazione.Limplicazione verso destra e immediata. Sia ora un sottoinsieme finitodi . Dimostreremo che, se ogni sottoinsieme finito e soddisfacibile allora anche e soddisfacibile. O, il che e equivalente, che se e insoddisfacibile allora esistealmeno un sottoinsieme che lo e.

    Per assurdo, sia dunque un insieme insoddisfacibile. Allora DN7 cioe

    esiste un albero finito che ha come radice lassurdo e nodi terminali in . Sia linsieme delle foglie di questo albero: allora

    DN7= |=, cioe e

    insoddisfacibile. M

    3.4.2 Sostituzioni.

    Sia dato un insieme di variabili V V . Si definisce sostituzione il seguenteoperatore:

    = {t1|x1, t2|x2, ..., tn|xn}

    ove:

    xj V , i 6= j xi 6= xj

    tj Ter(LA)

    Osservazioni. E definita anche la sostituzione nulla : essa e tale per cuitj = xj j. J

    Sia ora data unespressione E del linguaggio LA (cioe un termine, o unafrase atomica o una sua negazione), ed una qualche sostituzione ; allora Ee una nuova espressione ottenuta sostituendo ogni occorrenza della variabile xjcon il corrispondente termine tj .

    Osservazioni. Sia data lespressione E = A(x, y) e la sostituzione ={u|x, g(z)|y}. Lespressione E = A(u, g(z)). Su una differente espressione E =B(f(x), y, t) la stessa sostituzione agisce come segue: E = B(f(u), g(z), t). J

    E possibile effettuare piu sostituzioni: date due sostituzioni , si definiscesostituzione prodotto = :

    se una delle due sostituzioni e la sostituzione nulla, la sostituzione prodottoe uguale allaltra.

  • 3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 43

    se entrambe le trasformazioni sono non nulle, siano esse allora = {t1|x1, t2|x2, ..., tk|xk}e = {s1|y1, s2|y2, ..., sh|yh}

    1. si applica la seconda trasformazione ad ogni termine della prima; siinserisce in fondo la seconda trasformazione:

    {t1|x1, t2|x2, ..., tk|xk, s1|y1, sk|yk}

    2. si cancellano i termini del tipo si|yi se yi e uguale ad un qualche xj :ad essi corrispondono sostituzioni doppie per uno stesso termine xj

    3. si cancellano i termini tj|xj se tj = xj : ad essi corrispondonosostituzioni nulle.

    i termini rimasti costituiscono la sostituzione prodotto.

    Per come e definita, la sostituzione prodotto gode delle seguenti proprieta`:

    1. (E) = E()

    2. proprieta` associativa: () = ()

    3.4.3 Unificazione.

    Dato un insieme di espressioni E = {E1, ..., Ek}, esso si dice unificabile seesiste almeno una sostituzione tale che:

    E1 = E2 = ... = Ek

    e detto unificatore dellinsieme E.

    Osservazioni. Siano date le espressioni: E1 = A(x), E2 = A(f(y)). Per = {f(y)|x} vale che E1 = E2 = A(f(y)).

    Siano date invece le espressioni: E1 = A(x), E2 = A(f(x)). Qualunque sos-tituzione del tipo = {t|x} si ottengono le espressioni: E1 = A(t), E2 =A(f(t)) che non sono unificabili. J

    Teorema 3.4.2 Se {E1, ..., Ek} sono espressioni unificabili, allora tra gli uni-ficatori di queste espressioni ne esiste uno piu generale degli altri, nel senso chese e un altro unificatore di queste espressioni allora = per qualche .

    3.5 Metodo di risoluzione al primo ordine.

    In un linguaggio L del primo ordine il vocabolo letterale identifica una fraseatomica o la sua negazione, come nel caso proposizionale. Una clausola eanalogamente un insieme finito e non vuoto di letterali. Laspetto al tempostesso critico e fondamentale e nella nuova definizione di clausola ottenuta perrisoluzione.

    Definizione 3.16 risoluzione per clausole Siano date due clausole C1, C2 nonvuote, ed una terza clausola C. Si dice che C e deducibile per risoluzione daC1, C2 quando:

  • 44 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    1. (separazione delle variabili): esistono due sostituzioni 1, 2 tali che C11e C22 non hanno variabili in comune

    2. Ce un numero finito di letterali {l

    1, l

    2, ..., l

    k} C11 con k 1 ed un

    numero finito di letterali {l

    1 , l

    2 , ..., l

    h} C22 con h 1 tali che linsieme

    {l

    1, l

    2, ..., l

    k, l

    1 , l

    2 , ..., l

    h} e unificabile mediante una qualche sostituzione ;sia lunificatore piu generale per linsieme di letterali considerato

    3. La clausola C ha il seguente aspetto:

    C [(C11 \ {l

    1, ..., l

    k}) (C22 \ {l

    1 , ..., l

    h})]

    Sia dato ora un insieme di clausole LA e C una clausola. La scrittura

    SR7 C (che si legge C e derivabile per risoluzione da ) significa:

    C

    C 6 ed esiste un albero di risoluzione con radice C e foglie in

    Si osservi in primo luogo che, ad ogni clausola, corrisponde un enunciatouniversale. Dato infatti un insieme di frasi, la sua chiusura esistenziale eugualmente soddisfacibile o insoddisfacibile. Da questa, attraverso la proceduradi normalizzazione (forma normale prenessa) e di seguito la procedura di skolem-izzazione ottengo un insieme di enunciati universali; anchesso soddisfacibilese e soltanto se lo e linsieme iniziale.

    Ognuna delle frasi di questo nuovo insieme sara` del tipo:

    (x1)(x2)...(xk)

    Si puo` riportare in forma normale congiuntiva, per cui:

    (x1)(x2)...(xk)(1 2...p)

    ove il singolo aj e una disgiunzione finita di letterali al primo ordine.Per una delle equivalenze semantiche introdotte in precedenza, vale che:

    (x1)...(xk) = (x1)...(xk)1 ... (x1)...(xk)p =

    ove ad ogni j corrisponde una clausola: j {l1, ..., lk}

    Teorema 3.5.1 Sia un insieme di clausole. Se e insoddisfacibile, allora

    SR7 2, e viceversa.

    O Dimostrazione.Il teorema precedente ha un duplice significato, per ciascuno dei due versidellimplicazione:

    Cio` che e deducibile sintatticamente lo e anche semanticamente (facile)

    Cio` che e deducibile semanticamente si deduce anche sintatticamente (dif-ficile, lo dimostriamo di seguito)

    Il passaggio critico consiste nel dimostrare che esiste un albero di prova dellinguaggio proposizionale che si pu rimontare al primo ordine. Per ottenerequesto importante risultato, dobbiamo prima enunciare il seguente:

  • 3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 45

    Lemma 3.1 (Lifting - lemma) Siano dati C 1, C2 S, C

    LA e sia possi-bile la derivazione C 1, C

    2 7 C

    mediante risoluzione [proposizionale]; alloraesiste una clausola C LA di cui C e espansione di Herbrandt (cioe C = C)C che e ottenuta per risoluzione al primo ordine da C1, C2

    Questo lemma afferma percio` che, date tre clausole di un linguaggio propo-sizionale, delle quali la prima sia deducibile per risoluzione dalle altre due, se es-istono due trasformazioni 1, 2 tali che valgano le uguaglianze C

    1 = C11, C

    2 =

    C22 allora esiste certamente una trasformazione che fa corrispondere allaclausola derivata del linguaggio proposizionale una clausola derivata al primoordine; questo permette di ricostruire al primo ordine un albero di risoluzioneottenuto nel corrispondente linguaggio proposizionale.

    O Dimostrazione.Si puo` supporre, senza perdere di generalita`, che C1, C2 non abbiano variabiliin comune. Allora, posto = 12 valgono le seguenti uguaglianze: C

    1 = C1,

    C 2 = C2. Cioe: esistono unsieme di letterali in C1 che possono essere unificatitramite , e analogamente per C2:

    {l1, l2, ..., l

    m} C1 l

    j = l j = 1, ..., m

    {l1 , l2 , ..., l

    n} C2 l

    i = l i = 1, ..., n

    allora {l1, ..., lm, l

    1 , ..., l

    n} e` unificabile e e un unificatore.

    Sia ora un unificatore generale, tale cioe che = Allora:

    C = (C 1 \ {l}) (C2 \ {l}) = (C1 \ {l}) (C2 \ {l}) =

    = (C1 \ {l1, ..., l

    m}) (C2 \ {l

    1 , ..., l

    m}) =

    = (C1 \ {l1, ..., l

    m}) (C2 \ {l

    1 , ..., l

    m}) = C

    oveC = (C1 \ {l

    1, ..., l

    m}) (C2 \ {l

    1 , ..., l

    m})

    e una clausola al primo ordine. M

    E molto piu` semplice dimostrare la seconda parte del teorema, e cioe che:

    SR7 2 = S e insoddisfacibile.Infatti, se la clausola vuota puo` essere dedotta dallinsieme S, allora esiste

    un albero di risoluzione che, ad ogni terna di nodi (C, C1, C2), - ove ad ogninodo corrisponde una clausola - per cui valga che C1, C2 7 C, allora esistonocertamente {C , C1 , C2} tali che {C1 , C2 |= C}. M

    Lemma 3.2 (di correttezza) Siano date C, C1, C2 clausole al primo ordine:

    se C1, C2R7 C allora {C1 , C2 |= C}

    O Dimostrazione.dimostrare per esercizio. M

    Osservazioni.Dato il seguente insieme di frasi:

  • 46 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    1. : Ogni uomo e stupido

    2. : Qualche uomo e disonesto

    3. : Qualche uomo e stupido e disonesto

    dimostrare che , |=

    Questo significa dimostrare che linsieme {, ,} e insoddisfacibile. As-sumeremo i predicati:

    U(*): ... e un uomo

    S(*): ... e stupido

    D(*): ... e disonesto

    Per cui le frasi si possono tradurre in logica del primo ordine come segue:

    1. (x)(U(x) S(x))

    2. (y)(U(x) D(x))

    3. (z)(U(x) S(x) D(x))

    Si riconducano queste tre frasi in forma di enunciato universale:La prima e gia` in forma di enunciato universale; da essa si ricava la clausola

    C1 = {U(x), S(x)}.La seconda deve prima essere skolemizzata, e da` origine a due clausole:

    C2 = {U(a)}, C3 = {D(a)}.La terza deve essere prima posta in forma negata, e da` origine ad una

    clausola: C4 = {U(x),S(x),D(x)}Dallinsieme di clausole {C1, C2, C3, C4} si deve ora dedurre per risoluzione

    la clausola vuota.Si prendano le clausole C1, C4. Per la regola di derivazione:

    si deve trovare una coppia di trasformazioni (1, 2) tali che la coppiaC11, C22 non abbia variabili in comune. Ad esempio, si puo` porre:1 = {y|x}, 2 = . In questo modo si ottiene la coppia di clausole:C11 = {U(y), S(y)}, C42 = {U(x),S(x),D(x)}

    Si considerino i letterali candidati alla cancellazione: nella prima clausolail letterale S(y), nella seconda clausola S(x). Bisogna trovare un uni-ficatore generale per linsieme S(y),S(x). Un possibile unificatoregenerale e` ad esempio: = {z|x, z|y}

    Si ottiene in seguito la clausola: C5 = [C11 \ {S(y)}, C22 \ {S(x)}] ={U(z),D(z)}

    Si prendano ora le clausole C2, C5; in questo caso:

    Le due clausole sono gia` a variabili separate; in questo caso assumeremodunque che le trasformazioni siano nulle: 1 = 2 =

    I letterali candidati alla cancellazione sono rispettivamente: U(a),U(z).Un unificatore generale e allora: = a|z

  • 3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 47

    Si ottiene in seguito la clausola: C6 = [D(z)] = D(a)

    Si prendano infine le clausole C3, C6

    Le due clausole non contengono variabili. Assumeremo ancora 1 = 2 =

    Le due clausole sono gia` unificate. Per cui assumeremo anche che =

    Si ottiene la clausola vuota.

    J

    Osservazioni.

    1. Lucia ama solo ragazzi sportivi

    2. Lucia ama qualche ragazzo

    3. Qualche ragazzo e sportivo

    Si dimostri che {1, 2} |= 3, ovvero che {1, 2,3} 7 2. Si assumono iseguenti predicati:

    1. R(*): ... e un ragazzo

    2. S(*): ... e sportivo

    3. A(*,*): ... ama ...

    e la costante L che rappresenta Lucia.Tradurremo le frasi come segue:

    1. [(x)(R(x) S(x))] A(L, x)

    2. (x)A(L, x)

    3. (x) [R(x) S(x)]

    Si osservi che la prima frase poteva essere tradotta anche come:

    (x) [A(L, x) (R(x) S(x))]

    Tuttavia questa traduzione e piu` forte della precedente; mentre la prima indi-viduava un sottoinsieme allinterno dellinsieme dei ragazzi, in particolare quel-lo dei ragazzi sportivi, questultima traduzione individua il sottoinsieme deiragazzi sportivi allinterno delluniverso del discorso, affermando che solo essisono amati da Lucia; da questa seconda traduzione non e possibile che Luciaami animali, cose, situazioni, ecc..., mentre tutto cio` non era implicito nellaprima versione. Una terza versione che tiene conto di questa osservazione, e chee percio` equivalente alla prima e:

    (x) [A(L, x) (R(x) S(x))]

    La prima frase origina una clausola C1 = {R(a), S(a),A(L, a)} La sec-onda frase origina due clausole: C2 = {R(a)}, C3 = {A(L, a)} La terza fraseorigina una clausola: C4 = {R(x),S(x)}

  • 48 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    Dalle clausole C1, C4, mediante trasformazioni 1 = 2 = e = {a|x} siottiene la clausola C5 = {R(a),A(L, a)} Dalle clausole C2, C5, mediante letrasformazioni 1 = 2 = = si ottiene la clausola C6 = {A(L, a)}. Daquestultima e dalla clausola C3 si ottiene, mediante trasformazioni nulle, laclausola vuota.

    J

    Esercizio.

    Da ogni gruppo di frasi, derivare lultima del gruppo mediante risoluzione alprimo ordine.

    1. Ogni barbiere rade tutti coloro che non si radono da soli

    Nessun barbiere rade chi si rade da solo

    Non esistono barbieri

    2. Antonio non passa lesame, a meno che non risolva tutti i problemi

    Se Mario si impegna piu` di Antonio allora Mario risolve qualcheproblema che Antonio non risolve

    Chiunque e diverso da Antonio si impegna piu` di Antonio

    Antonio non passa lesame

    3. Ogni passeggero che non e membro dellequipaggio viene perquisitoda almeno un poliziotto

    Un passeggero o un membro dellequipaggio e un trafficante di droga

    Ogni poliziotto non corrotto che perquisisce un trafficante di drogalo arresta

    Nessun passeggero viene arrestato da alcun poliziotto

    Qualche poliziotto e` corrotto o qualche membro dellequipaggio e untrafficante di droga

    3.6 Deduzione naturale al I ordine.

    Analogamente al caso proposizionale, esiste anche al primo ordine il metodo sin-tattico di deduzione naturale. Esso e composto di un numero molto superiore diregole rispetto al metodo di risoluzione per clausole, ma a suo vantaggio non hanessuna procedura di inizializzazione dei dati iniziali, poiche opera direttamentesulle frasi date.

    In seguito, scambieremo il simboloDN7 con 7, intendendo che la derivazione

    e ottenuta mediante deduzione naturale.

    Analogamente al caso proposizionale, le regole della deduzione naturale sisuddividono in elementari e condizionali.

  • 3.6. DEDUZIONE NATURALE AL I ORDINE. 49

    3.6.1 Regole elementari.

    Connettivo di congiunzione:

    1. eliminazione della congiunzione: data una congiunzione, ne posso dedurreciascuna delle frasi che la compongono.

    (, e) : 7

    {

    2. inserimento della congiunzione: date due frasi , , ne posso dedurreciascuna delle loro congiunzioni.

    (, i) : {, } 7

    {

    Connettivo di disgiunzione:

    1. eliminazione della disgiunzione: data una disgiunzione, e la negazione diuno dei disgiunti, ne posso dedurre laltro.

    (, e) :{ ,}

    DN7

    { ,}DN7

    2. inserimento della disgiunzione: date una frasi , e sempre possibile con-giungerla ad una qualunque frase :

    (, i) : {}DN7

    {

    Connettivo di implicazione:

    1. eliminazione dellimplicazione: data una implicazione , e limpli-cando , e sempre possibile dedurne limplicato; tale regola va sotto ilnome di modus ponens:

    (, i.1) : { }, {}DN7

    Ancora, data una implicazione, e la negazione dellimplicato, e semprepossibile dedurne la negazione dellimplicato; tale regola va sotto il nomedi modus tollens:

    (, i.2) : { }, {}DN7

    2. inserimento dellimplicazione: e una regola condizionale, e verra` espostanel paragrafo successivo.

    Connettivo di negazione:

    1. eliminazione della negazione: data una frase in forma vera e la stessa informa negata, e possibile dedurne lassurdo:

    (, e) : {}, {}DN7

  • 50 CAPITOLO 3. LINGUAGGI DEL I ORDINE

    2. inserimento della negazione: dato lassurdo, se ne puo` dedurre qualunquefrase (e la propria negazione):

    (, i) : {}DN7

    Quantificatori :

    1. eliminazione del quantificatore universale: da una frase universalmentequantificata posso dedurre una frase che al posto della variabile contengaun qualunque termine del linguaggio:

    (, e) : {(x)} 7 [t|x] per qualunque termine t Ter(LA)

    2. introduzione del quantificatore esistenziale: da una frase ove un terminedel linguaggio sostituisce una variabile, posso dedurre che esiste almenoun termine del linguaggio che rende vera la stessa frase ove non sia stataeffettuata la sostituzione:

    (, i) : {[t|x] 7 (x)} ove t Ter(LA)

    3.6.2 Regole condizionali.

    1. Regola di introduzione dellimplicazione. Dato un insieme di frasi dellinguaggio:

    (, i) : 7 ( ) {} 7

    2. Regola di riduzione ad assurdo: da un insieme di frasi posso derivare unaqualunque frase se aggiungendo la negazione di questa ne viene lassurdo,cioe:

    (R.A.A.) : 7 {}DN7

    3. Regola di introduzione del quantificatore universale: da un insieme di frasiposso introdurre il quantificatore universale su una frase se dallo stessoinsieme posso dedurre la frase ove alla variabile quantificata si sostituiscauna qualche variabile che non compare libera in

    (, i) : 7 (x) 7 [y|x]

    per ogni y che non occorre libera in

    4. Regola di eliminazione del quantificatore esistenziale: da un insieme difrasi ove ne sia presente una quantificata dal quantificatore esistenzialeposso dedurre una nuova frase, eliminando il quantificatore, se dallo stessoinsieme posso ricavare la nuova frase sostituendo la variabile quantificatanella frase iniziale per una qualche variabile libera che non occorre liberane nellinsieme dato, ne nella frase dedotta:

    (, e) : (x) 7 [y|x] 7

    per ogni y che non occorre libera in ,

  • 3.6. DEDUZIONE NATURALE AL I ORDINE. 51

    Definizione 3.17 deduzione naturale Sia dato un insieme ed una frase . e deducibile (per deduzione naturale) da se:

    oppure

    esiste un albero finito non banale di radice i cui nodi terminali sono in ed ogni nodo non terminale e ottenuto dai due figli mediante una qualcheregola di Deduzione Naturale.

    Teorema 3.6.1 (di correttezza/completezza della deduzione naturale.)Sia dato insieme di frasi ed una frase . Allora e deducibile sintatticamentemediante deduzione naturale dallinsieme se e soltanto se e conseguenza

    semantica di , e viceversa. Cioe: DN7 |=

    Il significato di questo teorema e duplice: La scrittura

    DN7 = |=

    significa che se e conseguenza semantica di allora essa e anche conseguenzasintattica dello stesso insieme; questa caratteristica e anche detta proprieta` dicorrettezza del metodo di deduzione naturale.

    La scritturaDN7 = |=

    significa che, se e conseguenza semantica di , allora esiste un albero di pro-va (in Deduzione Naturale) che lo dimostra sintatticamente, a partire dallin-sieme ; questa proprieta` e anche detta proprieta` di completezza del metododi deduzione naturale.

    La proprieta` di completezza ha una dimostrazione molto piu` complessarispetto alla prima.

  • 52 CAPITOLO 3. LINGUAGGI DEL I ORDINE

  • Appendice A

    Esercizi desame.

    A.1 Esercizi di risoluzione semantica.

    Eser