Calcolo dei predicati

Il calcolo dei primi predicati di ordine o di calcolo del rapporto , o la logica del primo ordine , o la logica quantificational o semplicemente calcolo dei predicati è una formalizzazione del linguaggio della matematica proposti da Gottlob Frege , tra la fine del XIX °  secolo e l'inizio del XX °  secolo . La logica del primo ordine ha due parti:

A livello sintattico, le lingue del primo ordine si oppongono a due grandi classi linguistiche:

Un predicato è un'espressione linguistica che può essere collegata a uno o più elementi del dominio per formare una frase. Ad esempio, nella frase "Mars is a planet", la frase "is a planet" è un predicato che è collegato al nome (simbolo costante) "Mars" per formare una frase. E nella frase "Giove è maggiore di Marte", la frase "è maggiore di" è un predicato che si riferisce ai due nomi, "Giove" e "Marte", per formare una frase.

In logica matematica, quando un predicato è legato ad un'espressione, si dice che esprime una proprietà (come la proprietà di essere un pianeta), e quando è legato a due o più espressioni, si dice che esprime una relazione ( come il rapporto di essere maggiore). Quindi possiamo ragionare su affermazioni come "Tutto è bello" e "C'è tale che per tutto , è amico di  ", che espresso simbolicamente si traduce nella formula:

e .

Va notato, tuttavia, che la logica del primo ordine non contiene alcuna relazione specifica (come tale relazione di ordine, inclusione o uguaglianza); si tratta infatti solo di studiare il modo in cui si dovrebbe parlare e ragionare con le espressioni del linguaggio matematico.

Le caratteristiche della logica del primo ordine sono:

Il calcolo dei predicati egualitari di primo ordine aggiunge al calcolo dei predicati un simbolo di relazione, uguaglianza, la cui interpretazione è l'asserzione che due elementi sono uguali e che viene assiomatizzato di conseguenza. A seconda del contesto, possiamo semplicemente parlare del calcolo dei predicati per il calcolo dei predicati egualitari.

Si parla di logica del primo ordine contrapposta a logiche di ordine superiore , dove possiamo quantificare anche su predicati o funzioni oltre che su variabili. Inoltre, questo articolo tratta solo della logica del primo ordine classica , ma si noterà che esiste anche una logica del primo ordine intuizionista .

introduzione

Mentre la logica proposizionale si occupa di semplici proposizioni dichiarative, la logica del primo ordine copre inoltre predicati e quantizzazione.

Un predicato prende come input una o più entità del dominio del discorso e come output è Vero o Falso. Considera le due frasi "Socrate è un filosofo" e "Platone è un filosofo". Nella logica proposizionale, queste frasi sono considerate non correlate e possono essere denotate, ad esempio, da variabili come p e q. Il predicato "è un filosofo" appare in entrambe le frasi, la cui struttura comune è "a è un filosofo". La variabile a è istanziata come "Socrate" nella prima frase, ed è istanziata come "Platone" nella seconda frase. Mentre la logica del primo ordine consente l'uso di predicati, come "è un filosofo" in questo esempio, la logica proposizionale no.

Le relazioni tra i predicati possono essere stabilite utilizzando connettori logici. Consideriamo, ad esempio, la formula del primo ordine "se a è un filosofo, allora a è uno studioso". Questa formula è un'affermazione condizionale la cui ipotesi è "a è un filosofo" e la conclusione "a è uno studioso". La verità di questa formula dipende dall'oggetto denotato da a, e dalle interpretazioni dei predicati "è un filosofo" e "è uno studioso".

I quantificatori possono essere applicati alle variabili in una formula. La variabile a della formula precedente può essere quantificata universalmente, ad esempio con la frase di primo ordine "Per tutti a, se a è filosofo, allora a è studioso". Il quantificatore universale "per ciascuno" in questa frase esprime l'idea che l'affermazione "se a è un filosofo, allora a è uno studioso" è valida per tutte le scelte di a.

La negazione della frase "Per tutti a, se a è un filosofo, allora a è uno studioso" è logicamente equivalente alla frase "C'è un tale che a è un filosofo e a non è uno studioso". Il quantificatore esistenziale "esiste" esprime l'idea che l'affermazione "a è un filosofo e a non è uno studioso" è valida per una certa scelta di a.

