Jump to content

Вычислимая топология

Вычислимая топология — это математическая дисциплина, изучающая топологическую и алгебраическую структуру вычислений . Вычислимую топологию не следует путать с алгоритмической или вычислительной топологией , которая изучает применение вычислений в топологии.

Топология лямбда-исчисления

[ редактировать ]

Как показали Алан Тьюринг и Алонсо Чёрч , λ-исчисление достаточно сильное, чтобы описать все механически вычислимые функции (см. тезис Чёрча – Тьюринга ). [1] [2] [3] Таким образом, лямбда-исчисление фактически является языком программирования, на основе которого могут быть созданы другие языки. По этой причине при рассмотрении топологии вычислений принято сосредотачиваться на топологии λ-исчисления. Обратите внимание, что это не обязательно полное описание топологии вычислений, поскольку функции, эквивалентные в смысле Чёрча-Тьюринга, все равно могут иметь разные топологии.

Топологией λ λ-исчисления является топология Скотта , и когда оно ограничено непрерывными функциями, -исчисление без типов представляет собой топологическое пространство, зависящее от древовидной топологии . И топологии Скотта, и Древа демонстрируют непрерывность относительно бинарных операторов применения ( f применительно к a = fa ) и абстракции ((λx.t(x))a = t(a)) с модульным отношением эквивалентности, основанным на конгруэнтность . λ-алгебра, описывающая алгебраическую структуру лямбда-исчисления, оказывается расширением комбинаторной алгебры с элементом, введенным для обеспечения абстракции.

без типов λ-исчисление рассматривает функции как правила и не различает функции и объекты, к которым они применяются, то есть λ-исчисление не имеет типов . Побочным продуктом λ-исчисления без типов является эффективная вычислимость, эквивалентная общей рекурсии и машинам Тьюринга . [4] Набор λ-термов можно рассматривать как функциональную топологию, в которую может быть встроено функциональное пространство , то есть λ-отображения внутри пространства X таковы, что λ:X → X. [4] [5] Представленная в ноябре 1969 года нетипизированная теоретико-множественная модель Даны Скотт построила правильную топологию для любой модели λ-исчисления, функциональное пространство которой ограничено непрерывными функциями. [4] [5] Результатом топологии непрерывного λ-исчисления Скотта является функциональное пространство, построенное на семантике программирования, допускающей комбинаторику с фиксированной точкой, такую ​​​​как Y-комбинатор , и типы данных. [6] [7] К 1971 году λ-исчисление было способно определять любые последовательные вычисления и могло быть легко адаптировано к параллельным вычислениям. [8] Сводимость всех вычислений к λ-исчислению позволяет этим λ-топологическим свойствам быть принятыми всеми языками программирования. [4]

Вычислительная алгебра из алгебры λ-исчисления

[ редактировать ]

На основе операторов лямбда-исчисления , применения и абстракции можно разработать алгебру, групповая структура которой использует применение и абстракцию в качестве бинарных операторов. Применение определяется как операция между лямбда-терминами , создающая λ-термин, например, применение λ к лямбда-термину a дает лямбда-термин λa . Абстракция включает неопределенные переменные, обозначая λx.t(x) как функцию, присваивающую переменную a лямбда-терму со значением t(a) посредством операции ((λ xt(x))a = t(a)). Наконец, возникает отношение эквивалентности , которое идентифицирует λ-термины по модулю конвертируемых термов, примером является бета-нормальная форма .

Топология Скотта

[ редактировать ]

Топология Скотта важна для понимания топологической структуры вычислений, выраженной через λ-исчисление. Скотт обнаружил, что после построения функционального пространства с использованием λ-исчисления можно получить пространство Колмогорова , топологическое пространство, которое демонстрирует поточечную сходимость , короче говоря, топологию произведения . [9] Именно способность самогомеоморфизма, а также способность вкладывать каждое пространство в такое пространство, обозначенное как непрерывное Скотта , как описано ранее, позволяет топологии Скотта быть применимой к логике и теории рекурсивных функций. Скотт приближается к своему выводу, используя полную решетку , что приводит к топологии, зависящей от структуры решетки. Обобщить теорию Скотта можно с использованием полных частичных порядков . По этой причине более общее понимание вычислительной топологии обеспечивается посредством полных частичных порядков. Мы повторим это еще раз, чтобы ознакомиться с обозначениями, которые будут использоваться при обсуждении топологии Скотта.

Полные частичные заказы определяются следующим образом:

Во-первых, для частично упорядоченного множества D=(D,妻) непустое подмножество X D является направленным , если ∀ x,y X z X, где x z & y z .

D является полным частичным порядком (cpo), если:

⋅ Каждое направленное X ⊆D имеет верхнюю грань и:
нижний элемент ⊥ ∈ D такой, что ∀ x D ⊥ ≤ x .

Теперь мы можем определить топологию Скотта над cpo (D, ≤).

O D открыт , если:

  1. если x ∈ O и x ≤ y, то y ∈ O, т. е. O — верхнее множество .
  2. для направленного множества X ⊆ D и супремума (X) ∈ O, то X ∩ O ≠ ∅.

Используя топологическое определение открытости Скотта, становится очевидным, что все топологические свойства соблюдены.

⋅∅ и D, т. е. пустое множество и все пространство, открыты.
⋅Произвольные объединения открытых множеств открыты:
Доказательство : предположим открыт там, где i ∈ I, где I — набор индексов. Определим U = ∪{ ; я € I}. Возьмем b как элемент верхнего множества U, поэтому a ⩽ b для некоторого a ∈ U. Должно быть, что a для некоторого i аналогично b ∈ расстроен( ). Следовательно, U также должно быть верхним, поскольку € У.
Аналогично, если D — ориентированное множество с супремумом в U, то по предположению sup(D) ∈ где открыт. Таким образом, существует a b ∈ D, где b ∈ . Объединение открытых множеств поэтому открыт.
⋅Открытые множества под пересечением открыты:
Доказательство . Для двух открытых множеств, и V , определим W = U V. U Если W = ∅, то W открыт. Если непусто, скажем, b ∈ беспорядка(W) (верхнее множество W), то для некоторого a W , a b . Поскольку a U V и b — элемент верхнего множества как U так и V , то b W. ,
Наконец, если D — направленное множество с супремумом в W , то по предположению sup( D ) ∈ . Итак, существует a и b . Поскольку D направлено, существует c D такой, что ; и поскольку U и V — верхние множества, c также.

Хотя здесь это не показано, но это тот случай, когда карта является непрерывным тогда и только тогда, когда f (sup( X )) = sup( f ( X )) для всех направленных X D , где f ( X ) = { f ( x ) | x X } и вторая верхняя грань в . [4]

Прежде чем мы начнем объяснять, что применение, обычное для λ-исчисления, непрерывно в топологии Скотта, нам потребуется определенное понимание поведения супремумов над непрерывными функциями, а также условий, необходимых для того, чтобы произведение пространств было непрерывным, а именно:

  1. С быть ориентированным семейством отображений, тогда если они четко определены и непрерывны.
  2. Если Ф направлен и cpo и cpo, где sup({ f ( x ) | f F }).

Теперь мы покажем непрерывность применения . Используя определение приложения следующим образом:

Ап: где Ap ( ж , Икс ) = Ж ( Икс ).

Ap непрерывен относительно топологии Скотта на произведении ( ) :

Доказательство : λx.f(x) = f непрерывно. Пусть h = λ ff(x). Для направленного F
час (суп( F )) = суп( F )( Икс )
знак равно суп ( { ж ( Икс ) | ж F } )
знак равно суп ( { час ( ж ) | ж F } )
знак равно суп( час ( F ) )
По определению непрерывности Скотта h было показано непрерывным. Все, что теперь требуется доказать, это то, что приложение является непрерывным, когда его отдельные аргументы непрерывны, т.е. и непрерывны, в нашем случае f и h .
Теперь абстрагируем наш аргумент, чтобы показать с и в качестве аргументов в пользу D и соответственно, то для направленного X ⊆ D
= f( суп( (x, ) | х € X} ))
(поскольку f непрерывна и {(x, ) | x ∈ X}) направлен):
= суп( {f(x, ) | х € X})
= суп(г(Х))
поэтому g непрерывен. Тот же процесс можно использовать, чтобы показать, что d непрерывен.
Теперь было показано, что приложение является непрерывным в топологии Скотта.

Чтобы продемонстрировать, что топология Скотта подходит для λ-исчисления, необходимо доказать, что абстракция остается непрерывной в топологии Скотта. После завершения будет показано, что математическая основа λ-исчисления представляет собой четко определенную и подходящую функциональную парадигму-кандидата для топологии Скотта.

С мы определяем (x) =λ y ∈ f(x,y)Покажем:

