Logica predicativa del prim ordine

Documenti analoghi
LE SUCCESSIONI 1. COS E UNA SUCCESSIONE

risulta (x) = 1 se x < 0.

Lezioni di Matematica 1 - I modulo

Alcune nozioni di base di Logica Matematica

Dall italiano al linguaggio della logica proposizionale

1. PRIME PROPRIETÀ 2

4 3 4 = 4 x x x 10 0 aaa

Capitolo 2. Operazione di limite

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

Per lo svolgimento del corso risulta particolarmente utile considerare l insieme

Lezione 1. Gli Insiemi. La nozione di insieme viene spesso utilizzata nella vita di tutti i giorni; si parla dell insieme:

10. Insiemi non misurabili secondo Lebesgue.

Dimensione di uno Spazio vettoriale

x u v(p(x, fx) q(u, v)), e poi

Algebra di Boole ed Elementi di Logica

ALGEBRA DELLE PROPOSIZIONI

Teoria degli insiemi

(anno accademico )

f(x) = 1 x. Il dominio di questa funzione è il sottoinsieme proprio di R dato da

PROCESSO DI INDICIZZAZIONE SEMANTICA

Errori più comuni. nelle prove scritte

Linguaggi. Claudio Sacerdoti Coen 11/04/ : Semantica della logica del prim ordine. Universitá di Bologna

Proof. Dimostrazione per assurdo. Consideriamo l insieme complementare di P nell insieme

II.f. Altre attività sull euro

Algebra e Geometria. Ingegneria Meccanica e dei Materiali Sez (2) Ingegneria dell Automazione Industriale Sez (2)

LE FUNZIONI A DUE VARIABILI

ESEMPIO 1: eseguire il complemento a 10 di 765

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

I libri di testo. Carlo Tarsitani

Appunti sulla Macchina di Turing. Macchina di Turing

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

LA MOLTIPLICAZIONE IN CLASSE SECONDA

APPUNTI DI MATEMATICA ALGEBRA \ INSIEMISTICA \ TEORIA DEGLI INSIEMI (1)

1 Serie di Taylor di una funzione

1 Giochi a due, con informazione perfetta e somma zero

Complemento al corso di Fondamenti di Informatica I corsi di laurea in ingegneria, settore dell informazione Università la Sapienza Consorzio Nettuno

Appunti di informatica. Lezione 2 anno accademico Mario Verdicchio

Lezione 8. La macchina universale

2. Semantica proposizionale classica

Soluzione dell esercizio del 2 Febbraio 2004

3 GRAFICI DI FUNZIONI

Capitolo II. La forma del valore. 7. La duplice forma in cui si presenta la merce: naturale e di valore.

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

Funzioni funzione dominio codominio legge argomento variabile indipendente variabile dipendente

Il principio di induzione e i numeri naturali.

Osservazioni sulla continuità per le funzioni reali di variabile reale

Corso di Informatica Generale (C. L. Economia e Commercio) Ing. Valerio Lacagnina Rappresentazione in virgola mobile

19. Inclusioni tra spazi L p.

Indice. 1 Il monitoraggio del progetto formativo di 6

Calcolatori: Algebra Booleana e Reti Logiche

Predicati e Quantificatori

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Schemi delle Lezioni di Matematica Generale. Pierpaolo Montana

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Matematica generale CTF

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

Risoluzione. Eric Miotto Corretto dal prof. Silvio Valentini 15 giugno 2005

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Database. Si ringrazia Marco Bertini per le slides

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE AL TERMINE DELLA SCUOLA PRIMARIA

Parte 2. Determinante e matrice inversa

MICROECONOMIA La teoria del consumo: Alcuni Arricchimenti. Enrico Saltari Università di Roma La Sapienza

Linguaggi e Paradigmi di Programmazione

Corrispondenze e funzioni

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

Algebra Booleana 1 ALGEBRA BOOLEANA: VARIABILI E FUNZIONI LOGICHE

1 Applicazioni Lineari tra Spazi Vettoriali

Matematica in laboratorio

Politecnico di Milano. Facoltà di Ingegneria Industriale. Corso di Analisi e Geometria 2. Sezione D-G. (Docente: Federico Lastaria).

Rappresentazione dei numeri in un calcolatore

Semantica operazionale dei linguaggi di Programmazione

Esponenziali elogaritmi

Comparatori. Comparatori di uguaglianza

Funzioni in C. Violetta Lonati

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Convertitori numerici in Excel

SISTEMI DI NUMERAZIONE E CODICI

IL SISTEMA INFORMATIVO

Algebra e Logica Matematica. Calcolo delle proposizioni Logica del primo ordine

Statistica e biometria. D. Bertacchi. Variabili aleatorie. V.a. discrete e continue. La densità di una v.a. discreta. Esempi.

Iniziamo con un esercizio sul massimo comun divisore: Esercizio 1. Sia d = G.C.D.(a, b), allora:

Sui concetti di definizione, teorema e dimostrazione in didattica della matematica

I PROBLEMI ALGEBRICI

Corso di Calcolo Numerico

