Щодо структури домену, метрична структура дає додаткові дані про набір операторів. В основному, ви можете порівнювати будь-які два елементи метричного простору, і, крім того, ви знаєте, наскільки два елементи відрізняються, тоді як в областях структура порядку є частковою, і ви не маєте кількісної міри, скільки елементів відрізняються.
Прагматично ця додаткова структура корисна тим, що робить рішення рівнянь домену значно простішим. Ще у 80-х роках було багато голландських комп'ютерних вчених, які використовували метричні просторові рівняння для моделювання одночасності, але це також актуально.
Якщо ви стежили за звичайними місцями (POPL / ICFP / ESOP / тощо), ви помітили, що сьогодні так звані крок-індексовані моделі є великим бізнесом, оскільки вони дозволяють вам давати моделі мов із комбінаціями функцій (наприклад, непередбачуваний поліморфізм та стан вищого порядку), які важко піддаються лікуванню класичними доменно-теоретичними моделями. Однак конструкції, які використовуються в цих моделях, переслідують аналогічно вирішенню доменних рівнянь, і природно дивуватися, що за чортове з'єднання. Ларс Біркедал та його співробітники мали загальне уявлення про те, що розв’язування доменних рівнянь на бісектірованних (тобто відстані між будь-якими двома точками є всіма видами для деяких2- нн) ультраметричні простори - це таємне денотаційне життя ступеневих індексованих моделей. Дивіться статтю Біркедала, Стоврінга та Темсборга "Категорія-теоретичне рішення рекурсивних метричних просторових рівнянь" для деяких останніх робіт у цій галузі.
Тепер вся ця робота була зосереджена на отриманні моделей взагалі, але це не єдине, що нас цікавить - ми не можемо просто замінити часткові замовлення на метричну структуру в денотаційній моделі і очікувати, що це означатиме саме те саме річ. Тож вам може бути цікаво, який вплив метричних моделей на такі властивості, як повна абстракція.
У своїй роботі "Метрична модель PCF" Ескардо показав, що прямолінійна метрична модель PCF була адекватною, але не повністю абстрактною - додаткову метричну структуру можна використовувати для моделювання констант тайм-ауту. Конкретніше, ви можете змоделювати константу яка призведе до помилки, якщо не повернеться за кроків чи менше. Це інформація, яку може бачити метрична модель, оскільки вона містить інформацію про відстань, але це інформація, яку не може використовувати модель домену, оскільки інформаційний порядок не повідомляє про те, як оцінено значення.t i m e o u tнеен
Ця додаткова рішуча сила є і силою, і слабкістю метричних прийомів. У своїй примітці "Крок індексація: хороший, поганий і некрасивий" Бентон і Хур показують, що додаткова структура ступеневих індексованих моделей дуже корисна для них, щоб дати докази правильності стилю доказів мов програмування, реалізованих в термінах поганих мов низького рівня. Однак додаткова структура також перешкоджає виконанню оптимізацій, які в деякому сенсі "занадто ефективні", оскільки це може зіпсувати інформацію про відстань. Тож це і допомагає, і шкодить їм.
EDIT: Я також повинен навести приклад, коли теорема Банаха про фіксовану точку про метричні простори може бути корисною. У областях ми знаходимо фіксовані точки за принципом теореми про фіксовану точку Клінова. Це говорить про те, що якщо ми маємо загострену область і на ній безперервну функцію , то ітерація від дає нам найменшу фіксовану точку. Ця теорема не претендує на унікальність фіксованих точок взагалі - повторення з чогось іншого, ніж може дати нам інші фіксовані точки. Отже, якщо ви хочете розглянути визначення рекурсії домену, у вас немає іншого вибору, як допустити непереривання в ньому.Df⊥⊥
Однак, можливо, ви не хочете цього робити. Наприклад, у своїх власних останніх дослідженнях (з Ніком Бентоном) я працював над синхронним програмуванням потоку даних вищого порядку. Тут ідея полягає в тому, що ми можемо моделювати інтерактивні програми через час як функції потоку. Природно, ми хочемо розглянути рекурсивні визначення (наприклад, уявіть собі, як записати функцію, яка отримує потік чисел як вхідні дані, і виводить потік чисел, що відповідає сумі елементів потоку, які бачили дотепер).
Але чіткою ціллю цієї роботи є забезпечити дозволення лише обґрунтованих визначень, при цьому все ж допускаючи рекурсивні визначення. Отже, я моделюю потоки як ультраметричні простори і функціонують на них як нерозширені карти (як бік, це узагальнює умови причинності реактивного програмування). Згідно з використовуваною метрикою захищене визначення функцій потоку відповідає контрактивній функції на потоках, і тому теорема Банаха про фіксовану точку існує унікальна фіксована точка. Інтуїтивно зрозуміло, що властивість унікальності означає, що обчислення фіксованих точок працює однаково незалежно від того, з якого простору ми починаємо, тому в результаті ми можемо обчислити фіксовані точки контрактних функцій на просторі, навіть якщо простір не має мінімального елемент у розумінні теорії домену.