(я) является непрерывным, то есть
(ii) л является непрерывным.
Доказательство (i): пусть X ⊆ D направлено, тогда
(sup(X)) = λyf(sup(X),y)
= λ у. ( е (х, у) )
= ( λy.f(x,y) )
= суп( (Х))
Доказательство (ii): определение L = λ тогда для Ф направленный
L(sup(F)) = λ x λ y. (sup(F))(x,y))
= λ х λ у. е (х, у)
= λx λy.f(x,y)
= суп(L(F))

Не было продемонстрировано, как и почему λ-исчисление определяет топологию Скотта.

Деревья Бема и вычислительная топология

[ редактировать ]

Деревья Бема , легко представленные графически, выражают вычислительное поведение лямбда-члена . Функциональность данного лямбда-выражения можно предсказать, обратившись к соответствующему ему дереву Бема. [4] Деревья Бема можно рассматривать как нечто аналогичное где дерево Бема данного набора похоже на непрерывную дробь действительного числа, и, более того, дерево Бема, соответствующее последовательности в нормальной форме , конечно, подобно рациональному подмножеству действительных чисел.

Деревья Бема определяются отображением элементов внутри последовательности чисел с порядком (≤, lh) и бинарным оператором * в набор символов. Тогда дерево Бема представляет собой отношение между набором символов посредством частичного отображения ψ.

Неформально деревья Бема можно представить следующим образом:

