В этом контексте двойственность означает взятие наименьшей фиксированной точки в одном случае и наибольшей фиксированной точки в другом. Мы должны попытаться понять, в каком смысле и являются "наименее" и "наибольшим" решением рекурсивного уравнения .G = ∃ Х . ( X → F ( X ) ) × X F ( X ) ≅ XL = ∀ X, ( F( Х) → X) → XG = ∃ X, ( Х→ F( Х) ) × XF( Х) ≅Икс
Прежде всего, и действительно являются фиксированными точками (при определенных технических предположениях, которые ограничивают природу ), потому что сравнение отображает и заданное
и
являются изоморфизмами. Обратите внимание, что мы использовали тот факт, что является функтором, т. Е. Монотонным, когда применяем его к функциям.G F v : F ( L ) → L w : G → F ( G ) vLграммFV : F( L ) → Lw : G → F( G )w ( X , ( f , x ) ) = F ( λ y : X
vИксИксграмм= г( F( λ ч : L,часИксграмм)х )
FW ( X, ( ф, х ) ) = F( λ y: X,( Х, ( ф, у) ) )( фх )
F
Пусть любого решения с посредническим изоморфизмом . Тогда у нас есть канонические карты определяемые как
и
Следовательно, является наименьшим, потому что мы можем отобразить из него любое другое решение, а является наибольшим, потому что мы можем отобразить из любого другого решения его. Мы могли бы сделать все это более точным, говоря о начальных алгебрах и конечных коалгебрах, но я хочу, чтобы мой ответ был коротким и приятным, и Коди все равно объяснил алгебры.F ( Y ) ≅ Y u : F ( Y ) → Y α : L → Y и β : Y → G αYF( Y) ≅YU : F( Y) → Y
α : L → Y и β: Y→ G
βαе= фYU
L GβY= ( Y, ( ты- 1, у) ) .
Lграмм
На практике наименьшее количество решений - это нетерпеливые типы данных, а наибольшие решения - это ленивые типы данных. Например, если , то в первом случае мы получаем конечные списки «s и во втором конечных и бесконечных списков » с.A AF( Х) = 1 + A × XAA