I predicati "è un filosofo" e "è uno studioso" prendono ciascuno una singola variabile. In generale, i predicati possono accettare più di una variabile. Nella frase di primo ordine "Socrate è il maestro di Platone", il predicato "è il maestro di" prende due variabili.

Storia

Immanuel Kant credeva erroneamente che la logica del suo tempo, quella di Aristotele , fosse una scienza completa e definitivamente compiuta (prefazione alla seconda edizione della critica della ragion pura , 1787). Logici del XIX °  secolo, si rese conto che la teoria di Aristotele dice poco o nulla la logica delle relazioni. Gottlob Frege e molti altri hanno colmato questa lacuna definendo il calcolo dei predicati del primo ordine.

Kurt Gödel dimostrò nel 1929 (nella sua tesi di dottorato) che il calcolo dei predicati è completo, nel senso che possiamo dare un numero finito di principi ( assiomi logici , schemi di assiomi logici e regole di deduzione ) che sono sufficienti per dedurre meccanicamente tutte le leggi logiche (vedi teorema di completezza di Gödel ). Esiste un'equivalenza tra la presentazione semantica e la presentazione sintattica del calcolo dei predicati. Qualsiasi affermazione universalmente valida (cioè vera in qualsiasi modello del linguaggio utilizzato) è un teorema (cioè può essere dedotta da un calcolo, un sistema di regole logiche e assiomi, equivalente a un sistema à la Hilbert , deduzione naturale , o il calcolo di sequenze ) e viceversa. La logica del primo ordine è quindi completa nel senso che vi si risolve il problema della correttezza logica delle dimostrazioni. Tuttavia, continua ad essere una ricerca importante: teoria dei modelli , teoria della prova , meccanizzazione del ragionamento ...

Sintassi

Definizione

Questa sezione fornisce una breve presentazione della sintassi del linguaggio formale del calcolo dei predicati.

Ci diamo per alfabeto:

Ogni simbolo di funzione e ogni simbolo di predicato ha un'arity  : questo è il numero di argomenti o oggetti a cui è applicato. Ad esempio, il predicato per "è blu" ha un'arità uguale a 1 (diciamo che è unario o monadico ), mentre il predicato per "essere amici" ha un'arità pari a due (diciamo che è binario o diadico ).

Ci si potrebbe accontentare di un singolo quantizzatore e due connettori logici e definendo da essi gli altri connettori e il quantizzatore. Ad esempio è definito come .

Le formule per il calcolo dei predicati del primo ordine sono definite per induzione:

Un'affermazione è detta formula in cui tutte le variabili sono collegate da un quantificatore (quindi che non ha variabili libere).

Esempi

Esempio 1

Se ci diamo come costanti i due simboli 0 e 1, per i simboli delle funzioni binarie + e., e per i simboli dei predicati binari i simboli = e <, allora il linguaggio utilizzato può essere interpretato come quello dell'aritmetica. x ed y variabili denota, x + 1 è un termine , 0 + 1 + 1 è un chiuso termine , x < y + 1 è una formula, 0 + 1 + 1 <0 + 1 + 1 + 1 è una formula chiusa.

Esempio 2

Se ci diamo un insieme arbitrario di variabili, una costante indicata con e , un simbolo di funzione binaria indicato con *, un simbolo di funzione unario indicato con -1 , un simbolo di relazione binaria =, allora il linguaggio utilizzato può essere interpretato come quello della teoria dei gruppi . Se x ed y variabili denotano, x * y è un termine, e * e è un termine chiuso, x = y * y è una formula, e = e * e -1 e ( e -1 * e ) -1 = ( e -1 ) -1 sono formule chiuse.

Predicati, formule chiuse, formule raffinate, variabili libere, variabili vincolate

Quando una variabile appartiene a una sottoformula preceduta da un quantificatore, o , si dice che è collegata da questo quantificatore. Se una variabile non è vincolata da alcun quantificatore, è libera.