u 1 u k che rappresenta formalmente la somma degli infiniti numeri (14.1), ordinati al crescere del loro indice. I numeri u k

Dispense di Informatica per l ITG Valadier

CURRICULUM SCUOLA PRIMARIA MATEMATICA

Anno 1. Le relazioni fondamentali (equivalenza, d'ordine, inverse, fra insiemi)

Fondamenti e didattica di Matematica Finanziaria

Alessandro Pellegrini

Ascrizioni di credenza

4 Dispense di Matematica per il biennio dell Istituto I.S.I.S. Gaetano Filangieri di Frattamaggiore EQUAZIONI FRATTE E SISTEMI DI EQUAZIONI

Capitolo 7: Teoria generale della calcolabilitá

Necessità della formazione efficace delle figure professionali nel campo della sicurezza negli ambienti di lavoro

Linguaggi del I ordine - semantica. Per dare significato ad una formula del I ordine bisogna specificare

Corso di Matematica per la Chimica

Fondamenti di Informatica 2. Le operazioni binarie

Elementi di informatica

Equilibrio bayesiano perfetto. Giochi di segnalazione

Il concetto di valore medio in generale

Transcript:

Logica predicativa del prim ordine Eugenio G. Omodeo Anno accademico 2007/ 08 Contents 1 Linguaggi per la logica predicativa del prim ordine 5 1.1 Sintassi di un linguaggio predicativo........................ 5 1.2 Convenzioni sul lessico per la logica predicativa................. 6 1.3 Arricchimenti dei linguaggi predicativi...................... 7 1.3.1 Estensioni sintattiche come regole di riscrittura............. 9 1.4 Prime riflessioni sul metalinguaggio per i linguaggi predicativi......... 9 1.5 Appendice: Sottolinguaggi clausolari........................ 12 2 Semantica dei linguaggi predicativi 13 2.1 Interpretazioni di un linguaggio predicativo.................... 13 2.2 Valutazione di un enunciato............................ 14 2.3 Modelli e conseguenze logiche. Enunciati assurdi e validi............ 15 2.3.1 Universi e basi di Herbrand, e modelli di enunciati universali...... 16 2.4 Ingegneria della conoscenza............................ 18 2.5 Teorie........................................ 19 2.6 Digressione sul concetto di formalismo...................... 20 2.6.1 Che cos è un formalismo?......................... 20 2.6.2 Correttezza e completezza......................... 21 2.6.3 Sistemi deduttivi, calcolo logico e consistenza.............. 22 3 Esempi d uso dei linguaggi predicativi: formalizzazione di teorie 23 3.1 Teorie sugli ordinamenti.............................. 23 3.1.1 Leggi dell uguaglianza........................... 23 3.1.2 Teoria dei preordinamenti......................... 24 3.1.3 Teoria degli ordinamenti parziali...................... 24 3.1.4 Teoria degli ordinamenti totali....................... 25 3.1.5 Teorie sugli ordinamenti densi....................... 25 3.2 Teorie su domini numerici............................. 26 3.2.1 Teoria dei numeri naturali con successore................. 26 3.2.2 Aritmetica di Presburger.......................... 26 3.2.3 Aritmetica elementare con somma, prodotto ed esponenziazione.... 26 Università degli Studi di Trieste, Dipartimento di Matematica e Informatica, via Alfonso Valerio 12/b, 34127 - Trieste. eomodeo@units.it 1

3.2.4 Aritmetica elementare di Peano...................... 27 3.2.5 Teoria dei numeri reali e teoria dei numeri complessi.......... 28 3.3 Teorie deboli degli insiemi............................. 28 3.3.1 Estensionalità, assiomi sull aggiunta e la rimozione di elementi..... 28 3.3.2 Variante degli assiomi in un linguaggio piú ricco di simboli....... 29 3.3.3 Buona fondatezza dell appartenenza.................... 30 3.4 Geometria elementare................................ 30 4 Questioni metamatematiche 32 4.1 Non-contraddittorietà di una teoria........................ 32 4.1.1 Consistenza di un sistema deduttivo.................... 34 4.2 Completezza di una teoria............................. 34 4.3 Decidibilità o indecidibilità di una teoria..................... 34 4.3.1 Teorie indecidibili e indecidibilità essenziale............... 35 4.3.2 Semidecidibilità di una teoria....................... 36 4.3.3 Oltre la mera decidibilità.......................... 36 4.3.4 Frammenti decidibili di una teoria..................... 36 4.4 Assiomatizzabilità di una teoria.......................... 36 4.4.1 Assiomatizzabilità finita di una teoria................... 36 4.4.2 Indipendenza fra assiomi, ed assiomatizzazioni equipollenti....... 37 5 Apparati deduttivi per la logica del prim ordine 37 5.1 Sistemi deduttivi alla Hilbert........................... 37 5.1.1 Assiomi logici, derivabilità, inferenze................... 37 5.1.2 Teorema di correttezza........................... 39 5.1.3 (*) Consistenza del calcolo predicativo.................. 40 5.1.4 Teoremi di completezza, compattezza ed enumerabilità......... 41 5.1.5 Varianti del formalismo hilbertiano qui proposto............. 42 5.2 Sistemi di deduzione fondati sul principio di risoluzione............. 42 5.2.1 Riduzione di enunciati a forma prenessa................. 42 5.2.2 Skolemizzazione............................... 44 5.2.3 Teorema di Herbrand............................ 45 5.2.4 Organizzazione di un dimostratore automatico.............. 45 5.2.5 Principio di risoluzione........................... 46 5.2.6 Completezza del principio di risoluzione................. 46 5.2.7 Algoritmo di unificazione.......................... 46 5.3 Sistemi equazionali................................. 46 5.3.1 Un formalismo corretto e completo per il trattamento di sole identità. 47 5.3.2 Il problema dell unificazione........................ 48 6 Svolgimento di esercizi selezionati 48 Introduzione Quando una proposizione italiana viene tradotta in un enunciato del linguaggio proposizionale, essa si riduce ad uno scheletro in cui sopravvive ben poco della struttura e del significato originari. La traduzione può tuttavia mettere in risalto, in alcuni casi fortunati, che la proposizione 2

italiana è senza dubbio vera, poiché essa viene a tradursi in un enunciato tautologico. Un esempio: La proposizione Se Socrate è un uomo, allora Socrate è mortale oppure Socrate è un uomo potrebbe essere tradotta come p q p; quest enunciato è tautologico, e quindi è valida l affermazione italiana scritta fra virgolette. La traduzione, in certi casi, è invece fuorviante. Se traducessimo Mary amò John ed ebbe un bambino come r s, apparirebbe altrettanto legittimo tradurre Mary ebbe un bambino ed amò John come s r. Per la commutatività dell operazione di congiunzione, r s è logicamente equivalente ad s r. Sono allora equivalenti di significato le due affermazioni italiane che questi enunciati dovrebbero rappresentare (sia pure schematicamente)? Meglio andarci cauti. Vi sono poi dei casi in cui la traduzione dall italiano al linguaggio proposizionale viene ad oscurare dei legami logici che sono essenziali per la correttezza di un argomentazione. Le seguenti quattro affermazioni sono valide in italiano, ma la loro validità non trasparirebbe da una traduzione nel calcolo proposizionale: 1. Se ogni amico di Martino è amico di Gianna e se inoltre Pietro non è amico di Gianna, allora Pietro non è amico di Martino ; 2. Se le donne sono tutte immortali, e se inoltre Cleopatra è una donna, allora Cleopatra è immortale ; 3. Se gli uomini sono bipedi, allora la chioma di qualsiasi uomo è chioma di un bipede ; 4. Se tutti gli uomini sono filosofi, se inoltre Socrate è un uomo e Socrate è uguale al marito di Santippe, allora il marito di Santippe è un filosofo. Il linguaggio predicativo di cui stiamo intraprendendo lo studio consente di esprimere queste quattro affermazioni in modo formale e senza occultare la struttura logica che le rende valide. In teoria degli insiemi un particolare sistema deduttivo fondato sulla logica predicativa, potremmo in effetti esprimere 1. 4. cosí: 1. amici( martino ) amici( gianna ) pietro / amici( gianna ) pietro / amici( martino ); 2. donne immortali cleopatra donne cleopatra immortali; 3. uomini bipedi x ( y uomini ( x = chioma( y ) ) z bipedi ( x = chioma( z ) ) ); 4. uomini filosofi socrate uomini socrate = marito( santippe ) marito( santippe ) filosofi. (Qui amici, chioma, marito denotano funzioni, mentre tutti gli altri identificatori denotano insiemi 1 ). I simboli ed che stiamo qui vedendo per la prima volta corrispondono grosso modo ai costrutti for ed exists di molti linguaggi di programmazione. Con una differenza sostanziale, però. Che mentre for prescrive che l esecuzione di un certo brano di programma 1 Per semplicità ci stiamo riferendo con la parola insiemi sia agli insiemi in senso stretto che ai costituenti ultimi di cui gli insiemi sono composti, che talvolta vengono chiamati individui. 3

venga effettuata un numero finito di volte, rappresenta l iterazione sulla classe immensa che è costituita da tutti gli insiemi. Analogamente, mentre exists indica che una certa ricerca, svolta su di un insieme finito di oggetti, dovrà interrompersi con successo qualora venga trovato un oggetto soddisfacente a certe condizioni; nell interpretare, invece, la ricerca si immagina effettuata sulla totalità degli insiemi. In accordo con questo cenno di semantica, leggeremo x ϕ come per ogni x si ha che ϕ ed x ϕ come vi è almeno un x tale che ϕ. Le formule esistenziali in esempio, che sono y uomini ( x = chioma( y ) ) ed z bipedi ( x = chioma( z ) ), devono essere considerate abbreviazioni di y ( y uomini x = chioma( y ) ) e di z ( z bipedi x = chioma( z ) ), e dunque significano: esiste un uomo che ha come sua chioma x, esiste un bipede che ha come sua chioma x. Come vedremo, esiste una varietà di linguaggi predicativi: essi sono accomunati dai tratti salienti, e differiscono marginalmente per alcuni costrutti. Fra i linguaggi predicativi ve ne sono nei quali formulare teorie degli insiemi, altri nei quali formulare teorie sugli spazi geometrici, ecc.. Non sempre in un linguaggio predicativo sono disponibili, col loro significato insiemistico, i simboli e. Vi saranno però comunque, in aggiunta ai simboli che denotano funzioni, dei simboli predicativi. Invece di scrivere che cleopatra donne potremo scrivere, quindi, che donna( cleopatra ), ove donna è un simbolo predicativo ad un argomento. Invece di scrivere che amici( martino ) amici( gianna ) scriveremo che x ( amico( x, martino ) amico( x, gianna ) ), dove amico è un simbolo predicativo a due argomenti. Perfino il simbolo = di uguaglianza può talvolta mancare, ma anche in tal caso, con diversi accorgimenti, si arriva ad esprimere ciò che si vuole. L universo su cui, nel calcolo predicativo, si immaginano effettuate le iterazioni denotate da,, non è necessariamente, come in teoria degli insiemi, la classe costituita da tutti gli insiemi. È una generica classe, che si suppone non vuota solamente per ragioni tecniche. In un linguaggio non specificatamente rivolto alla teoria degli insiemi, potremmo esprimere 1. 4. cosí: 1. x ( amico( x, martino ) amico( x, gianna ) ) amico( pietro, gianna ) amico( pietro, martino ); 2. x ( donna( x ) immortale( x ) ) donna( cleopatra ) immortale( cleopatra ); 3. x ( uomo( x ) bipede( x ) ) x ( y ( uomo( y ) x = chioma( y ) ) z ( bipede( z ) x = chioma( z ) ) ); 4. x ( uomo( x ) filosofo( x ) ) uomo( socrate ) socrate = marito( santippe ) filosofo( marito( santippe ) ). Presenteremo ora la sintassi dei linguaggi predicativi, e, piú oltre, la sua semantica (della quale non si sono dati fino ad ora che alcuni cenni). Dopodiché entreremo nello specifico delle problematiche logiche: analisi dei concetti di formalismo, teoria, sistema deduttivo; questioni metamatematiche connesse con la formalizzazione di teorie; risultati limitativi della logica e risultati di decidibilità di teorie; ecc.. I linguaggi della logica predicativa, nella loro varietà, ci renderanno facile affiancare alla discussione di queste problematiche numerosi esempi che riguarderanno prevalentemente ambiti matematici di natura piuttosto astratta. Una volta constatata la gran versatilità e ubiquitarietà della logica, non ci vorrà molto a convincersi della molteplicità dei suoi impieghi pratici anche in settori lontani dall astrazione matematica. Esercizio 1 Provate a esprimere nel simbolismo predicativo le seguenti proposizioni: 4

Tutti i corvi sono neri e col becco giallo. Esistono galline dalle uova d oro. Chi semina vento raccoglie tempesta. 1 Linguaggi per la logica predicativa del prim ordine 1.1 Sintassi di un linguaggio predicativo Servendoci della notazione di Backus-Naur estesa, possiamo specificare la sintassi di un linguaggio predicativo del prim ordine come segue: 2 formula ::= formula atomica connettivo nullario connettivo unario formula ( formula connettivo binario formula ) quantificatore formula ( formula ) formula atomica ::= Simbolo di predicato argomenti argomenti ::= ( termine altri termini ) altri termini ::= ɛ, termine altri termini termine ::= VAR Costante Simbolo di funzione argomenti quantificatore ::= VAR VAR connettivo nullario ::= f v connettivo unario ::= connettivo binario ::= + > (ove con ɛ viene denotata la parola vuota). Il simbolo iniziale di questa grammatica è formula, ma anche la categoria sintattica descritta da termine rivestirà un ruolo essenziale. Le novità piú rilevanti, rispetto al linguaggio della logica proposizionale, sono: 2 La dicitura del prim ordine verrà generalmente omessa, senza fraintendimenti possibili, dato che in questo corso non andremo al di là del primo ordine. 5

I quantificatori, classificabili in: universali, quelli della forma x; esistenziali, quelli della forma x. Senza ancora affrontare la semantica di termini e formule, conviene comunque indicare come vada letta una formula della forma xϕ o della forma xϕ. Rispettivamente: per ogni x si ha che ϕ, e c è almeno un x tale che ϕ. Le variabili, che formano la categoria su indicata con VAR. Non abbiamo specificato questa categoria, poiché la vediamo come una categoria lessicale piuttosto che sintattica. È importante, comunque la si determini, far in modo che questa categoria circoscriva una scorta infinita di identificatori. Assumeremo che questi identificatori siano disposti in un ordine simile a quello dei numeri naturali tanto che si possa, per esempio, parlare della prima variabile che non figura in una formula. Quanto a Costante, Simbolo di funzione, Simbolo di predicato, è proprio precisando queste tre categorie che si stabilisce con esattezza il linguaggio: non stiamo infatti considerando un singolo linguaggio, ma uno schema di linguaggio che andrà adattato caso per caso alle esigenze di formalizzazione di una specifica teoria. Il linguaggio che ha C, F, P (insiemi fra loro disgiunti) come insieme delle costanti, dei simboli di funzione e dei simboli di predicato, verrà indicato nel seguito come L(C, F, P). Nel determinare queste tre categorie di simboli, per ciascun simbolo di funzione e di predicato si dovrà indicare un intero positivo detto il suo grado (o la sua arità ). Tramite il grado viene stabilito, per ciascun simbolo, il numero dei termini in qualsiasi lista di argomenti preceduta da quel simbolo. La mancata concordanza fra lunghezza di una lista di argomenti e grado del simbolo che la regge è un errore di semantica statica piuttosto che di sintassi: questa è una ragione per cui la faccenda del grado non traspare dalle regole di produzione della nostra grammatica. Non è raro che i simboli di costante e di funzione siano del tutto assenti, ma qualunque linguaggio predicativo deve comprendere almeno un simbolo di predicato. Talvolta c è un solo simbolo di predicato (comune il caso che si tratti del simbolo = di uguaglianza). Talvolta la scorta dei simboli di predicato e funzione è infinita, e cosí pure quella delle costanti. La sintassi della logica predicativa non è uno standard, e la versione che ne abbiamo fornita potrà differire in qualche particolare ci auguriamo inessenziale da quella che potete trovare in comuni manuali di logica. Per fare un caso, la parentesizzazione da noi prevista, è sovrabbondante. Ciò che conta è, comunque, che essa sia adeguata a rendere unica la lettura delle formule: ed in effetti, la nostra grammatica non ha il difetto di essere ambigua. Esercizio 2 Individuate tutti i terminali nella grammatica delle formule esposta nella sez. 1.1. 1.2 Convenzioni sul lessico per la logica predicativa Se la sintassi della logica predicativa non è uno standard, la situazione del lessico è ancora piú confusa, dato che le convenzioni adottate da un autore sono spesso antitetiche a quelle di un altro. Vi sono, per esempio, due linguaggi di programmazione fortemente improntati alla logica del prim ordine (non di tutta, ma di una parte significativamente estesa): Prolog e Gödel. In Prolog si pattuisce che gli identificatori di variabile inizino con lettera maiuscola e quelli delle costanti con lettera minuscola; in Gödel queste convenzioni sono invertite. 6

Scegliamo qui come riferimento Prolog, semplicemente per prendere una posizione (dalla quale, prima o poi, derogare). Tradizionalmente in Prolog i simboli di predicato e di funzione hanno la stessa struttura, e vengono detti funtori; le costanti vengono identificate sia al modo dei funtori, che tramite numerali (cioè tramite sequenze di cifre decimali): VAR ::= maiusc seqalfnum FUNTORE ::= minusc seqalfnum COSTANTE ::= minusc seqalfnum NUMERALE NUMERALE ::= cifrapos seqcif seqalfnum ::= ɛ cifra seqalfnum minusc seqalfnum maiusc seqalfnum seqcif ::= ɛ cifra seqcif cifra ::= 0 cifrapos cifrapos ::= 1 2 9 minusc ::= a b c z maiusc ::= A B C Z Simboli desunti dal matematico (per esempio, π come costanti, +,, come simboli di funzione,, come simboli di predicato, ecc.) verranno aggiunti a questo lessico quando se ne presenterà l occasione, e non ci soffermeremo a sottolineare ogni circostanza dl genere. Per le variabili impiegheremo spesso le lettere x, y, z, u, v, w, l, e di quando in quando anche altre lettere minuscole (non grassettate), eventualmente con pedici. Questa non è una vera difformità dalle norme or ora stabilite, ma una prassi che si giustifica con il fatto che le variabili dei quantificatori possono essere ridenominate a piacere giacché sono variabili mute, alla stessa stregua degli indici di sommatorie, delle variabili di integrazione, ecc.. Ciò risulterà evidente dalla semantica dei linguaggi predicativi (vedi sez. 2), e ci induce sin d ora a impiegare al posto delle variabili delle meta-variabili, liberamente sostituibili con variabili autentiche. Qualcuno impiega parentesi quadre e graffe in sostituzione delle tonde quando ciò può facilitare la lettura; noi non ci regoleremo cosí, ma talvolta ingrandiremo coppie di parentesi corrispondenti, con lo stesso obiettivo di chiarezza. 1.3 Arricchimenti dei linguaggi predicativi Per facilitare l impiego dei linguaggi predicativi del prim ordine, si usa arricchirli o renderne piú agile o flessibile la sintassi. Le modifiche sono numerose, e non comportano un aumento del potere espressivo: solo una maggior concisione o, quanto meno, un miglioramento della leggibilità delle formule. Come illustreremo con qualche esempio, si tratta di convenzioni abbreviative che potrebbero essere trattate per mezzo di un preprocessore. Per descrivere la sintassi di un linguaggio-oggetto (nel caso sotto esame, quello logica predicativa), è comune l impiego di un metalinguaggio formale, come quello delle grammatiche che abbiamo utilizzato sopra. Anche per l introduzione di notazioni abbreviative, esistono strumenti formali, ma qui ci contentiamo di sbrigative convenzioni: Le lettere x, y, z, u, v, w indicheranno variabili; le lettere c, b, a, k, costanti; le lettere f, g, h, simboli di funzione; le lettere P, Q, R, S, simboli di predicato; le lettere greche ϕ, ψ, χ, α, β, ϑ indicheranno formule; le lettere τ, t, d, s, termini. (Pedici ammessi in ciascuno dei sei casi). 7

Tramite i simboli definitorî = Def e Def, a due argomenti, verrà spiegato come andrebbe riscritto il definiendum (l argomento di sinistra un espressione che non fa parte del linguaggio originario) in base al definiens (l argomento di destra appartenente, o già riconducibile, al linguaggio originario). Una delle piú diffuse convenzioni di comodo riguarda i simboli (di predicato o di funzione) aventi grado 2, per i quali si ricorre sovente alla notazione infissa: vale a dire, invece di anteporre il simbolo alla lista dei suoi due argomenti, lo si inserisce fra i due, come si fa con i connettivi proposizionali binari. Importantissimo fra i simboli che usualmente vengono adoperati come infissi è quello, =, di uguaglianza, che a differenza degli altri simboli di predicato avrà un interpretazione prestabilita. Importanti anche il simbolo di appartenenza, utilizzato nella formalizzazione di teorie di insiemi e classi; estremamente comune l operatore di confronto, < (che può presentarsi in varie fogge:,, ; o talvolta capovolto: >,,, ; combinato con l uguaglianza:,, ; ecc.). Altre cose [...DA SISTEMARE...]: Possibilità di evitare parentesi attorno alle liste di argomenti o, procedendo in senso opposto, di evitare attribuzioni di grado. Impiego pre-/post-fisso di simboli di funzione e di predicato aventi grado 1 (simboli utilizzati a questo modo, o come infissi, verranno chiamati anche operatori, oppure relatori, a seconda che rappresentino funzioni o predicati). Possibilità di stabilire regole di priorità, estendenti quelle sui connettivi (i pre-/post-fissi hanno di solito precedenza sugli infissi, gli operatori sui relatori, i relatori sui connettivi). Assorbimento del nel relatore: s t, s / t, ecc. Quantificatori aggiuntivi (ristretti ecc.):! x ϕ, x < τ ϕ, x τ ϕ, x τ ϕ, ecc.. (Da leggersi, rispettivamente: esiste uno ed un solo x tale che ϕ, per ogni x che sia minore di τ si ha che ϕ, per ogni x appartenente a τ si ha che ϕ, c è almeno un x appartenente a τ tale che ϕ ). Descrittori di Peano/Russell e di Hilbert: ε x ϕ, ι x ϕ. (Da leggersi, rispettivamente: un x tale che ϕ, lo x tale che ϕ ). 3 A livello sintattico, si tratta semplicemente di creare un interdipendenza ricorsiva fra termini e formule, aggiungendo alle alternative nella produzione dei termini queste due: termine ::= ε VAR formula ι VAR formula Lettere proposizionali, che possono essere viste alla stregua di simboli predicativi di grado 0 (il linguaggio deve comunque comprendere almeno un simbolo predicativo di grado > 0). Aggiunte specifiche: [τ 1,..., τ n τ], {τ 1,..., τ n }, n, ecc., per designare rispettivamente liste, insiemi finiti, numeri naturali, ecc.. 3 Tradizionalmente lo ι del descrittore di Peano viene piú spesso scritto capovolto, cosí: ι. 8

1.3.1 Estensioni sintattiche come regole di riscrittura In molti casi gli arricchimenti sintattici che facilitano l impiego della logica del prim ordine possono essere descritti tramite semplici regole di riscrittura, quali: 4 s / t Def (s, t) s t Def s = t ϕ Def f ϕ! x ϕ Def y x ( ϕ x = y ) x τ ϕ Def x ( x τ ϕ ) x τ ϕ Def x ( x τ ϕ ) x τ ϕ Def x ( x < τ x = τ ϕ ) [τ 1,..., τ n τ] = Def ( τ 1, ( τ 2,..., ( τ n, τ ) ) ) {τ 1,..., τ n } = Def con( τ n, con( τ n-1,..., con( τ 1, ) ) ) n = Def 0 }{{} n volte ι x ϕ = Def ε y x ( ϕ x = y ) Altre volte, la tecnica di eliminazione di un costrutto secondario non si presta a essere descritta cosí semplicemente: un caso è quello del descrittore ε xϕ, sul quale preferiamo sorvolare. In un ottica rigorosamente occamista, non solo potremmo liquidare come forme di abbreviazione tutti i connettivi proposizionali salvo quelli che formano una base adeguata (vedi dispensa Logica proposizionale a due valori di verità ), ma anche i quantificatori esistenziali. Per ridursi a soli universali basterebbe, in effetti, porre: x ϕ Def x ϕ (all inverso, potremmo eliminare tutti i quantificatori universali e ridurci a soli esistenziali). Esercizio 3 Non volendo considerare le lettere proposizionali come simboli predicativi di grado 0, potremmo considerare anche il loro impiego come ricorso ad una notazione abbreviativa? 1.4 Prime riflessioni sul metalinguaggio per i linguaggi predicativi Abitualmente le considerazioni sul linguaggio-oggetto vengono svolte come già abbiamo iniziato a fare in italiano, con l ausilio di qualche notazione e convenzione simbolica: non intendiamo metterci sulla strada di una completa formalizzazione del metalinguaggio, tanto piú che il compito sarebbe arduo per l eterogeneità degli scopi a cui serve il metalinguaggio. Ci sono degli inconvenienti, nel nostro modo sbrigativo di affrontare le questioni metalinguistiche. Spesso sacrifichiamo il rigore per non eccedere in precisazioni pignole, e questo può lasciare perplesso il lettore piú attento. Per esempio, nel porre la definizione! x ϕ Def y x ( ϕ x = y ) (vedi sopra), rigore avrebbe voluto che precisassimo come va scelta la y: per esempio dicendo che si tratta della prima variabile che non compare in ϕ. Alcuni deplorano che nel metalinguaggio le entità linguistiche del linguaggio-oggetto vengano adoperate come nomi di sé stesse. Quando, in un discorso comune, ci si riferisce a entità del mondo fisico, ci si guarda bene dall inserire tali entità direttamente dentro le proposizioni che 4 Per chiarezza, stiamo introducendo le formule abbreviative mediante un simbolo, Def, diverso da quello, = Def, utilizzato per introdurre termini abbreviativi. 9

le riguardano: invece, si adoperano nomi delle cose (o locuzioni nominali) al posto delle cose stesse. Non si dovrebbe procedere in modo analogo quando, nel metalinguaggio, si tratta di entità linguistiche del linguaggio-oggetto? non dovremmo inserire opportuni nomi (o espressioni nominali) al posto di termini e formule nominate? ma quale nome si può attribuire a una formula? Per avere un nome di un entità linguistica, può bastare racchiuderla fra virgolette. Ad esempio: pera è il nome della parola pera, la quale denota il frutto pera, ecc.. L impiego sistematico di virgolette attorno a termini, formule, variabili, ecc. è, però, intollerabilmente pesante: quasi tutti lo evitano, se non da subito, almeno dopo un po. È importante, comunque, che a nessuno sfugga la distinzione fra il linguaggio-oggetto ed il metalinguaggio: quest ultimo offre, in un certo senso, a chi ragiona sul linguaggio-oggetto, un punto di osservazione sopraelevato rispetto ad esso. Qualcuno si sarà forse meravigliato del frequente uso che faccio delle virgolette. Esse mi servono per distinguere i casi in cui parlo del segno stesso da quelli in cui parlo di ciò che esso denota. Questo modo di procedere può sembrare estremamente pedante, ma io lo considero necessario. È straordinario come un modo inesatto di parlare e di scrivere, usato in origine forse soltanto per comodità, possa giungere a fuorviare il pensiero una volta che si cessi di tenerlo presente. Cosí, è avvenuto che i numerali fossero confusi con i numeri, i nomi, cioè, con ciò che essi denominano, ciò che è semplicemente ausiliario con l oggetto proprio dell aritmetica. (Frege) Alcune nozioni metalinguistiche importanti: Distinzione fra un simbolo (che è semplicemente preso dall alfabeto dei terminali di L(C, F, P)) e le sue occorrenze entro un espressione (ben formata, cioè un termine o una formula). [...... DA COMPLETARE...... ] Insieme varr( ) delle variabili libere di un espressione. Può venir definito tramite una ricorsione strutturale, come segue: varr(x) = Def {x} varr(c) = Def varr(g( t 0,.. }., t n )) = Def varr(t 0 ) varr(t n ) varr(ε x ϕ) = varr(ι x ϕ) Def varr(ϕ) \ {x} } varr(v) = varr(f) Def varr(q( t 0,. }.., t n )) = Def varr(t 0 ) varr(t n ) varr( ϕ) = varr(( ϕ )) Def varr(ϕ) varr(( ϕ ψ } )) = Def varr(ϕ) varr(ψ) varr( x ϕ) = varr( x ϕ) Def varr(ϕ) \ {x} (Qui sta per un qualsiasi connettivo proposizionale binario). Definizioni: Un termine τ tale che varr(τ) = si chiama un termine di base ( ground term in inglese). Una formula α tale che varr(α) = si chiama un enunciato ( sentence in inglese). 10

