Logica matematica/Calcolo dei predicati
Il linguaggio della logica proposizionale ha un potere espressivo molto limitato. Infatti esso esprime, tramite un enunciato, solo le connessioni fra lettere proposizionali che a loro volta denotano, o rappresentano, fatti del mondo reale. Gli enunciati proposizionali sono indipendenti dalle particolari caratteristiche degli oggetti e individui di cui tali fatti trattano.
I linguaggi predicativi, o del primo ordine, benché anch'essi non adeguati per tutte le esigenze di rappresentazione del mondo reale, sono molto più espressivi del linguaggio proposizionale. Tramite un linguaggio del primo ordine si ha infatti la possibilità di esprimere proprietà e operazioni relative a individui e, quindi, si ha la possibilità di predicare (di qui il nome logica dei predicati) delle caratteristiche di oggetti e individui e, tramite l'uso di variabili e quantificatori, si può astrarre una caratteristica, o un'operazione, da un individuo a una classe di individui. Si ha infatti, nel linguaggio formale, ciò che nel linguaggio naturale è espresso da "un", "alcuni" e "tutti", quantificatori che permettono di indicare in modo generico oggetti che godono di proprietà.
Analogamente al caso proposizionale, insieme al linguaggio introduciamo una semantica che permette di interpretare i simboli del linguaggio. La semantica del primo ordine ci permetterà di capirne meglio la maggiore espressività rispetto al calcolo proposizionale.
Sintassi
[modifica | modifica sorgente]Alfabeto
[modifica | modifica sorgente]Un linguaggio predicativo o linguaggio del primo ordine è costruito sui seguenti insiemi di simboli.
Simboli logici
[modifica | modifica sorgente]- I connettivi proposizionali: e ;
- Le costanti proposizionali e ;
- Il simbolo di uguaglianza , eventualmente assente;
- I simboli separatori , e ;
- Un'infinità numerabile di simboli di variabile individuale ;
- Il simbolo di quantificazione universale ;
- Il simbolo di quantificazione esistenziale .
Parametri
[modifica | modifica sorgente]- Un insieme finito o numerabile di simboli di predicato, ognuno dei quali ha associato un intero positivo , detto arietà. Un predicato di arietà è detto -ario;
- Un insieme finito o numerabile di simboli di funzione, ognuno dei quali ha associato un intero positivo , detto arietà. Una funzione di arietà è detta -aria;
- Un insieme finito o numerabile di simboli di costante.
Convenzioni
[modifica | modifica sorgente]Per le variabili, piuttosto che usare pedici, preferiamo usare le ultime lettere dell'alfabeto minuscole: . Inoltre, indicheremo i simboli di predicato con , oppure con parole con iniziale maiuscola. Indicheremo i simboli di funzione con , oppure con parole con iniziale minuscola. Ometteremo il pedice che denota l'arietà quando questa sarà chiara dal contesto. Infine, indicheremo le costanti con le lettere minuscole della prima parte dell'alfabeto, oppure con nomi con iniziale minuscola.
I simboli di predicato a un argomento, cioè di arietà 1, vengono anche detti monadici.
Alcuni linguaggi del primo ordine includono tra i simboli logici il simbolo di uguaglianza, indicata con . Il simbolo di uguaglianza è un simbolo di predicato binario, che si distingue dagli altri simboli di predicato, in quanto è un simbolo logico e ha un'interpretazione prefissata: qualunque sia il linguaggio del primo ordine, e qualunque sia l'interpretazione che se ne dà, il simbolo di uguaglianza deve essere interpretato come l'identità sul dominio d'interpretazione.
Osservazioni
[modifica | modifica sorgente]Come nel linguaggio proposizionale, altri connettivi possono essere definiti in termini di quelli presentati sopra. L'insieme dei connettivi che abbiamo introdotto non è minimale; per esempio, il simbolo di quantificazione universale può essere definito in termini di quello esistenziale: .
Osserviamo che i simboli logici sono formati dagli elementi considerati immutabili, costituenti ogni linguaggio del primo ordine. Gli altri simboli, cioè i simboli di predicato, di costante e di funzione, sono considerati parametri, poiché possono essere diversi, a seconda del linguaggio. L'insieme dei parametri viene spesso indicato anche col nome di "segnatura" del linguaggio, in quanto i simboli della segnatura contraddistinguono il linguaggio stesso.
Si osservi che gli insiemi dei simboli di costante e funzione possono essere vuoti; non sono quindi essenziali nella definizione di una logica del primo ordine. Viceversa, l'insieme dei simboli di predicato (nel caso in cui il simbolo di uguaglianza sia assente) non deve essere vuoto. L'insieme dei simboli di variabile è infinito: vogliamo infatti avere sempre a disposizione variabili "fresche" da utilizzare nelle formule.
La ragione per la denominazione "primo ordine" sarà chiarita in seguito: vedremo infatti che si può solo quantificare su individui (simboli di variabili), non su insiemi di individui (simboli di funzioni e predicato).
Formule ben formate
[modifica | modifica sorgente]Definiamo ora le espressioni legali del linguaggio , cioè le formule. Esse hanno quelle caratteristiche importanti che abbiamo già visto per il linguaggio proposizionale: si possono comporre, dando luogo a nuove espressioni legali, e sono un insieme induttivo. Nel caso di un linguaggio del primo ordine, gli elementi dell'insieme si compongono utilizzando i simboli logici e i parametri del linguaggio.
Per definire le formule, dobbiamo prima definire i termini e le formule atomiche o atomi.
Termini
[modifica | modifica sorgente]L'insieme dei termini di è l'insieme induttivo definito come segue:
- Ogni simbolo di costante e di variabile è un termine;
- Se sono termini e è un simbolo di funzione -aria, è un termine (detto termine funzionale).
Atomi
[modifica | modifica sorgente]L'insieme degli atomi o formule atomiche è definito induttivamente come segue:
- e sono atomi;
- Se e sono termini, allora è un atomo;
- Se sono termini e è un simbolo di predicato -ario, allora è un atomo.
L'insieme delle formule ben formate di è l'insieme delle espressioni che possono essere costruite, a partire dai termini e dagli atomi, usando opportunamente i connettivi e i quantificatori. In genere, una formula ben formata è detta semplicemente formula, o anche enunciato.
Formule
[modifica | modifica sorgente]L'insieme delle formule di è l'insieme induttivo definito come segue:
- Ogni atomo è una formula;
- Se è una formula, è una formula;
- Se è un connettivo binario, e due formule, è una formula;
- Se è una formula, una variabile, e sono formule.
Si noti che, per definizione, i quantificatori ed possono solo essere applicati a simboli di variabile individuale e non, per esempio, a simboli di funzione o predicato. Questo spiega il nome di "logica del primo ordine", per contrasto con le "logiche di ordine superiore", in cui si può quantificare non solo su individui, ma su insiemi di individui.
Denotiamo, nel seguito, le formule di sia con le lettere dell'alfabeto greco , sia con lettere maiuscole della prima parte dell'alfabeto . Insiemi di formule verranno indicati con lettere greche maiuscole , o anche con alcune lettere maiuscole, tipo .
La precedenza tra gli operatori logici è stabilita come segue:
e, come nel caso proposizionale, si assume che tutti gli operatori associno a destra.
Inoltre, quando uno stesso simbolo di quantificazione si ripete, invece di scrivere possiamo scrivere ; analogamente quando si ripete il quantificatore esistenziale.
Variabili libere e legate
[modifica | modifica sorgente]In una formula atomica, per definizione, non occorrono quantificatori, ma possono comparire variabili.
Consideriamo le seguenti formule non atomiche di :
Nella formula 1 la variabile è quantificata. Possiamo parafrasare l'enunciato come segue: "Ogni uomo è vivo". Qualunque sia il discorso in cui esprimiamo questa frase, essa può essere vera o falsa, comunque è dotata di senso.
Nella formula 2, invece, la variabile occorre libera, poiché non ci sono quantificatori che la legano. Possiamo parafrasare la formula 2 come "un uomo vivo", ma non sappiamo di quale uomo si stia parlando. Per dare un senso alla formula 2, essa dev'essere inserita in un discorso più ampio che, eventualmente, ci permetta di individuare di quale uomo si tratti, o che dica che la proprietà è vera per tutti gli uomini, o che ne esiste qualcuno. Una variabile libera denota un individuo rispetto a un contesto. In un certo senso, in italiano, come in un linguaggio del primo ordine, una frase con variabili libere si può considerare come una parte costitutiva di una frase più ampia.
Veniamo ora alla definizione di variabili libere. Per fare ciò, definiamo prima l'insieme delle variabili che occorrono in un termine e in una formula atomica.
Insieme delle variabili di un termine
[modifica | modifica sorgente]L'insieme delle variabili di un termine è definito come segue:
- , se è una variabile;
- , se è una costante;
Un termine si dice chiuso, o anche ground, se non contiene variabili.
Insieme delle variabili di un atomo
[modifica | modifica sorgente]L'insieme delle variabili in una formula atomica è:
Un atomo si dice chiuso, o anche ground, se non contiene variabili.
Ovviamente, le variabili che occorrono nei termini e negli atomi possono solo essere libere, in quanto gli unici operatori che "legano" variabili sono i quantificatori.
Prima di fornire una definizione di occorrenza libera o legata di variabili in una formula, definiamo il campo d'azione di un quantificatore.
Campo d'azione di un quantificatore
[modifica | modifica sorgente]Nella formula , dove è un quantificatore (cioè ), il campo d'azione del quantificatore è .
Un quantificatore "lega" le (eventuali) occorrenze libere della variabile quantificata nel campo d'azione . Si noti che la nozione di campo d'azione è coerente con la convenzione che stabilisce le precedenze dei connettivi.
È chiaro che qualunque lettura diversa da quella convenzionale va imposta tramite un appropriato uso delle parentesi.
Definiamo ora cosa significa per una variabile occorrere libera in una formula.
Occorrenza libera di una variabile
[modifica | modifica sorgente]L'occorrenza libera di una variabile in una formula è definita induttivamente sulla struttura della formula, come segue:
- Se è un atomo, occorre libera in se occorre in ;
- occorre libera in se occorre libera in ;
- occorre libera in se occorre libera in o occorre libera in ;
- occorre libera in se occorre libera in e .
Si noti quindi che l'insieme delle variabili libere di è:
.
Occorrenza legata di una variabile
[modifica | modifica sorgente]Un'occorrenza di una variabile , in una formula, si dice vincolata o legata se non è libera.
Quindi, le occorrenze legate di una variabile in una formula sono quella dopo il quantificatore e le eventuali occorrenze libere di nella formula ; queste ultime sono dette occorrenze proprie.
Nel seguito, chiameremo occorrenze di una variabile legata solo le occorrenze proprie. Osserviamo che una variabile può occorrere sia libera che legata in una stessa formula.
Enunciato o formula chiusa
[modifica | modifica sorgente]Un enunciato, detto altrimenti formula chiusa, è una formula senza occorrenze libere di variabili.
Interpretazioni e modelli
[modifica | modifica sorgente]Nella logica proposizionale abbiamo introdotto delle funzioni di assegnazione che associano un valore di verità ai simboli proposizionali e quindi, ricorsivamente, agli enunciati. La nozione di interpretazione, nella logica proposizionale, ci serve per sapere se la rappresentazione della realtà, che abbiamo dato per mezzo degli enunciati, è vera o falsa. Essa autorizza solo una rappresentazione superficiale, in cui gli oggetti del linguaggio hanno un valore di verità, ma non è possibile determinare una corrispondenza tra oggetti sintattici e oggetti del "mondo reale". Nella logica del primo ordine abbiamo invece la possibilità di interpretare i simboli del linguaggio per mezzo di strutture. Una struttura del primo ordine è un oggetto matematico che ci permette di tradurre formule, espresse nel linguaggio del primo ordine, in espressioni che hanno un significato specifico relativamente alla struttura, cioè la realtà che stiamo rappresentando. Per questo motivo, una struttura è un oggetto formale più complesso di un'interpretazione proposizionale, poiché è necessario individuare l'insieme degli oggetti su cui si quantifica e cosa denotano gli altri parametri del linguaggio, ovvero i predicati, le costanti e le funzioni.
Strutture
[modifica | modifica sorgente]Intuitivamente, una struttura per deve fornirci una funzione che assegni al quantificatore un insieme non vuoto di elementi. Questa funzione è la funzione di interpretazione e l'insieme non vuoto di elementi è il dominio di tale interpretazione. Più formalmente, diciamo che:
Definizione di struttura
[modifica | modifica sorgente]Una struttura per il linguaggio è una coppia , dove:
- è un insieme non vuoto, chiamato dominio di ;
- è una funzione chiamata interpretazione. associa:
- ad ogni simbolo di costante un elemento ;
- ad ogni simbolo di funzione -aria una funzione ;
- ad ogni simbolo di predicato -ario una relazione -aria .
La definizione ci dice che l'interpretazione assegna un preciso significato a ciascun parametro di . In particolare, il simbolo è un nome per l'elemento , che è un individuo (o un punto) di ; la formula atomica denota la n-upla di individui in , che sono a loro volta denotati da e che stanno fra loro nella relazione ; il termine denota la funzione in sulla n-upla di individui denotati da . Osserviamo che è richiesto che il dominio sia non vuoto e che la funzione sia definita su tutto il dominio. Il dominio è il riferimento per l'interpretazione dei quantificatori: significa "per ogni elemento di "; significa "esiste un elemento di ". Come ovvio, non fornisce un'interpretazione per , e , in quanto sono simboli logici e non parametri del linguaggio, quindi la loro interpretazione è fissata.
Per poter caratterizzare il significato di verità in una struttura è necessario definire come vengono interpretate le variabili.
Assegnazione alle variabili
[modifica | modifica sorgente]Sia l'insieme dei simboli di variabili di un linguaggio del primo ordine . Un'assegnazione, o ambiente, o stato delle variabili in una struttura è una funzione dall'insieme all'insieme :
- .
Per ogni simbolo di variabile , indichiamo il suo valore relativo all'assegnazione con .
Un'assegnazione , quindi, è una maniera di associare un valore alle variabili del linguaggio .
A questo punto, definiamo la nozione di formula vera in una struttura . Il significato intuitivo è che una formula è vera in una struttura sse è vera la sua interpretazione in , ottenuta assegnando un valore alle variabili per mezzo di un'assegnazione .
Per dare una definizione precisa, è necessario prima estendere la funzione di assegnazione ai termini del linguaggio.
Assegnazione sui termini
[modifica | modifica sorgente]Sia una struttura per e sia un'assegnazione. Estendiamo tale assegnazione a un'assegnazione sui termini ricorsivamente come segue:
- per ogni simbolo di variabile , ;
- per ogni simbolo di costante , ;
- se sono termini ed è un simbolo di funzione -aria, allora .
Osserviamo che l'esistenza di un'unica è assicurata dal teorema di ricorsione, sulla base del fatto che l'insieme dei termini è un insieme induttivo generato liberamente.
Un'assegnazione è quindi una maniera di associare un valore ai termini del linguaggio . La definizione appena esposta, infatti, associa un elemento del dominio ad ogni termine del linguaggio. Se il termine è chiuso, ovviamente il suo valore non dipende dall'assegnazione .
A questo punto, definita una funzione che dà significato (cioè un valore) alle variabili, estesa quest'ultima ai termini del linguaggio, rispetto a una struttura in cui vengono interpretati predicati e funzioni, possiamo associare a ogni formula un valore di verità, quindi definire la nozione di soddisfacibilità e validità. Lo facciamo introducendo una funzione di valutazione tra struttura e formula, relativamente ad un'assegnazione . La valutazione di una formula , in una struttura e rispetto ad un'assegnazione , è denotata con:
che, intuitivamente, restituisce sse è vera l'interpretazione di determinata da e in cui una variabile , ovunque occorra libera in , è valutata come .
Definiamo dunque la funzione di valutazione induttivamente come segue:
Funzione di valutazione
[modifica | modifica sorgente]Sia una struttura per , sia un'assegnazione in e sia il sistema di valutazione della logica proposizionale.
- e ;
- se è una formula atomica del tipo , allora ;
- se è una formula atomica del tipo , allora ;
- ;
- , con ;
- , con ;
- , con .
Dove:
Dove l'assegnazione indica la funzione che si comporta esattamente come , eccetto che sulla variabile , dove assume il valore :
Soddisfacibilità delle formule
[modifica | modifica sorgente]La relazione di soddisfacibilità è definita come segue:
- sse
Teoria della dimostrazione
[modifica | modifica sorgente]I tableaux semantici
[modifica | modifica sorgente]Il metodo di risoluzione
[modifica | modifica sorgente]