Cos'e' un Sistema Formale ed un esempio:
il sistema formale per l'alfa-equivalenza

 Sistemi Formali

Per quanto riguarda l'aspetto sintattico, una volta fornita una definizione di giudizio (formula ben formata) a partire da un insieme di simboli, un sistema formale e' un'insieme di

  • assiomi e
  • regole di inferenza


che ci permettono di derivare giudizi tramite una opportuna definizione di derivazione (prova).

Gli assiomi solitamente hanno la seguente forma:

________________
   giudizio



mentre una regola di inferenza ha solitamente la seguente forma:

giudizio1   ....   giudizion
___________________________
   giudizio


dove i giudizi sopra la linea sono le premesse della regola e il giudizio sotto la linea e' la conclusione della regola.

Come indicato nel testo di Martini, il concetto di regola di inferenza si puo' formalizzare come relazione tra formule ben formate. Sistemi formali in cui le regole di inferenza sono essenzialmente relazioni tra formule ben formate si chiamano sistemi formali alla Hilbert.
Ci sono sistemi formali invece in cui le regole non possono essere formalizzate come relazioni tra giudizi, per esempio i sistemi logici di Deduzione Naturale. I sistemi alla Hilbert sono inoltre caratterizzati dal fatto che le deduzioni sono sequenze di formula ben formate tali che ogni fbf nella sequenza e’ un assioma, una ipotesi (nel caso di deduzioni con ipotesi) oppure una conclusione di una regola di inferenza le cui premesse la precedono nella sequenza. Nei sistemi in deduzione naturale le deduzioni sono invece delle strutture ad albero in cui i nodi sono le regole (nella forma indicata sopra) e le foglie sono le ipotesi (se non sono ipotesi scaricate dall’applicazione di qualche regola).

 
La semantica di un sistema formale consiste nel fornire una definizione di validita' per i giudizi del sistema formale.

 
Un sistema formale si dice corretto rispetto ad una semantica (cioe' rispetto ad una nozione di validita' per i suoi giudizi) quando i suoi assiomi sono tutti validi e quando le regole sono tali da garantire che se le premesse sono giudizi validi allora la conclusione sara' anch'essa valida. Quando cioe' tutti i teoremi che si riescono a derivare nel sistema formale sono validi. Tale nozione di correttezza pero’ e’ sensata solo se si considerano deduzioni senza ipotesi. Infatti non tiene conto del fatto che sia possibile utilizzare ipotesi nelle nostre deduzioni. Una definizione di sistema formale corretto (rispetto ad una semantica), che tenga conto della possibile presenza di ipotesi nelle deduzioni, e che sia inoltre sensata per ogni possibile sistema formale, non puo’ essere fornita (infatti il martini non la fornisce). La definizione che ci potrebbe venire in mente in modo naturale potrebbe essere: se tutte le ipotesi in una deduzione sono valide, allora anche la conclusione e’ valida. Ma non e’ una definizione sufficientemente generale, come vedremo studiando i sistemi formali della Logica Proposizionale e della Logica dei Predicati, e le loro rispettive semantiche.


Un sistema formale si dice completo rispetto una semantica (cioe' rispetto ad una nozione di validita' per i suoi giudizi) quando tutti i giudizi validi sono derivabili nel sistema formale.
Come detto prima per la nozione di correttezza, anche questa definizione  dovrebbe tener conto della possibile presenza di ipotesi. Una definizione di completezza ragionevole ed utilizzabile per tutti i sistemi formali non e’ possibile fornirla.

 
Il minimo che si deve richiedere ad un sistema formale e' che sia corretto rispetto a qualche nozione di validita'. Se e' anche completo, meglio. Ma questa proprieta' non e' goduta da tutti i sistemi formali. La logica proposizionale e' corretta e completa, per esempio, ma l'aritmetica non lo e' (anche se in un senso non propriamente identico a quello introdotto ora).

Un sistema formale si dice consistente quando esiste almeno un giudizio che non e' derivabile.
Quindi, se sappiamo che un sistema formale permette di derivare tutti e soli i giudizi validi (e' cioe' corretto e completo), allora per dimostrare che e' consistente basta far vedere che esiste un giudizio che non e' valido (che equivale a dire che non e' vero che tutti i giudizi sono validi).
E' ovvio che la proprieta' di consistenza e' importantissima per un sistema formale. Un sistema formale non consistente non servirebbe a nulla.

 
Un esempio di sistema formale alla Hilpert e' CL nel testo del Martini (in cui pero' non viene specificata una semantica), oppure il seguente (che pero' va studiato dopo aver iniziato la parte relativa al lambda-calcolo

 

 Esempio di sistema formale


Prendiamo il considerazione la seguente forma di giudizio:

Il termine M e' alfa-equivalente al termine N


che rappresentiamo formalmente come

M =alfa N



Per tali giudizi forniamo la seguente definizione di validita:
M =α N   e' valido   se e solo se   M si ottiene da N (o viceversa) attraverso una rinomina di variabili legate.

Il sistema formale per l'alfa conversione e' quindi dato da queste definizioni di giudizio e di validita' e dagli assiomi e regole di inferenza descritte nella Table 1 a pag. 14 delle note [PS] sul Lambda-calcolo. (In tale tabella viene utilizzato il simbolo '=' anziche' '=α').
Gli assiomi sono (refl) e (alfa), mentre tutte le altre sono regole di inferenza.
In realta' possiamo considerare anche gli assiomi come regole di inferenza: regole senza premesse, e quindi con conclusione sempre valida.


Il sistema formale per l'alfa equivalenza ci garantisce che, se partiamo da assiomi ed utilizziamo regole di inferenza arriveremo sempre a giudizi validi. Inoltre, qualsiasi giudizio valido sara' sempre ottenibile partendo dagli assiomi ed utilizzando regole di inferenza.

Si vede subito che il sistema formale per l'alfa-quivalenza e' consistente: basta mostrare un giudizio non valido, per esempio, banalmente x =α y


Un altro esempio di sistema formale e' quello che formalizza la nozione di passo singolo di beta-riduzione, rappresentato dalle regole a pag.17 di [PS].
In questo caso i giudizi sono:

Il termine M si riduce ad N con un passo di beta-riduzione


che rappresentiamo formalmente come

M →β N

e la cui nozione di validita' corrisponde a "nel termine M c'e' un sottotermine della forma (\x.P)Q che viene sostituito con P[Q/x]".

Anche il sistema formale della beta-riduzione e' consistente.


Nota:   Per quanto riguarda l'alpha-equivalenza o la beta-riduzione, possiamo ovviamente vedere (come fatto in [PS]) "=α" e "→β" come due relazioni tra Lambda-termini definite rispettivamente dalle regole della Table 1 di pag. 14 in [PS], e dalle regole di pag.17.
La relazione "=α" e' infatti la piu' piccola relazione che contiene

  • tutte le coppie di termini specificate dagli assiomi
  • e chiusa rispetto alle regole.


Per chiusura rispetto alle regole si intende che se se le coppie di termini corrispondenti alle premesse di una regola appartengono alla relazione "=α" allora anche la coppia corrispondente alla conclusione della regola deve appartenere alla relazione "=α".