Si chiama campo d azione di un occorrenza di quantificatore ( x od x) in una formula ϕ: l intera sottoformula (rispettivamente della forma x ψ od x ψ) che inizia con tale occorrenza ed è formata di simboli consecutivi di ϕ. Un occorrenza di variabile x all interno di una formula ϕ si dirà legata, rispettivam. libera: se essa figura, rispettivam. non figura, nel campo d azione di un quantificatore, cioè entro qualche sottoformula di ϕ della forma x ψ o x ψ. Definizioni. Chiusura esistenziale ϕ, chiusura universale ϕ di una formula ϕ: si tratta dell enunciato x 1 x n ( ϕ ), rispettivam. x 1 x n ( ϕ ), che si ottiene anteponendo alla formula quantificatori relativi alle variabili x 1,..., x n tali che varr(ϕ) = {x 1,..., x n }, disposte secondo il loro ordine naturale. (oppure ϕ x 1 x n t 1 t n ) per indi- Sostituzioni uniformi: Utilizzeremo la notazione ϕ x 1,...,x n t 1,...,t n care la formula che risulta da ϕ per rimpiazzo simultaneo 5 di tutte le occorrenze libere della variabile x 1 con il termine t 1, di tutte le occorrenze libere della variabile x 2 con il termine t 2, di tutte le occorrenze libere della variabile x n con il termine t n. Confusione di variabili: La sostituzione ϕ x 1,...,x n t 1,...,t n è da evitare quando in ϕ vi siano occorrenze libere di una x i che ricadano nel campo d azione di un quantificatore, y oppure y, con y appartenente a varr(t i ). Effettuando il rimpiazzo, in un caso simile, si va incontro alla cosiddetta confusione. Intuitivamente parlando, la confusione ha origine dal fatto che una variabile che s intendeva dovesse essere libera viene invece catturata da un quantificatore. Ad esempio, le sostituzioni ( y x y) x y, ( y x y) x g( y ) ed (u w u w u )u w w portano ad y y y, ad y g( y ) y ed a w w w ( w w w w ( w w ) ), tre casi di confusione. Ridenominazione di variabili: Consideriamo un insieme finito, ϕ, ψ 1,..., ψ p, τ 1,..., τ q, di formule e termini. Supponiamo che varr(ϕ) = {x 1,..., x m }. Poiché vi sono, nel linguaggio infinite variabili, sono certo reperibili delle distinte variabili y 1,..., y m che non compaiano (libere né legate) in alcuna delle espressioni ϕ, ψ 1,..., ψ p, τ 1,..., τ q. La formula che risulta da ϕ per rimpiazzo simultaneo di tutte le occorrenze legate (!) di ciascuna variabile x i con la corrispondente y i, si dice ottenuta per ridenominazione di ϕ via da ψ 1,..., ψ p, τ 1,..., τ q. Per evitare confusione di variabili, prima di effettuare una sostituzione ϕ x 1 x n t 1 t n possiamo sempre ridenominare ϕ via da t 1,..., t n. I tre casi di confusione visti poco fa, per esempio, si evitano ridenominando preliminarmente: y x y come z x z, ed u w u w u come u y u y u. Esercizio 4 Per ciascuna delle seguenti formule a. d., indicate (1) se la formula sia un enunciato, o, in caso contrario, (2) quali variabili vi compaiano libere. 5 Qui, ovviamente, si deve assumere che le variabili x i siano distinte una dall altra. I t j non sono tenuti a essere distinti né fra loro né dalle x i. Non importa richiedere che le x i compaiano effettivamente in ϕ. 11

