Théorie des domainesLa théorie des domaines est une branche des mathématiques dont le principal champ d'application se trouve en informatique théorique. Cette partie de la théorie des ensembles ordonnés a été introduite par Dana Scott pendant les années 1960, afin de fournir le cadre théorique nécessaire à la définition d'une sémantique dénotationnelle du lambda-calcul. Les domaines sont des ensembles partiellement ordonnés. Dans la sémantique dénotationnelle du lambda-calcul, les éléments des domaines représentent les lambda-termes et le plus petit élément (quand on en munit le domaine) représente le résultat d'un calcul ne finissant pas, c'est l'élément dit « indéfini », noté ⊥ (prononcer « bottom »). L'ordre du domaine définit, dans l'idée, une notion de quantité d'information : un élément du domaine contient au moins toute l'information contenue dans les éléments qui lui sont inférieurs. L'idée est ensuite de se ramener à des domaines particuliers où toute fonction monotone (croissante) a un plus petit point fixe. En général, on utilise des ordres partiels complets (complete partial order, ou CPO), c'est-à-dire des domaines qui possèdent un plus petit élément et où toute chaîne (partie strictement ordonnée) a une borne supérieure. Ainsi, il devient aisé d'associer une sémantique au combinateur de point fixe Y, en le représentant par une fonction totale qui à une fonction associe un de ses points fixes s'il en existe et ⊥ sinon. Par là-même, donner un sens à une fonction définie « récursivement » (c'est-à-dire en fait, en tant que point fixe d'une fonctionnelle G) devient possible :
La théorie des domaines permet aussi de donner un sens aux équations de domaine de type A = A → A (A est l'ensemble des fonctions de A dans A). Dans les mathématiques habituelles, ceci est absurde, à moins de donner un sens particulier à cette flèche. Par exemple ℝ = ℝ → ℝ paraît impossible, ne serait-ce que pour des raisons de cardinalité (Dans la théorie des cardinaux, ℝ est un infini strictement plus petit que ℝ → ℝ) ; pourtant, si cette flèche ne représente que les applications continues de ℝ dans ℝ, on garde bien le même cardinal que ℝ (en effet, une application continue de ℝ dans ℝ peut être définie par sa restriction à l'ensemble dénombrable ℚ, donc cet ensemble a le cardinal de ℝℕ, donc de ℝ). En théorie des domaines, la notion de continuité sur un ensemble A aura son équivalent : la continuité de Scott sur un domaine A. Une fonction est Scott-continue ssi elle est monotone sur A et si pour toute partie filtrante (partie où toute paire d'éléments a un majorant) B de A admettant une borne supérieure, on a sup(f(B)) = f(sup(B)). Cette définition sera souvent simplifiée pour le cas où A est un CPO : la fonction est continue si et seulement si elle est monotone et si, pour toute chaîne B, on a sup(f(B)) = f(sup(B)). |