Дано: Σ = { λ x_{1} x_{n} . и | n ∈ y — переменные, и обозначая BT(M) как дерево Бема для лямбда-терма M, мы тогда имеем:
BT(M) = ⊥, если M неразрешима (следовательно, один узел)


БТ(М) = λ
                  /    \
БТ( БТ( ) ; если M разрешимо

Более формально:

Σ определяется как набор символов. Дерево Бёма λ-терма M, обозначаемого BT(M), представляет собой дерево с меткой Σ, определяемое следующим образом:

Если M неразрешимо:
БТ(М)( ) неразрешима

Если M разрешимо, где M = λ x_{1} :

ВТ(М)(< >) = λ x_{1}
БТ(М)( ) = БТ(M_k)( ) и к < м
= не определено и k ≥ m

Теперь мы можем перейти к показу, что деревья Бема действуют как подходящие отображения древесной топологии в топологию Скотта. Позволяет рассматривать вычислительные конструкции, будь то в рамках топологии Скотта или дерева, как древовидные образования Бема.

Дерево Бема и древовидная топология.

[ редактировать ]

Обнаружено, что деревья Бёма допускают непрерывное отображение древесной топологии в топологию Скотта. Более конкретно:

Начнем с cpo B = (B,⊆) в топологии Скотта, с упорядочивания деревьев Бёма, обозначаемых M⊆ N, что означает, что M, N являются деревьями, а M являются результатами N. Древовидная топология на множестве Ɣ — это наименьшее множество позволяющая создать непрерывную карту

БТ: Б.

Эквивалентным определением было бы сказать, что открытые множества Ɣ являются образом обратного дерева Бема. (O) где O — Скотт, открытый B. в

Применимость деревьев Бёма и древовидной топологии имеет множество интересных последствий для λ-членов, выраженных топологически:

Обнаружено, что нормальные формы существуют как изолированные точки.
Неразрешимые λ-члены являются точками компактификации.
Приложение и абстракция, подобно топологии Скотта, непрерывны в древовидной топологии.

Алгебраическая структура вычислений

[ редактировать ]

Новые методы интерпретации λ-исчисления не только интересны сами по себе, но и позволяют по-новому взглянуть на поведение информатики. Бинарный оператор в λ-алгебре A является прикладным. Приложение обозначается ⋅ и считается, что оно дает структуру . Комбинаторная алгебра допускает использование оператора приложения и выступает в качестве полезной отправной точки, но остается недостаточной для λ-исчисления, поскольку не может выразить абстракцию. Алгебра λ становится комбинаторной алгеброй M в сочетании с синтаксическим оператором λ*, который преобразует терм B(x,y) с константами из M в C( )≡ λ* xB(x, ). Также возможно определить модель расширения , чтобы обойти необходимость использования оператора λ*, разрешив ∀x (fx =gx) ⇒ f =g. Построение λ-алгебры путем введения оператора абстракции происходит следующим образом:

Мы должны построить алгебру, которая допускает решения таких уравнений, как axy = xyy, такие, что a = λ xy.xyy, и возникает необходимость в комбинаторной алгебре. Соответствующими атрибутами комбинаторной алгебры являются:

В рамках комбинаторной алгебры существуют аппликативные структуры . Аппликативная структура W представляет собой комбинаторную алгебру при условии:

⋅W нетривиален, то есть мощность W > 1.
⋅W обладает комбинаторной полнотой (см. полноту базиса SK ). Более конкретно: для каждого терма A ∈ множества термов W и со свободными переменными A внутри затем:
где

Комбинаторная алгебра – это:

  • Никогда не коммутативен
  • Не ассоциативно.
  • Никогда не ограничен.
  • Никогда не рекурсивно.

Комбинаторные алгебры по-прежнему не могут выступать в качестве алгебраической структуры для λ-исчисления, а отсутствие рекурсии является основным недостатком. Однако существование аппликативного термина ) обеспечивает хорошую отправную точку для построения алгебры λ-исчисления. Что необходимо, так это введение лямбда-члена , т.е. включить λx.A(x, ).

Начнем с использования того факта, что в комбинаторной алгебре M с A(x, ) внутри множества слагаемых, то:

st bx = A(x, ).

Затем мы требуем, чтобы b зависело от в результате чего:

Б( )x = A(x, ).

Б( ) становится эквивалентным члену λ и поэтому подходящим образом определяется следующим образом: B( л*.

) . Теперь можно определить пре-λ-алгебру (pλA

pλA — аппликативная структура W = (X,⋅) такая, что для каждого терма A внутри множества термов внутри W и для каждого x существует терм λ*xA ∈ T(W) (T(W) ≡ термы из W) где (множество свободных переменных λ*xA) = (множество свободных переменных A) — {x}. W также должен продемонстрировать:
(λ*xA)x = А
λ*xA≡ λ*xA[x:=y] при условии, что y не является свободной переменной A
(λ*xA)[y:=z]≡λ*xA[x:=y] при условии, что y,z ≠ x и z не является свободной переменной A

Прежде чем определить полную λ-алгебру, мы должны ввести следующее определение множества λ-термов внутри W, обозначаемых со следующими требованиями:

а € W
х € для x ∈ ( )
M,N ∈ (МН) ∈
М € (λx.M) ∈

Сопоставление терминов внутри всем членам λ внутри W, обозначенным * : , то можно спроектировать следующим образом:

(МН)* = М* Н*
(λx.M)* = λ* x*.M*

Теперь мы определяем λ (M) для обозначения расширения после оценки членов внутри .

λx.(λy.yx) = λx. x в λ (Вт).

Наконец, мы получаем полную λ-алгебру посредством следующего определения:

(1) λ-алгебра – это pλA W такая, что для M,N ∈ Ɣ(W):
λ (W) M = N ⇒ W ⊨ M = N.

Несмотря на трудности, была заложена основа для правильной алгебраической структуры, в которой λ-исчисление и, следовательно, вычисления могут быть исследованы теоретико-групповым способом.

  1. Церковь 1934:90, сноска в Дэвисе, 1952 г.
  2. ^ Тьюринг 1936–7 в Дэвисе 1952: 149
  3. ^ Барендрегт, HP, Синтаксис и семантика лямбда-исчисления. Издательство Северной Голландии. 1981 год
  4. ^ Jump up to: а б с д и ж Барендрегт, Х.П., Синтаксис и семантика лямбда-исчисления. Издательство Северной Голландии. 1981.
  5. ^ Jump up to: а б Д.С. Скотт. Модели для λ-исчисления. Неофициально распространено, 1969 г. Примечания, декабрь 1969 г., Oxford Univ.
  6. ^ Гордон, MJC, Денотационное описание языков программирования. Шпрингер Верлаг, Берлин. 1979.
  7. ^ Скотт, Д.С. и Стрейчи, К. На пути к математической семантике компьютерных языков, Proc. Симп. по компьютерам и автоматам, Политехнический институт Бруклина, 21, стр. 19 46. 1971.
  8. ^ Г. Берри, Последовательные алгоритмы для конкретных структур данных, Theoretical Computer Science 20, 265 321 (1982).
  9. ^ DS Скотт. «Непрерывные решетки». Вычислительная лаборатория Оксфордского университета, август 1971 года.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 43e00646b3cde37cc436cad013e4450a__1718748900
URL1:https://arc.ask3.ru/arc/aa/43/0a/43e00646b3cde37cc436cad013e4450a.html
Заголовок, (Title) документа по адресу, URL1:
Computable topology - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)