Teoria del dominio e polimorfismo


8

La teoria dei domini offre una straordinaria teoria della calcolabilità in presenza di tipi semplici. Ma quando viene aggiunto il polimorfismo parametrico non sembra esserci una bella teoria che spieghi cosa sta succedendo altrettanto bene come la teoria dei domini spiega il calcolo su tipi semplici. Certamente non mi aspetto che esista una cosa del genere per System-F perché non esistono modelli teorici stabiliti di System-F. Che dire di una restrizione di System-F che ha una previsione e ha una gerarchia dell'universo? Questo è stato studiato? C'è una bella teoria del dominio che si applica ad essa? Andando oltre per quanto riguarda i tipi dipendenti? La teoria dei domini può in qualche modo essere mescolata con deboli -gruppi per realizzare qualcosa?ω


1
Sono confuso: ci sono modelli teorici di dominio del non tipizzato -calculus, che intuitivamente è un calcolo tipizzato con un tipo . Questo, ovviamente, non ha nemmeno modelli nei set. Perché dovresti aspettarti che non ci siano modelli di dominio del sistema F? Hai provato a cercare online? λααα
cody

Compresi che ci sono presenti modelli di sistema F in cui funzioni sono interpretati come qualsiasi tipo di funzione nella teoria degli insiemi. Ho capito che non esistono modelli teorici di insiemi "ingenui" del calcolo lambda tipizzato, ma che esistono modelli di insiemi teorici purché le funzioni siano funzioni continue. Quindi, proprio come le funzioni reali continue hanno la stessa cardinalità delle reali, così anche le funzioni scott-continue possono avere le stesse dimensioni del loro (co) dominio. Ho capito che questo è il modo in cui è stato risolto il problema delle dimensioni. Tuttavia, ho capito che una soluzione del genere non esisteva per il sistema-F.
Jake,

Dovrei anche aggiungere che ho capito che la teoria dei domini doveva essere ancora teorica in linea di principio. Cioè le funzioni sono ancora impostate funzioni teoriche è solo che ti preoccupi solo delle funzioni continue quando interpreti le funzioni in un calcolo. Quindi la mia comprensione sembra escludere l'inserimento del Sistema F in un modello teorico di dominio. Forse è una delle mie comprensioni che è sbagliata qui.
Jake,

3
Vedo, grazie per i tuoi chiarimenti. Il trattamento più "teorico-di-dominio" del sistema di cui FI è a conoscenza è "Coherent Spaces" di Girard, il cui trattamento è delineato qui da Paul Taylor. Non so se questa sia una "bella teoria" secondo la tua richiesta, ma a dire il vero, non vedo davvero la teoria dei domini come così bella in generale per la semantica delle lingue totali ...
cody

1
@cody: tsk, tsk.
Andrej Bauer,

Risposte:


5

Esistono molti modi per modellare il polimorfismo tramite la teoria dei domini, lasciatemi solo descriverne uno che sia facile da capire, quindi potete pensarci da soli. È un "modello PER".

Prendi qualsiasi modello del -calculus non tipizzato , ad esempio un dominio tale che è un retrattile di (ad esempio, prendi tale che . Sia e siano rispettivamente la retrazione e la sezione.λDDDDDDN×(DD))Λ:D(DD)Γ:(DD)D

Stiamo per interpretare i tipi come relazioni di equivalenza parziali (per) su . Ricorda che un PER è una relazione simmetrica e transitiva, ma non deve essere riflessiva. Ad ogni tipo assegniamo quindi un PER . Pensare come " è un elemento di " e come " ed sono uguali per quanto è interessato".Dττxτxxτxτyxyτ

Possiamo avere alcuni tipi di base (ma non è necessario), ad esempio se ci assicuriamo che sia un sottodominio di tramite un incorporamento allora possiamo definire di NDι:NDnat

xnatynN.x=ι(n)=y.

Dato PERs e , definire lo spazio delle funzioni PER di τσ τσ

xτσyz,wD.zτwΛ(x)(z)σΛ(y)(w)

I termini sono interpretati come non tipizzata termini -calcolo come uno normalmente interpretarli .λD

Ecco la battuta finale. Puoi interpretare il polimorfismo come intersezione di PER, ovvero: Possiamo caclulare il PER corrispondente a : è l'intersezione di tutti i PER, ma quello sarà il PER vuoto. Calcolo è un esercizio interessante. Calcolo è un esercizio difficile (che mi ha tenuto impegnato per una settimana quando ero uno studente di teoria dei domini).

xX.τ(X)yfor all PERs xτ()y.
X.XX.XXX.XXX

Se vogliamo ricorsione nella nostra lingua, dobbiamo tenere conto dei punti fissi. Una possibilità è quella di limitare i PER a quelli che contengono e sono chiusi sotto le catene crescenti. Più precisamente, prendi solo quei PER per i qualiD

  • DD e
  • se e stanno aumentando le catene in tale che per tutti , quindi .x0x1x2y0y1y2Dxiyiisupixisupiyi

Ora possiamo interpretare applicando il teorema di Kanster-Tarski sull'esistenza di punti fissi, proprio come facciamo nella teoria del dominio ordinario. Questa volta, non è vuota, poiché contiene precisamente .fixτ:(ττ)τX.XD


Questa è una risposta oltre fantastica! Questo in pratica fornisce gli stessi strumenti che la parametria ci offre e gli strumenti della teoria dei domini. Questo e 'esattamente quello che stavo cercando. Bene, ho qualcosa da fare questo fine settimana adesso.
Jake,

Per la cronaca, ho imparato queste cose da Dana Scott. Sono abbastanza sicuro che John Reynolds conoscesse i modelli PER quando ha inventato la parametricità. Ho sempre pensato che la parametricità venisse dai modelli PER, comunque.
Andrej Bauer,

Avevo in testa che era il tuo consigliere. È scritto da qualche parte o è questo folklore?
Jake,

Ci sono molte cose scritte su questo. Che cosa sta cercando? Il primo articolo storico (che sarebbe di Dana Scott), un classico che fa andare davvero le cose, un libro di testo?
Andrej Bauer,

2
Il libro di testo Domains and Lambda Calculi di Roberto Amadio e Pierre-Louis Curien tratta i modelli PER nel capitolo 15 e un modello PER del sistema F nel 15.2.
Andrej Bauer,

0

Roy Crole fornisce una bella spiegazione di come usare la teoria dei domini per modellare il polimorfismo dei tipi nel suo libro Categorie per tipi , in particolare nella sezione 5.6.


2
Potresti almeno riassumere quella sezione a beneficio delle persone che potrebbero non avere il libro? Un paragrafo o due che danno le idee principali sarebbero molti.
David Richerby,
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.