La distinzione tra variabile libera e variabile vincolata è importante. Una variabile collegata non ha un'identità propria e può essere sostituita da qualsiasi altro nome di variabile che non compare nella formula. Quindi, è identico a ma non a e ancor meno a .

Una formula chiusa è una formula in cui tutte le variabili sono collegate. Un predicato è una formula che contiene una o più variabili libere. Possiamo considerare i predicati come concetti. Quindi, è una formula chiusa del linguaggio dell'aritmetica. è un predicato sulla variabile z .

Una formula si dice gentile quando, da un lato, nessuna variabile ha occorrenze sia libere che collegate e, dall'altro, nessuna variabile collegata è soggetta a più di una mutazione (si dice che un segno è mutante quando conferma l'ipotesi di una variabile collegata).

Semantica

La teoria della verità delle formule del calcolo dei predicati è stata chiamata da Tarski la sua semantica .

Un'interpretazione di un linguaggio del primo ordine in un dominio di interpretazione, chiamato anche un linguaggio di modello , descrive i valori assunti dai costituenti del primo ordine (variabili, simboli di costanti, termini) e le relazioni associate ai predicati. Ad ogni affermazione viene assegnato un valore di verità. Lo studio delle interpretazioni dei linguaggi formali è chiamato semantica formale o teoria dei modelli . Quella che segue è una descrizione della semantica standard o tarskiana per la logica del primo ordine. Esistono altri tipi di semantica, inclusa la semantica del gioco , che non sono descritti in dettaglio in questo articolo.

Modello

Un modello M di un linguaggio del primo ordine è una struttura: è un insieme di elementi (chiamato dominio) in cui diamo significato ai simboli del linguaggio. In genere, se il linguaggio ha un predicato binario per il simbolo di uguaglianza =, la sua interpretazione nella struttura è l'uguaglianza.

Condizioni di verità

Un modello assegna un valore di verità ( vero o falso ) a qualsiasi formula chiusa del linguaggio. Le condizioni di verità sono definite per induzione strutturale sulle formule. Ad esempio, nel modello a fianco:

Formula soddisfacente

Una formula è soddisfacibile se esiste un modello M che la rende vera. Ad esempio è soddisfacente.

Formula valida

Diciamo che una formula F di linguaggio è una formula valida se questa formula è vera in qualsiasi modello di linguaggio, che notiamo . Ad esempio, la formula è una formula valida. In un modello M, se è vero, c'è qualcosa nel dominio che piace a tutti. Ma poi tutti sono amati e quindi la formula è vera nel modello M. Essendo l'implicazione vera in qualsiasi modello M, la formula è valida.

Tuttavia, la formula non è valida. Infatti, in un modello con due elementi { a , b } e dove è interpretato da a ama solo a e b ama solo b, la formula è vera mentre è falsa. L'implicazione è quindi falsa nel modello e la formula non è valida.

conseguenza semantica Se

Diciamo che F è una conseguenza semantica di una teoria T se ogni modello che soddisfa tutte le formule di T soddisfa anche F.

Sistema di detrazione

Nel calcolo dei predicati si possono dedurre formule anche mediante deduzioni derivanti da un calcolo. Una deduzione consiste nel partire da ipotesi, o assiomi, per progredire per tappe logiche fino ad una conclusione secondo regole predefinite. Ci sono diverse possibili presentazioni di questi assiomi e regole.

Ma se la ricerca di sistemi di assiomi minimi mette in luce i principi elementari su cui può fondarsi ogni ragionamento, non mostra la natura di evidenza naturale di principi logici più generali.

Qualunque sia la presentazione affrontata, gli assiomi e le regole possono essere codificati in modo che una macchina possa verificare la validità o meno di una deduzione che porta a una formula F. Se la deduzione è corretta, la formula F è chiamata teorema . Diciamo anche che è dimostrabile , cosa che notiamo .

Proprietà

Completezza

Il teorema di completezza dice che F è valido è equivalente a F è dimostrabile. Meglio, si parla di completezza forte: se F è una conseguenza semantica di una teoria T allora F è dimostrabile da T.

indecidibilità

