Logica dei Predicati: 1 Sintassi Corso di Logica e Reti Logiche, a.a. 2014-15 (Università di Roma Tor Vergata)
2 Outline Motivazioni Espressività Deduzione in FOL Calcolo dei Predicati: Outline dei Temi Elementi del Linguaggio Sintassi delle formule Esempi ed esercizi proposti
3 Limiti dei Linguaggi Proposizionali Cosa (non) posso dire? (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici.
4 Limiti dei Linguaggi Proposizionali Cosa (non) posso dire? YES! (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. NO (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. Vera anche se premessa è falsa YES? (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. Falsa ma giustificata dalle premesse YES? (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici.
5 Limiti dei Linguaggi Proposizionali Ma ciò che veramente è problematico con le frasi seguenti è che non si possano esprimere molte proprietà che ci aiutano a decidere: (1) I banchieri sono ricchi. Aldo è povero. Quindi Aldo non è un banchiere. ricchi vs. povero (2) I banchieri sono ricchi. Aldo è ricco. Quindi Aldo è un banchiere. essere un banchiere per chiunque non sia Aldo (3) I banchieri sono biondi. I biondi sono ricchi. Quindi i banchieri sono ricchi. (4) I banchieri sono ricchi. I ricchi sono sempre felici. Quindi i banchieri sono sempre felici. Perché 3 e 4 sono vera/falsa?
6 Limiti dei Linguaggi Proposizionali Cosa posso dedurre da fatti noti e meccanismi di inferenza consistenti? MP: p1: «Tutti gli uomini sono mortali» p2: «Socrate è un uomo» t: «Socrate è mortale» Perché se ( p1 p2 ) t non è valida, questo ragionamento ci appare consistente?
7 Scopo Definire come un linguaggio formale più espressivo della logica proposizionale vista sinora, utile a descrivere e validare (cioè garantirne la correttezza) di argomentazioni, cioè successioni di enunciati linguistici di tipo descrittivo (ovvero, frasi di una lingua naturale che descrivono stati di cose, e che sono o veri o falsi).
8 Le Argomentazioni Un insieme di enunciati,, sono assunti come premesse (perché evidenti, o perché già condivisi dalle parti interessate all argomentazione, o semplicemente per analizzarne le conseguenze); un enunciato, A, è invece derivato come conclusione. L argomentazione è valida se la conclusione (A) è certamente vera sotto l ipotesi che lo siano le premesse ( ). In tal caso, si dice anche che la conclusione è conseguenza logica delle premesse o che le premesse comportano (in inglese: entail) la conclusione e si scrive: A.
9 Un esempio motivante Ci interessano i blocchi e alcune loro relazioni spaziali Dominio: {a, b, c, d, e} Le funzioni: si individuano le funzioni rilevanti che servono anch esse per identificare oggetti. Es. Hat la funzione unaria che dato un blocco identifica il blocco che ci sta sopra; Hat(b)=a Le relazioni: si individuano le relazioni interessanti. Es. On= {<a, b>, <b, c>, <d, e>} Clear= {a, d} Table= {c, e} Block= {a, b, c, d, e}
10 Gli Elementi del linguaggio: Come sono fatti gli elementi di tale linguaggio? Gli elementi di un linguaggio predicativo debbono almeno contenere i seguenti elementi Le Relazioni sussistenti tra elementi del dominio che sono oggetto di descrizione (affermazione o negazione) Le Costanti del discorso Nomi di individui Funzioni operanti sugli individui del dominio Le denotazioni di variabili
11 Elementi del linguaggio: le Relazioni Alcuni esempi Su/2 come «posto di sopra» PadreDi/2 come gerarchia SottoinsiemeDI/2 negli insiemi
12 Elementi del Linguaggio: costanti e variabili
13 Calcolo dei Predicati: verso la sintassi Il linguaggio predicativo del primo ordine è detto anche linguaggio predicativo elementare perché consente di predicare proprietà e relazioni concernenti gli elementi di un universo del discorso, detto comunemente dominio. Questo linguaggio può essere visto come l idealizzazione di un frammento del linguaggio umano. Come nelle lingue naturali, esistono due tipi di espressioni: i termini, utilizzati per fare riferimento a individui del dominio; le formule, e più in particolare gli enunciati, utilizzate per descrivere stati di cose riguardanti gli individui del dominio.
14 Calcolo Predicativo: i termini Il modo più semplice definire gli elementi di un dominio è l uso di un identificatore, che funzioni proprio come un nome proprio. A questo scopo il linguaggio del primo ordine prevede l uso di un insieme (eventualmente vuoto) di identificatori, chiamati costanti individuali o più semplicemente costanti. Essi fanno individualmente riferimento ad una entità (individuo) del dominio
15 Calcolo Predicativo: i termini (2) Inoltre ad un individuo si può fare riferimento anche con un espressione di tipo funzionale, come il padre di..., dove padre di è vista come una funzione agente sugli individui del dominio. Il linguaggio prevede un insieme (eventualmente vuoto, al più numerabile) di funtori (o simboli di funzione). Per i funtori adotteremo le lettere f, g, h,..., Ogni funtore f ha un numero prefissato n di argomenti; questo numero è detto l arità del funtore. E possibile ammettere anche funtori con arità zero, che corrispondono alle espressioni costani
16 Calcolo Predicativo: i termini (3) La definizione formale di termine è dunque ricorsiva: ogni costante individuale, denotata dalle prime lettere dell alfabeto quali a, b, c,, è un termine; ogni variabile individuale denotata dalle ultime lettere dell alfabeto quali x, y, z, t, u,, è un termine; ogni espressione della forma f(t 1,...,t n ) è un termine se f è un funtore di arità n e tutti i t k sono termini.
17 Esempi di termini Se assumiamo che f e g siano funtori di arità uno e h sia un funtore di arità due, allora i seguenti sono tutti termini ben formati: a X f(a) g(x) h(a,b) h(f(a),g(f(x))
18 Calcolo Predicativo: le Relazioni Il modo più immediato di descrivere uno stato di cose consiste nel dire che fra certi individui sussiste una data relazione. I simboli di relazione costituiscono un insieme (non vuoto, al più numerabile) di predicati, per i quali adotteremo le lettere P, Q, R,..., Ogni predicato P ha un numero prefissato n di argomenti; questo numero è detto l arità del predicato.
19 Calcolo Predicativo: le Relazioni (2) I predicati di arità due (o a due posti ) sono utilizzati per rappresentare relazioni binarie. Così, se a Abel e Betty si fa riferimento rispettivamente con le costanti a e b, e la relazione fratello è rappresentata dal predicato P, la frase Abel è il fratello di Betty si rappresenta come P(a,b). Utilizzando predicati di arità adeguata, è possibile rappresentare relazioni anche fra terne, quaterne, o n-ple di individui. I predicati a un posto rappresentano le proprietà di individui. Ad esempio, se il predicato G rappresenta la proprietà giovane, la frase Abel è giovane si rappresenta come G(a).
20 Calcolo dei Predicati: le Formule atomiche (ATOMI) Simboli costanti e variabili, termini ed espressioni funzionali in generale e predicati ci consentono di definire il tipo più semplice di formule, ovvero le formule atomiche DEF (Formule Atomiche): e sono formule atomiche Ogni espressione della forma P(t 1,...,t n ) è una formula atomica se P è un predicato di arità n e tutti i t k sono termini.
21 Calcolo dei Predicati: Formule complesse A partire dalle formule atomiche si possono costruire formule più complesse utilizzando i simboli logici, ovvero i connettivi booleani e i quantificatori. I connettivi e i quantificatori normalmente utilizzati sono i seguenti: un connettivo unario (ovvero, con un solo argomento): la negazione ( ); quattro connettivi binari: la congiunzione ( ), la disgiunzione ( ), il condizionale ( ) e il bicondizionale ( ); due quantificatori: universale ( ) ed esistenziale ( ).
22 Calcolo dei Predicati: Formule Ben Formate (FBF) Ogni formula atomica è una formula; Ogni espressione della forma j, se j è una formula; Ogni espressione della forma (j y), (j y), (j y) (j y) è una formula, se j e y sono formule; Ogni espressione della forma xj e xj è una formula, se x è una variabile e j è una formula.
23 Precedenze e parentesi Si possono tralasciare le eventuali parentesi esterne di una formula; ((( P Q) R) S) (( P Q) R) S; Il raggruppamento di sottoformule da sinistra verso destra per uno stesso connettivo binario non richiede le parentesi: (( P Q) R) S ( P Q R) S; Tra i simboli logici (connettivi e quantificatori) esiste la seguente gerarchia di precedenza: {,, } > { } > { } > { } > { } Ad esempio: ( P Q R) S P Q R S, ((P Q) (Q P)) (P Q) (Q P) P Q Q P, ( xp(x) Q(x)) xp(x) Q(x).
24 Il trattamento delle Variabili Una formula che non contenga variabili si dice fondamentale (o, dall inglese, ground). Se una formula contiene variabili ne può contenere più d una, ognuna con una o più occorrenze. Ad esempio, la formula xp(x,y) Q(x) contiene tre occorrenze della variabile x (compresa l occorrenza che segue immediatamente il quantificatore) ed una occorrenza della variabile y.
25 Il trattamento delle Variabili (2) Ogni quantificatore applicato ad una formula j ha un ambito o campo di applicazione (dall inglese scope) che corrisponde alla sottoformula di j sulle cui variabili agisce. Ad esempio, nella formula xp(x,y) Q(x) l ambito di x è la formula P(x,y); Nella formula x(p(x,y) Q(x)), invece, l ambito di x è la formula P(x,y) Q(x).
26 Il trattamento delle Variabili (3) Un occorrenza di una variabile x si dice vincolata se 1. è l occorrenza che segue immediatamente il simbolo del quantificatore oppure 2. appartiene all ambito di un quantificatore x o x; Ogni altra occorrenza di una variabile si dice invece libera. Ad esempio, nella formula xp(x,y) Q(x) le prime due occorrenze di x sono vincolate, la terza è libera, e l unica occorrenza di y è libera.
27 Trattamento delle Variabili: problematicità xp(x,y) e zp(z,y) sono sostanzialmente la stessa formula, e si dicono variante alfabetica l una dell altra Esistono formule in cui le variabili sono libere che non hanno una chiara interpretazione: cfr. P(a), xp(x) e P(x) La ultima costituisce una formula aperta, cioè che presenta occorrenze libere di variabili (la cui interpretazione è in qualche modo incompleta), Le prime due sono formule chiuse, che non contengono occorrenze libere di variabili e sono quindi completamente interpretate.
28 Trattamento delle Variabili: gli Enunciati Esistono infine formule iperquantificate, ad es. x yp(a,x) Il quantificatore y, infatti, è ridondante perché non ci sono nel suo ambito occorrenze libere (e quindi quantificabili) di y. Si dicono enunciati il sottoinsieme delle formule ben formate che non contiene tali problematicità. Chiameremo enunciato ogni formula che sia chiusa (e quindi non abbia occorrenze libere di variabili) e priva di quantificatori ridondanti (ovvero, ogni quantificatore applicato a una variabile x deve avere nel suo ambito almeno un occorrenza libera di x)
29 Variabili e Costanti: la sostituzione Se j è una formula, x è una variabile e t un termine qualsiasi, con j(t/x) indicheremo la formula che si ottiene partendo da j e sostituendo ogni occorrenza libera di x con il termine t. Ad esempio, se j è la formula allora j(a/x) è la formula P(x) xq(x), P(a) xq(x).
30 L uguaglianza Nel linguaggio del primo ordine introdotto sin qui, i simboli logici si usano sempre, qualsiasi sia il linguaggio specifico definito, cioè quello che dipende dalla applicazione: quest ultimo infatti dipende **solo** dalla scelta dei simboli costanti, dei funtori e dei simboli predicativi. C è però un predicato binario particolarmente significativo, che può essere introdotto indipendentemente dall applicazione: si tratta del predicato di uguaglianza, =. Qualora uno speciale predicato di arità 2 viene introdotta che corrisponde alla uguaglianza, si parla allora di linguaggio del primo ordine con l uguaglianza.
31 FOL con uguaglianza: ATOMI (revised) DEF (Formule Atomiche): e sono formule atomiche Ogni espressione della forma t 1 = t 2 è un a formula atomica se t1 1 se t1 2 sono termini. Ogni espressione della forma P(t 1,...,t n ) è una formula atomica se P è un predicato di arità n e tutti i t k sono termini.
32 FOL con uguaglianza: FBF (revised) Ogni formula atomica è una formula; Ogni espressione della forma j, se j è una formula; Ogni espressione della forma (j y), (j y), (j y) (j y) è una formula, se j e y sono formule; Ogni espressione della forma xj e xj è una formula, se x è una variabile e j è una formula.
33 Il significato: il problema e la prospettiva Cosa significa assegnare significato ad una formula? Problemi Applicazioni: Verificare le proprietà di affermazioni/teoremi utili ad una disciplina Verificare le proprietà dei programmi Fornire regole di deduzione a sistemi di ragionamento automatico
34 Esercizio
35 Esercizi (1) Determinare gli atomi delle seguenti formule xh(x) ( x G(x, f(y)) H(y)) x H(a) G(b) L(x,g(b,x)) Determinare le variabili delle seguenti formule x H(x) G(b) x L(x,b) x (H(x) G(b) P(x,y)) x L(x,b) x (H(x) G(b) P(x,y)) x L(x,b) Determinare le variabili libere nelle formule di sopra
36 Esercizi (1) Determinare la traduzione in FOL senza uguaglianza delle seguenti frasi Gianni corre sempre con ogni tempo (meteorologico) Carne mangia tutti i tipi di carne Ogni giorno piove Tutti gli interi sono positivi o nulli Determinare la traduzione in FOL con uguaglianza delle seguenti frasi Lo zero tra gli interi è unico Determinare l albero sintattico delle formule scritte
37 Esercizi (2) Dimostrare le seguenti uguaglianze x P(x) P(x) = x P(x) P(x) = x P(x) P(x) x P(x) Q(x) = x P(x) Q(x)
38 Riferimenti [2] C.L. Chang and Lee R.C.T. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973. trad. it. Tecniche Nuove. [5] E. Mendelson. Introduction to Mathematical Logic. Van Nostrand, 1964. Trad. it. Boringhieri. Carlucci Aiello Luigia, Pirri Fiora, Strutture, logica, linguaggi, 2005, 336 p., Editore Pearson (collana Accademica). McCarthy, J., and P. Hayes (1969). Some philosophical problems from the standpoint of artificial intelligence. In B. Meltzer and D. Michie, eds., Machine Intelligence 4, Edinburgh University Press, Edinburgh, UK. Nilsson, N. J. (1998). Artificial intelligence: A new synthesis, Morgan Kaufmann, San Francisco, CA. Anche: dispense M. Cialdea Mayer. Logica (Home page)