Dans la théorie des domaines, à quoi peut servir la structure supplémentaire présente dans les espaces métriques?

10

Le chapitre de Smyth dans le manuel de logique en informatique et d'autres références décrivent comment les espaces métriques peuvent être utilisés comme domaines. Je comprends que les espaces métriques complets donnent des points fixes uniques mais je ne comprends pas pourquoi les espaces métriques sont importants. J'apprécierais vraiment toute réflexion sur les questions suivantes.

Quels sont les bons exemples d'utilisation d'espaces métriques (ultra / quasi / pseudo) en sémantique? En particulier lié à un exemple: pourquoi avons-nous besoin de la structure métrique? De quoi manquent les -CPO que les métriques fournissent?ω

Aussi: La propriété unique de point fixe est-elle importante? Quel est un bon exemple?

Merci!

Ben
la source

Réponses:

15

Par rapport à la structure du domaine, la structure métrique vous donne des données supplémentaires sur l'ensemble de supports. Fondamentalement, vous pouvez comparer deux éléments d'un espace métrique et en outre, vous savez combien deux éléments sont différents, tandis que dans les domaines, la structure de l'ordre est partielle et vous n'avez pas de mesure quantitative de la différence entre les éléments.

De façon pragmatique, cette structure supplémentaire est utile en ce qu'elle facilite énormément la résolution des équations de domaine. Dans les années 80, de nombreux informaticiens néerlandais utilisaient des équations spatiales métriques pour modéliser la concurrence, mais cela présente également un intérêt actuel.

2nn) les espaces ultramétriques est la vie de dénotation secrète des modèles indexés par étapes. Voir l'article de Birkedal, Stovring et Thamsborg "La solution de catégorie théorique des équations spatiales métriques récursives" pour des travaux récents dans ce domaine.

Maintenant, tout ce travail a été concentré sur l'obtention de modèles, mais ce n'est pas la seule chose qui nous intéresse - nous ne pouvons pas simplement remplacer les commandes partielles par une structure métrique dans un modèle dénotationnel et nous attendre à ce que cela signifie exactement la même chose chose. Vous pourriez donc vous demander quel est l'impact des modèles métriques sur des propriétés comme l'abstraction complète, par exemple.

Escardo a montré dans son article de 1999 "Un modèle métrique de PCF" qu'un modèle métrique simple de PCF était adéquat mais pas entièrement abstrait - la structure métrique supplémentaire pouvait être utilisée pour modéliser des constantes de temporisation. Concrètement, vous pouvez modéliser une constante qui déclencherait une erreur si ne retournait pas en étapes ou moins. Ce sont des informations qu'un modèle métrique peut voir, car il contient des informations de distance, mais ce sont des informations qu'un modèle de domaine ne peut pas, car l'ordre des informations ne vous indique pas «comment évalué» une valeur.timeoutneen

Ce pouvoir de résolution supplémentaire est à la fois la force et la faiblesse des techniques métriques. Dans leur note "Indexation par étapes: le bon, le mauvais et le laid", Benton et Hur montrent que la structure supplémentaire des modèles indexés par étapes est très utile pour eux de donner des preuves de correction de style de réalisabilité des langages de programmation mis en œuvre en termes de mauvaises langues de bas niveau. Cependant, la structure supplémentaire les empêche également d'effectuer des optimisations qui sont en quelque sorte «trop efficaces», car cela pourrait gâcher les informations de distance. Donc, cela les aide et les blesse.

Df

Cependant, vous ne voudrez peut-être pas faire cela. Par exemple, dans mes propres recherches récentes (avec Nick Benton), j'ai travaillé sur la programmation de flux de données synchrones d'ordre supérieur. Ici, l'idée est que nous pouvons modéliser des programmes interactifs à travers le temps en tant que fonctions de flux. Naturellement, nous voulons considérer des définitions récursives (par exemple, imaginez écrire une fonction qui reçoit un flux de nombres en entrée et génère un flux de nombres correspondant à la somme des éléments de flux vus jusqu'à présent).

Mais un objectif explicite de ce travail est de garantir que seules des définitions bien fondées sont autorisées, tout en permettant des définitions récursives. Donc, je modélise les flux comme des espaces ultramétriques et fonctionne sur eux comme des cartes non expansives (en passant, cela généralise la condition de causalité de la programmation réactive). Sous la métrique que j'utilise, une définition protégée sur les fonctions de flux correspond à une fonction contractuelle sur les flux, et donc selon le théorème du point fixe de Banach, un point fixe unique existe. Intuitivement, la propriété d'unicité signifie que le calcul des points fixes fonctionne de la même manière quel que soit l'élément de l'espace avec lequel nous commençons, de sorte que nous pouvons calculer des points fixes de fonctions contractuelles sur un espace, même si l'espace n'a pas de valeur minimale. élément au sens de la théorie des domaines.

Neel Krishnaswami
la source