ドメイン構造と比較して、メトリック構造はキャリアセットに関する追加データを提供します。基本的に、メトリック空間の任意の2つの要素を比較でき、さらに2つの要素がどれだけ異なるかがわかりますが、ドメインでは順序構造が部分的であり、要素のどの程度異なるかの定量的な測定値はありません。
実用的には、この追加の構造は、ドメイン方程式を非常に簡単に解くことができるので便利です。80年代に戻って、同時実行性をモデル化するためにメトリック空間方程式を使用するオランダのコンピューター科学者がたくさんいましたが、それも現在関心があります。
2−nn)ウルトラメトリック空間は、ステップインデックスモデルの秘密の表示寿命です。この分野の最近の研究については、Birkedal、Stovring、Thamsborgのペーパー「再帰的メトリック空間方程式のカテゴリー理論的解」を参照してください。
さて、この作業はすべてモデルの取得に重点を置いていますが、私たちが関心を持っているのはそれだけではありません。表示モデルの部分的な順序をメトリック構造に置き換えるだけでは、まったく同じことを期待できません。事。たとえば、完全な抽象化など、メトリックモデルがプロパティにどのような影響を与えるのか疑問に思われるかもしれません。
Escardoは、1999年の論文「A Metric Model of PCF」で、PCFの単純なメトリックモデルは適切であるが完全に抽象的ではないことを示しました。追加のメトリック構造を使用して、タイムアウト定数をモデル化できます。具体的には、定数モデル化できますtimeoutneen
この追加の解決力は、メトリック手法の長所と短所の両方です。BentonとHurは、ノート「ステップインデックス作成:良い、悪い、そして醜い」で、ステップインデックスモデルの追加の構造が、用語で実装されたプログラミング言語の実現可能性スタイルの正確さの証明を与えるのに非常に役立つことを示しています。悪い低レベル言語の。ただし、追加の構造により、距離情報が混乱する可能性があるため、ある意味で「効果的すぎる」最適化を実行できなくなります。ですから、それは彼らを助け、傷つけます。
Df⊥⊥
ただし、それを望まない場合もあります。たとえば、私自身の最近の研究(Nick Bentonを使用)では、高次同期データフロープログラミングに取り組んでいます。ここでは、対話型プログラムをストリーム関数として時間をかけてモデル化できるという考え方です。当然のことながら、再帰的な定義を検討したいとします(たとえば、数値のストリームを入力として受け取り、これまでに見られたストリーム要素の合計に対応する数値のストリームを出力する関数を書くことを想像してください)。
ただし、この作業の明確な目標は、十分な根拠のある定義のみが許可され、再帰的な定義は許可されることを保証することです。したがって、私はストリームをウルトラメトリック空間としてモデル化し、非拡張マップとして機能します(余談ですが、これはリアクティブプログラミングの因果関係条件を一般化します)。私が使用するメトリックでは、ストリーム関数の保護された定義はストリームの収縮関数に対応するため、バナッハの固定小数点定理により、一意の固定小数点が存在します。直感的に、一意性プロパティは、開始する空間のどの要素に関係なく固定点の計算が同じように機能することを意味します。その結果、空間に最小値がない場合でも、空間上の収縮関数の固定点を計算できますドメイン理論の意味での要素。