Non tutti i sistemi logici sono decidibili, in altre parole pur essendo perfettamente definiti, non sempre esiste un algoritmo per dire se una formula è o meno un teorema. Inoltre, storicamente la teoria della computabilità è stata costruita per dimostrare con precisione la loro indecidibilità. Prima di sviluppare questi risultati, ecco un riassunto di ciò che sappiamo sulla decidibilità e indecidibilità dei sistemi logici.

Il calcolo dei predicati è semidecidibile, nel senso che una macchina può enumerare i teoremi uno dopo l'altro. Ma, a differenza del calcolo delle proposizioni , non è in generale decidibile nel senso che non esiste un mezzo "meccanico" che, se ci diamo una formula F, ci permetta di decidere se F è un teorema o meno. . La semidecidibilità non consente una conclusione: il confronto di F con l'elenco dei teoremi terminerà se F è davvero un teorema, ma in attesa della conclusione, a priori non sappiamo se il calcolo dei teoremi non ha non è stato portato abbastanza lontano da identificare F come un teorema o se questo calcolo non finirà perché F non è un teorema.

Tuttavia, questo dipende dal linguaggio utilizzato, in particolare dalla scelta dei simboli primitivi (la firma). Il calcolo dei predicati egualitari monadici (che hanno solo simboli predicati unari e nessun simbolo di funzione) è decidibile. Il calcolo dei predicati egualitari per un linguaggio comprendente almeno un simbolo di predicato binario è indecidibile (algoritmicamente).

I frammenti sintattici sono decidibili come la logica monadica del primo ordine o la classe Bernays-Schönfinkel .

Compattezza

Vedi teorema di compattezza .

Espressività

Un'applicazione interessante del teorema di compattezza è che non esistono formule che esprimano "il dominio è infinito".

Teorema di Löwenheim-Skolem

Vedi il teorema di Löwenheim-Skolem .

Incompletezza

In un altro senso, le teorie "ragionevoli" che consentono di formalizzare sufficientemente l'aritmetica intuitiva, come l'aritmetica di Peano , o la teoria degli insiemi, non sono complete  : esiste un'affermazione indimostrabile la cui negazione è anche indimostrabile (vedi il teorema di incompletezza di Gödel ).

Frammenti determinabili

Il problema della soddisfacibilità di una formula di logica del prim'ordine è indecidibile. Ma limitandosi a certe classi di formule, il problema della soddisfacibilità diventa decidibile. La tabella seguente elenca alcuni frammenti decidibili.

frammenti
Frammento monadico e simboli di funzione di arity 1
Frammento con solo due variabili
Classe Bernays-Schönfinkel , Classe senza funzione e simboli di uguaglianza
Classe senza simboli di funzione
Classe con simboli di funzione
Classe con simboli di funzione e uguaglianza
Frammento monadico con simboli di funzione di arietà e uguaglianza
Classe con simboli di funzione di arietà uno e uguaglianza

varianti

Il calcolo delle proposizioni è un frammento sintattico di logica del primo ordine dove non ci sono variabili e dove tutti i predicati sono di arity 0 .

La logica modale proposizionale e descrittiva sono frammenti sintattici della logica del primo ordine . Inoltre, qualsiasi formula del primo ordine invariante per bisimulazione è equivalente a una formula logica modale: è il teorema di Van Benthem . La logica del primo ordine è stata estesa anche alla logica modale del primo ordine . La logica di dipendenza ( logica dipendenza ) è una generalizzazione logica del primo ordine in cui le dipendenze tra le variabili sono esplicitamente descritte nella lingua .

Note e riferimenti

Appunti

  1. ricorsivamente assiomatizzabile e coerente.

Riferimenti

  1. Immanuel Kant, "  Prefazione alla critica della ragion pura  " , su https://fr.wikisource.org ,1787
  2. "  logician - Wiktionary  " , su fr.wiktionary.org (consultato il 25 maggio 2020 )
  3. "  Logica (matematica) / Deduzione naturale - Wikiversità  " , su fr.wikiversity.org (consultato il 25 maggio 2020 )
  4. (in) Il problema decisionale classico | Egon Börger | Springer ( leggi online ) , Th. 6.02 p. 240

Appendici

Articoli Correlati

Bibliografia

<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">