Ecco le formule: a. P ( x ) x Q( x, y ) b. x ( P ( x ) Q( x, y ) ) c. x y ( P ( x ) Q( x, y ) ) d. x y z ( Q( x, x ) Q( x, y ) ) 1.5 Appendice: Sottolinguaggi clausolari C è un frammento della logica predicativa che ha acquisito tanto rilievo nel campo della logica computazionale perché valga la pena di descriverne il linguaggio con una grammatica a sé stante. Il costrutto principale del linguaggio sotto-descritto è la clausola di Horn: clausola di Horn ::= asserzione regola domanda asserzione ::= formula atomica regola ::= formula atomica corpo di clausola domanda ::= goal goal ::= testa di goal corpo di goal testa di goal ::= ɛ f corpo di goal ::= corpo di clausola v corpo di clausola ::= formula atomica formula atomica corpo di clausola formula atomica ::= Simbolo di predicato argomenti Lettera proposizionale argomenti ::= ( termine altri termini ) altri termini ::= ɛ, termine altri termini termine ::= VAR Costante Simbolo di funzione argomenti Stiamo adottando da subito, in questa porzione di linguaggio predicativo del prim ordine, notazioni come ϕ e come le lettere proposizionali che, sino ad ora, avevamo considerato forme di abbreviazione. Qualcuno si spinge oltre, ed ammette pure che un asserzione (o multiasserzione, vedi sotto) ϕ venga scritta nella forma ϕ, sottintendendo un v alla destra di. La sintassi che abbiamo fornito ora, con la semantica mutuata da quella della logica predicativa (vedi sotto, sez. 2), costituisce il nucleo essenziale di un linguaggio di programmazione: Prolog, linguaggio spesso sbandierato come emblema della concezione logico-dichiarativa della programmazione. In Prolog il relatore di uguaglianza non può figurare in un asserzione né 12