Em relação à estrutura do domínio, a estrutura métrica fornece dados extras no conjunto de operadoras. Basicamente, você pode comparar quaisquer dois elementos de um espaço métrico e, além disso, sabe quanto dois elementos são diferentes, enquanto que nos domínios a estrutura da ordem é parcial, e você não tem uma medida quantitativa de quantos elementos diferem.
Pragmaticamente, essa estrutura extra é útil, pois facilita muito a solução de equações de domínio. Nos anos 80, muitos cientistas holandeses da computação usavam equações métricas do espaço para modelar simultaneidade, mas também é de interesse atual.
2- nn) espaços ultramétricos é a vida denotacional secreta dos modelos indexados em etapas. Veja o artigo de Birkedal, Stovring e Thamsborg "A Solução Teórica por Categoria de Equações Métricas Recursivas do Espaço" para alguns trabalhos recentes nessa área.
Agora, todo esse trabalho foi focado na obtenção de modelos, mas essa não é a única coisa em que estamos interessados - não podemos simplesmente substituir pedidos parciais pela estrutura métrica em um modelo denotacional e esperar que isso signifique exatamente o mesmo coisa. Então, você pode se perguntar qual é o impacto dos modelos de métricas em propriedades como abstração total, por exemplo.
t i m e o u tneen
Esse poder de resolução extra é a força e a fraqueza das técnicas métricas. Em sua nota "Indexação de etapas: o bom, o ruim e o feio", Benton e Hur mostram que a estrutura extra dos modelos indexados em etapas é muito útil para fornecer provas de correção no estilo de realização das linguagens de programação implementadas em termos de idiomas ruins de baixo nível. No entanto, a estrutura extra também os impede de realizar otimizações que, em certo sentido, são "muito eficazes", porque podem atrapalhar as informações de distância. Então, isso os ajuda e os machuca.
Df⊥⊥
No entanto, você pode não querer fazer isso. Por exemplo, em minha própria pesquisa recente (com Nick Benton), tenho trabalhado em programação de fluxo de dados síncrona de ordem superior. Aqui, a idéia é que podemos modelar programas interativos através do tempo como funções de fluxo. Naturalmente, queremos considerar definições recursivas (por exemplo, imagine escrever uma função que receba um fluxo de números como entradas e produza um fluxo de números correspondente à soma dos elementos do fluxo vistos até agora).
Mas um objetivo explícito deste trabalho é garantir que apenas definições bem fundamentadas sejam permitidas, enquanto ainda permitem definições recursivas. Assim, modelo fluxos como espaços ultramétricos e funciono neles como mapas não expansivos (como um aparte, isso generaliza a condição de causalidade da programação reativa). Sob a métrica que eu uso, uma definição protegida das funções de fluxo corresponde a uma função contrativa nos fluxos; portanto, pelo teorema do ponto fixo de Banach, existe um ponto fixo exclusivo. Intuitivamente, a propriedade exclusividade significa que a computação de pontos fixos funciona da mesma forma, independentemente do elemento do espaço em que começamos, portanto, como resultado, podemos calcular pontos fixos de funções contrativas em um espaço, mesmo que o espaço não tenha um mínimo elemento no sentido da teoria de domínio.