Linguaggio del primo ordine
Nella logica matematica il linguaggio del primo ordine, detto anche logica dei predicati del primo ordine, è un linguaggio formale che serve per gestire meccanicamente enunciati e ragionamenti che coinvolgono i connettivi logici, le relazioni e i quantificatori "per ogni ..." (∀) ed "esiste..." (∃). L'espressione "del primo ordine" indica che c'è un insieme di riferimento e i quantificatori possano riguardare solo gli elementi di tale insieme e non i sottoinsiemi; ad esempio si può dire "per tutti gli x elementi dell'insieme vale P(x)" ma non si può dire "per tutti i sottoinsiemi A vale P(A)" (le teorie in cui ci sono quantificatori che spaziano sui sottoinsiemi dell'insieme di riferimento sono dette invece del secondo ordine).
Motivazione
modificaNel linguaggio della logica proposizionale è possibile formalizzare argomenti che coinvolgono quantificatori solo nei casi in cui l'insieme in cui si "quantifica" è finito, ad esempio traducendo l'enunciato "per ogni x (x)" come se denotano tutti gli elementi dell'insieme in cui si sta quantificando. Quando si deve quantificare su insiemi con un numero imprecisato di elementi o su insiemi infiniti (come succede se si sta enunciando un teorema aritmetico come "ogni numero intero ammette un'unica fattorizzazione"), la logica proposizionale non è più in grado di servire allo scopo.
L'idea che c'è dietro al concetto di linguaggio del primo ordine è quella di integrare il linguaggio della logica proposizionale con simboli per i quantificatori, variabili su cui si possa "quantificare", e simboli che rappresentino predicati e funzioni, cioè possibili proprietà o relazioni fra le variabili.
Definizione
modificaUn linguaggio del primo ordine è caratterizzato da:
- un alfabeto di simboli (che siano simboli rappresentanti variabili, costanti, predicati, funzioni, connettivi, quantificatori o punteggiatura);
- un insieme di termini (che denotano gli "oggetti" dell'insieme che si sta considerando);
- un insieme di formule ben formate (o più brevemente fbf o semplicemente "formule") cioè un insieme di stringhe composte di simboli dell'alfabeto che vengono considerate sintatticamente corrette.
Alfabeto
modificaL'alfabeto di un linguaggio del primo ordine include:
|
Ciascun simbolo di funzione e di predicato è denotato da un'arità. Essa indica il numero di argomenti o di oggetti ai quali la funzione o il predicato sono applicati. Le costanti possono essere considerati funzioni di arità 0[1].
Un esempio di alfabeto è quello del linguaggio dell'aritmetica del primo ordine che contiene due simboli per funzioni a 2 argomenti, , un simbolo per una relazione a due argomenti, , un simbolo per costante individuale, 0, e un simbolo per funzione a un argomento, , la funzione successore. Una frase sull'alfabeto dell'aritmetica del primo ordine è, ad esempio: .
Termini
modificaL'insieme dei termini del linguaggio è costituito dal minimo insieme di stringhe dell'alfabeto che possano denotare degli oggetti specifici, formalmente si dà la seguente definizione induttiva:
|
Esempi di termini si possono ottenere applicando iterativamente le regole, si hanno quindi termini come
- (regola 1);
- (regola 2);
- se è un simbolo per funzione binaria (regola 3);
- se è un simbolo per funzione unaria (regola 3).
Formule ben formate
modificaL'insieme delle formule ben formate (o brevemente fbf) è formato dalle sequenze di simboli dell'alfabeto con cui si vorrebbero rappresentare enunciati sintatticamente corretti. In modo formale una fbf si definisce nel seguente modo:
Per un linguaggio del primo ordine dato, l'insieme delle formule ben formate è il minimo insieme tale che:
|
Esempi di formule ben formate nel linguaggio dell'aritmetica del primo ordine sono:
Non è invece una fbf
poiché nel linguaggio dell'aritmetica del primo ordine non è un simbolo per predicato bensì un simbolo per funzione.
Sottoformule, variabili libere e formule chiuse
modificaUna sottoformula è una stringa interna a una fbf che è anch'essa una fbf.
Ad esempio nella fbf
le sottoformule sono
In una fbf i quantificatori compaiono necessariamente davanti a sottoformule e sono associati a una variabile (quella che compare immediatamente dopo il simbolo ∀ o ∃).
Una variabile all'interno di una formula si dice libera se non compare in nessuna sottoformula preceduta da un quantificatore associato a tale variabile. Altrimenti si dice vincolata. Nell'esempio precedente è vincolata mentre è libera.
Si chiama formula chiusa una fbf che non contenga variabili libere, formula aperta una che le contiene.
Semantica
modificaFinora sono state date le regole per una "corretta" formazione degli enunciati di un linguaggio del primo ordine (le fbf) senza considerare che cosa questi volessero significare. Per attribuire un significato alle formule del linguaggio occorre indicare:
- un insieme di riferimento (l'universo del discorso) a cui appartengono gli "oggetti" di cui si sta parlando (denotati dalle costanti individuali) e in cui spaziano le variabili dei quantificatori;
- per ogni un insieme di funzioni da in da associare a ciascun simbolo di funzione -aria del linguaggio;
- per ogni un insieme di relazioni -arie su da associare a ciascun simbolo di relazione -arie del linguaggio;
la collezione di questi insiemi, unita all'associazione di ciascun elemento al proprio "simbolo" , individua quello che si chiama un modello per il linguaggio.
Un modello permette di associare univocamente a ogni termine chiuso (cioè senza variabili libere) un elemento dell'universo del discorso e a ogni fbf un valore di verità.
Note
modifica- ^ Asperti e Ciabattoni, p. 100.
Bibliografia
modifica- Andrea Asperti e Agata Ciabattoni, 4. Logica dei predicati, in Logica a informatica, McGraw-Hill, 1997.
Voci correlate
modificaCollegamenti esterni
modifica- (EN) first-order language, su Enciclopedia Britannica, Encyclopædia Britannica, Inc.