Teoria de Domínios e Polimorfismo

8

A teoria do domínio fornece uma incrível teoria da computabilidade na presença de tipos simples. Mas quando o polimorfismo paramétrico é adicionado, não parece haver uma teoria legal que explique o que está acontecendo tão bem quanto a teoria de domínio explica a computação por tipos simples. Certamente, eu não esperaria que isso existisse para o System-F, porque não existem modelos teóricos definidos do System-F. Que tal uma restrição do System-F que tem previsão e tem uma hierarquia no universo? Isso foi estudado? Existe uma boa teoria de domínio que se aplica a ela? Indo além, e os tipos dependentes? A teoria dos domínios pode, de alguma forma, ser misturada com grupos fracos para realizar alguma coisa?ω

Jake
fonte
1
Estou confuso: há modelos de domínio da teoria da untyped -calculus, que intuitivamente é um cálculo digitado com um tipo . Isso, é claro, também não possui modelos em conjuntos. Por que você espera que não haja modelos de domínio do sistema F? Você já tentou pesquisar online? λααα
Cody
Entendi que não modelos do sistema F nos quais as funções são interpretadas como qualquer tipo de função na teoria dos conjuntos. Entendi que não havia modelos teóricos de conjuntos "ingênuos" do cálculo lambda digitado, mas esses modelos existem desde que as funções sejam contínuas. Então, assim como as funções reais contínuas têm a mesma cardinalidade que os reais, também as funções scott-contínuas têm o mesmo tamanho que seu (co) domínio. Entendi que era assim que o problema de tamanho era resolvido. No entanto, entendi que essa solução não existe para o sistema-F.
Jake
Devo acrescentar também que entendi que a teoria do domínio ainda é definida como principal em teoria. Ou seja, funções ainda são definidas como funções teóricas, apenas você se preocupa apenas com as funções contínuas ao interpretar funções em um cálculo. Portanto, meus entendimentos parecem descartar o encaixe System-F em um modelo teórico de domínio. Talvez seja um dos meus entendimentos que está errado aqui.
Jake #
3
Entendo, obrigado por seus esclarecimentos. O tratamento mais "dominante à teoria de domínio" do sistema FI é o "Coherent Spaces" de Girard, cujo tratamento é descrito aqui por Paul Taylor. Não sei se essa é uma "teoria legal", conforme sua solicitação, mas, para ser honesto, não vejo a teoria de domínio como sendo tão legal em geral para a semântica de linguagens totais ...
cody
1
@cody: tsk, tsk.
Andrej Bauer

Respostas:

5

Existem muitas maneiras de modelar o polimorfismo via teoria de domínio, deixe-me descrever uma que é fácil de entender, para que você possa pensar sobre isso sozinho. É um "modelo PER".

Pegue qualquer modelo do -calculus sem tipo, por exemplo, um domínio tal que seja uma retração de (por exemplo, considere tal que . Seja e sejam a retração e a seção, respectivamente.λDDDDDDN×(DD))Λ:D(DD)Γ:(DD)D

Vamos interpretar os tipos como relações de equivalência parciais (PER) em . Lembre-se de que um PER é uma relação simétrica e transitiva, mas não precisa ser reflexiva. Para cada tipo , atribuímos um PER . Pense em como " é um elemento de " e como " e são iguais no que diz respeito a ".Dττxτxxτxτyxyτ

Podemos ter alguns tipos básicos (mas não precisamos), por exemplo, se garantirmos que seja um subdomínio de por meio de uma incorporação então podemos definir por NDι:NDnat

xnatynN.x=ι(n)=y.

Dado PERs e , defina o espaço de função PER por τσ τσ

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

Os termos são interpretados como não tipificado termos -calculus como seria normalmente interpretar-los em .λD

Aqui está o punchline. Você pode interpretar o polimorfismo como interseção de PERs, ou seja: Podemos calcular o PER correspondente a : é a interseção de todos os PERs, mas esse será o PER vazio. Calculando é um exercício interessante. Calculando é um exercício difícil (que me manteve ocupado por uma semana quando eu era estudante de teoria de domínio).

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

Se queremos recursão em nosso idioma, precisamos contabilizar pontos fixos. Uma possibilidade é restringir os PERs àqueles que contêm e são fechados sob o suprema de cadeias crescentes. Mais precisamente, tome apenas os PERs para queD

  • DD e
  • se e estão aumentando cadeias em modo que para todos os , então .x0x1x2y0y1y2Dxiyiisupixisupiyi

Agora podemos interpretar aplicando o teorema de Kanster-Tarski sobre a existência de pontos fixos, assim como fazemos na teoria de domínio comum. Desta vez, não está vazio, pois contém precisamente .fixτ:(ττ)τX.XD

Andrej Bauer
fonte
Esta é uma resposta além fantástica! Isso basicamente fornece as mesmas ferramentas que a parametridade nos fornece e as ferramentas da teoria de domínio. Era exatamente isso que eu estava procurando. Bem, tenho algo para fazer neste fim de semana agora.
Jake
Para o registro, eu aprendi essas coisas com Dana Scott. Tenho certeza de que John Reynolds conhecia os modelos PER no momento em que inventou a parametridade. Eu sempre pensei que a parametridade vinha dos modelos PER, de qualquer maneira.
Andrej Bauer
Eu tinha na cabeça que ele era seu conselheiro. Isso está escrito em algum lugar ou é folclore?
Jake
Há muitas coisas escritas sobre isso. O que você está procurando? O primeiro artigo histórico (que seria de Dana Scott), um artigo clássico que faz as coisas realmente funcionarem, um livro didático?
Andrej Bauer
2
O livro Domains and Lambda Calculi de Roberto Amadio e Pierre-Louis Curien aborda os modelos PER no Capítulo 15 e um modelo PER do Sistema F em 15.2.
Andrej Bauer
0

Roy Crole fornece uma boa explicação de como usar a teoria de domínio para modelar o polimorfismo de tipos em seu livro Categorias para Tipos , especificamente na seção 5.6.

Nathan BeDell
fonte
2
Você poderia ao menos resumir essa seção para o benefício de pessoas que podem não ter o livro? Um ou dois parágrafos com as idéias principais seriam suficientes.
David Richerby