I tipi sono proposizioni? (Cosa sono esattamente i tipi?)


25

Ho letto molto su sistemi di tipo e simili e capisco all'incirca perché sono stati introdotti (per risolvere il paradosso di Russel). Capisco anche approssimativamente la loro rilevanza pratica nei linguaggi di programmazione e nei sistemi di prova. Tuttavia, non sono del tutto sicuro che la mia idea intuitiva di che tipo sia, sia corretta.

La mia domanda è: è valido affermare che i tipi sono proposizioni?

In altre parole, l'affermazione "n è un numero naturale" corrisponde all'affermazione "n ha il tipo 'numero naturale'", il che significa che tutte le regole algebriche che coinvolgono numeri naturali valgono per n. (Vale a dire in un altro modo, le regole algebriche sono affermazioni. Quelle affermazioni che sono vere per i numeri naturali valgono anche per n.)

Quindi questo significa che un oggetto matematico può avere più di un tipo?

Inoltre, so che i set non sono equivalenti ai tipi perché non è possibile avere un set di tutti i set. Potrei affermare che se un insieme è un oggetto matematico simile a un numero o una funzione , un tipo è una sorta di oggetto meta-matematico e per la stessa logica un tipo è un oggetto meta-meta-matematico? (nel senso che ogni "meta" indica un livello più alto di astrazione ...)

Questo ha qualche tipo di collegamento con la teoria delle categorie?


5
Una domanda strettamente correlata: Prove / Programmi e Proposte / Tipi
Marc Hamann

1
Un'altra discussione correlata: Classificazione di Lambda Calculi
Marc Hamann

Ho trovato un altro bell'articolo qui scientopia.org/blogs/goodmath/2009/11/17/…
Rehno Lindeque

1
In un certo senso questo si riduce a una questione di ontologia. Che cosa è un set, una proposta ecc. Inoltre ci sono molte persone che pensano ai tipi come set. Se si vuole essere più precisi, si può distinguere tra tipi piccoli (che sono insiemi) e tipi di universo. Per una bella lettura che riguarda alcune di queste cose, raccomando la carta classica Martin-Löfs "Intuitionistic Type Theory"
Tobias Raski,

1
Qualcuno dovrebbe scrivere una risposta dal punto di vista della teoria del tipo di omotopia.
Robin Green,

Risposte:


20

Il ruolo chiave dei tipi è quello di suddividere gli oggetti di interesse in universi diversi, piuttosto che considerare tutto ciò che esiste in un universo. Inizialmente, i tipi sono stati ideati per evitare i paradossi, ma come sapete, hanno molte altre applicazioni. I tipi consentono di classificare o stratificare gli oggetti (vedi post di blog ).

Alcuni lavorano con lo slogan secondo cui le proposizioni sono tipi , quindi la tua intuizione ti è sicuramente utile, sebbene ci sia un lavoro come Proposizioni come [Tipi] di Steve Awodey e Andrej Bauer che sostengono il contrario, vale a dire che ogni tipo ha una proposizione associata. La distinzione viene fatta perché i tipi hanno un contenuto computazionale, mentre le proposizioni no.

Un oggetto può avere più di un tipo a causa del sottotipo e tramite le coercizioni del tipo .

I tipi sono generalmente organizzati in una gerarchia, in cui i tipi svolgono il ruolo del tipo di tipi, ma non vorrei spingermi fino a dire che i tipi sono meta-matematici. Tutto procede allo stesso livello - questo è particolarmente vero quando si tratta di tipi dipendenti .

Esiste un legame molto forte tra tipi e teoria delle categorie. In effetti, Bob Harper (citando Lambek) afferma che Logica, Lingue (dove risiedono i tipi) e Categorie formano una trinità santa . citando:

Questi tre aspetti danno origine a tre sette di adorazione: la logica, che dà il primato a prove e proposizioni; Lingue, che dà il primato a programmi e tipi; Categorie, che danno il primato a mappature e strutture.

Dovresti guardare la corrispondenza Curry-Howard per vedere il collegamento tra Logica e Linguaggi di programmazione (i tipi sono proposizioni) e Cartesian Closed Categories , per vedere il rapporto tra la teoria delle categorie.


Grazie, il primo link è stato particolarmente utile! In esso Mark informa che esiste una "relazione totale <" sui tipi. Quindi questo significa che tutte le "proposizioni" di un tipo devono includere anche tutte le "proposizioni" nei tipi sottostanti? Mi aspettavo che sarebbe stata almeno una "relazione parziale <" sui tipi ....
Rehno Lindeque,

1
Mentre lo leggo c'è un ordine totale sugli atomi, che era in atto solo per garantire che ci fosse un numero infinito di atomi.
Dave Clarke,

Oh, vedo che mi sono confuso tra "Assioma della comprensione" e "Assioma dell'infinito" ... Un tipo "nat" (il tipo di tutti i numeri naturali) sarebbe un "tipo di livello 0 infinito"?
Rehno Lindeque,

3
La "santa trinità" è davvero dovuta a Lambek. Cf. la discussione sulla teoria dei tipi in Lambek & Scott (1986). Ho sentito che in McGill si parla della corrispondenza Curry-Howard-Lambek.
Charles Stewart,

@Charles: concordo sul fatto che Lambek non sia accreditato per il suo enorme contributo, anche se, ironicamente, è stato leggere il libro di Lambek e Scott che mi ha convinto che la "santa trinità" è falsa: si rompe in presenza di potenziali non -termination.
Marc Hamann,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.