По-перше, коментар. Рішення вашого питання залежить від того, наскільки геометрично ви маєте на увазі слово "метрика". Досить часто застосовувати ультраметрику в семантиці та статичному аналізі, але ультраметрика, як правило, має комбінаторну, а не геометричну інтерпретацію. (Це варіант спостереження, згідно з яким теорія доменів має вигляд комбінаторного, а не геометричного використання топології.)
Однак, я наведу вам приклад того, як це випливає з доказів програми. По-перше, нагадаємо, що в підтвердженні програми ми хочемо показати, що формула, що описує програму, має місце. Загалом ця формула не обов'язково повинна тлумачитися булевими, але може бути виведена з елементів деяких решіток значень істини. Тоді справжня формула - це лише та, яка дорівнює вершині решітки.
Крім того, при вказівці дуже самореференційних програм (наприклад, програм, які широко використовують коди, що змінюються), питання можуть бути дуже важкими. Ми, як правило, хочемо дати рекурсивну специфікацію програми, але може бути не очевидна індуктивна структура, на якій можна повісити визначення. Щоб вирішити цю проблему, часто корисно оснастити решітки значення істини додатковою метричною структурою. Потім, якщо ви зможете показати, що предикат, фіксовану точку якого ви хочете, є строго контрактивним, ви можете звернутися до теореми фіксованої точки Банаха, щоб зробити висновок про те, що рекурсивний предикат, який ви хочете, чітко визначений.
Справа, яка мені найбільше знайома, називається "ступенева індексація". У цьому налаштуванні ми беремо наші значення істинних решіток як закриті вниз підмножини N , елементи яких ми можемо вільно інтерпретувати як "довжини послідовностей оцінювання, на яких утримується властивість". Зустрічі та приєднання - це перехрестя та об'єднання, як зазвичай, і оскільки ґрати завершені, ми також можемо визначити наслідки Хейтінга. Решітка також може бути обладнана ультраметричною, дозволяючи відстань між двома елементами решітки дорівнювати 2 - n , де n - найменший елемент в одній множині, а не інший.ΩN2−nn
Тоді Баехова карта стиснення тоерем говорить нам, що контрактивний предикат має унікальну фіксовану точку. Інтуїтивно це говорить про те, що якщо ми можемо визначити присудок, який містить n + 1 кроків, використовуючи версію, яка містить n кроків, то насправді ми маємо однозначне визначення присудка. Якщо ми покажемо, що предикат дорівнює ⊤ = N , то ми знаємо, що предикат завжди має місце у програмі.p:Ω→Ωn+1n⊤=N