Главная » Просмотр файлов » Диссертация

Диссертация (1150902), страница 10

Файл №1150902 Диссертация (Трассирующая нормализация) 10 страницаДиссертация (1150902) страница 102019-06-29СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 10)

Переменная S является свободной, следовательно, вызываетсяфункция применения продолжения apk. Поскольку ch не пуст, вызывается функция eval на аргументе последнего применения, который ещё не был просмотрени не образует спинального редекса. В данном случае таковым является токен @6 .@1 @2 λs1 λz1 @3 s1 @7 λs2 λz2 @5 s2 S @6Наконец, обход завершится за тридцать шагов. Итоговый обход представленна рисунке 21а).Нормальная форма может быть получена из итогового обхода терма удалением из него всех токенов, участвующих в формировании спинальных редексов, атакже всех вхождений связанных переменных, вместо которых была произведе-56@1 @2 λs1 λz1 @3 s1 @7 λs2 λz2 @5 s2 S @6 s2 S z2 @4 s1 @7 λs2 λz2 @5 s2 S @6 s2 S z2 z1 Zа) Итоговый обход@5@6S@5S@6S@5 S @6 S @5 S @6 S Zб) Обход после “очистки”SZв) АСД терма соответствующегообходу после “очистки”Рисунок 21.

Результат работы UNP на терме mul ⃗2 ⃗2на подстановка. Результатом такой “очистки” обхода, полученного посредствомалгоритма трассирующей нормализации, будет обход абстрактного синтаксического дерева нормальной формы терма в глубину. Оба они приведены на рисунках16 21б) и 21в) соответственно. Как и ожидалось, им соответствует термS(S(S(S Z))), являющийся нормальной формой исходного терма, mul ⃗2 ⃗2.На рисунке видно, что некоторые токены (вершины АСД исходного терма mul ⃗2 ⃗2) могут встречаться в результатенесколько раз, хотя входить в исходный терм многие их них могли лишь один раз. Например, оба токена применения, @5 и @6 , встречаются дважды, а свободная переменная S встречается аж четыре раза.

В данной ситуации нетникакого противоречия: токены применения рассматриваются, игнорируя нумерацию, которая была нужна лишь длябольшей наглядности графических представлений обходов, также игнорируются и имена переменных. Напомним,что мы рассматриваем переменные сразу в двух представлениях: именованном и анонимном. Таким образом, послеуничтожения имён, переменные представляются индексами де Брауна, а абстракции становятся анонимными.1657Глава 4Корректность алгоритматрассирующей нормализациидля нетипизированноголямбда-исчисленияДанная глава посвящена доказательству17 корректности алгоритма трассирующей нормализации для нетипизированного лямбда-исчисления, приведённого вразделе 3.5. Для этого вводится ограниченная версия алгоритма трассирующейнормализации, BUNP, в виде системы переходов (см.

раздел 4.1), и устанавливается соответствие между ней и системой переходов для головной линейной редукцией (см. теорему 4). Затем в раздел 4.1.1 и сам алгоритм трассирующей нормализации представляется в виде системы переходов, которая в свою очередь являетсярасширением системы переходов для BUNP, а также устанавливается соответствие между этой системой и системой переходов для полной головной линейнойредукции — см. теорему 5.58Обозначенияiiсоответствующий указатель на некоторую вершину i (в т.ч. и nil)указатель стека висячих аргументовопциональный указатель стека висячих аргументовобощённый связывающий указательдоступность по цепочке связывающих указателейСостояниеобходaНачальное состояниекорень AST входноготермаКонечное состояниеобходbПравила переходовii(BVar) .

. . @ . . . λx . . . x →@=_e→j. . . @ . . . λx . . . x ejnil nilnil(Lam-Non-Elim). . . λx→ λx = λx.e→→ λx = λx.e→ . . . @1 . . . @2 . . . λx ei→→. . . λx e(Lam-Elim). . . @1 . . . @2 . . . λxi(App)... @@=e_a... @ eДля удобства формального изложения мы будем считать, что состоянием системы переходов дляBUNP является тройка ⟨t; β; α⟩, где t : Σ → [1 .. |t|] является упорядоченной последовательностью,|t| — длина обхода t, a частичные функции α, β : [1 ..

|t|] ⇀ [1 .. |t| − 1] определяют множествауказателей стека висячих аргументов и связывающих указателей соответственно.bКонечным состоянием является обход, такой, что его последний токен является токеномпеременной, не имеющим указателя висячих аргументов, t = _ • x : α(x) = ⊥, являющейся либосвободной, ̸ ∃k ∈ N : α ◦ β k (x) = λx, либо связанной, чья абстракция не связана никаким простымредексом, ∢k ∈ N : β k (x) = λx => β k (x) = λx ∈/ D(α).Рисунок 22. Система переходов для BUNP594.1.

Головная линейная редукция и ограниченнаяверсия алгоритма трассирующей нормализацииВ этом разделе представлена ограниченная версия алгоритма трассирующейнормализации в виде системы переходов, и установлено соответствие между приведёнными системами переходов для головной линейной редукции (см. рис. 9) иограниченной версии алгоритма трассирующей нормализации (см. рис. 22).4.1.1.

Система переходов для BUNPBUNP, или базовый UNP, является ограниченной версией UNP (см. раздел 3.5, [73]). BUNP соответствует головной линейной редукции, являющейсяосновой для полной головной линейной редукции. Далее мы установим соответствие между системами переходов для BUNP и HLR, определив функцию преобразования состояний одной системы переходов в состояния другой. Более того,правила переходов рассматриваемых систем переходов напрямую отображаютсядруг в друга. В отличие от HLR, состояние системы переходов для BUNP является обоснованной последовательностью вершин входного лямбда-терма, снабжённых указателями на ранние вершины последовательности.

В BUNP существуетдва следующих рода указателей.– Обобщённый связывающий указатель (generalised binder backpointer). Длякраткости мы часто будем упускать слово “обобщённый” и говорить просто — связывающий указатель. На диаграммах, представляющих обходы,он будет обозначаться зелёной стрелкой под последовательностью токенов.Связывающий указатель является BUNP-эквивалентом окружения: он позволяет построить соответствующее окружение на каждом шаге алгоритма.Для каждого токена он указывает на токен, представляющий последнююабстракцию, которую необходимо добавить в окружение при его формировании, если эта абстракция участвует в образовании какого-либо простогоредекса.17Доказательство опубликовано в [94].60– Указатель стека висячих аргументов. На диаграммах он будет представлен коричневой стрелкой, изображаемой над последовательностью токенов.Указатель стека висячих аргументов является BUNP-эквивалентом стека висячих указателей σ системы переходов для HLR.

Инвариантом этого указателя является то, что он всегда указывает либо на токен, представляющийприменение термов, либо отсутствует вовсе. Указатель стека висячих аргументов позволяет конструировать список спинальных аргументов терма накаждом шаге алгоритма. Заметим, что любое вхождение нижеследующегошаблона в обход формирует простой редекс (λx, A), где A — спинальныйаргумент (аргумент @ в АСД терма), а λx — головная абстракция.. . . @ . . .

λx . . .Таким образом, указатель стека висячих аргументов для токеновабстракций всегда указывает на токен-применение, с аргументом которогоон формирует простой редекс, а для остальных токенов — на применение,являющиеся непосредственным предком последнего спинального аргумента. В некоторых случаях, чтобы подчеркнуть, что некоторый токен неимеет указателя стека висячих аргументов, мы будем вводить специальнуювершину nil за пределами обхода, на которую соответствующий указательи будет указывать.Система переходов для BUNP приведена на рис. 2218 . Для краткости изложения и ясности графического представления, а также в виду их простоты, правила установки обобщённого связывающего указателя опущены во всех правилах,кроме (BVar). Для всех остальных правил применяется следующее правило установки обобщённого связывающего указателя: если последний токен обхода былабстракцией, то у добавляемого в обход токена обобщённый связывающий указатель выставляется на эту самую абстракцию, в противном случае он выставляетсятакой же, как у предыдущего токена.18Заметим, что правила (Lam-Elim) и (Lam-Non-Elim), вообще говоря, могут быть объедены в одно.

Тем не менее, для более наглядного представления и взаимной-однозначности соответствия между одноимёнными правиламисистем переходов для HLR и BUNP мы вводим правила именно в таком виде.614.1.2. Соответствие между головной линейной редукцией иограниченной версией алгоритма трассирующей нормализации для нетипизированного лямбда-исчисленияМы установим соответствие между приведёнными в предыдущих разделахсистемами переходов для HLR (см. рис.

9) и BUNP (см. рис. 22). Мы покажем, что как состояния систем переходов, так и их шаги находятся во взаимнооднозначном соответствии.Для того, чтобы восстановить состояние системы переходов для HLR из текущего обхода, необходимо определить каждую из его компонент: текущий терм свыделенной вершиной, текущее окружение ρ и корректный стек висячих аргументов σ. Итак, пусть дан обход t, тогда терм, окружение и стек висячих аргументовмогут быть восстановлены из него нижеследующим образом.– Терм. Обход t представляет собой подпоследовательность самого левого пути в абстрактном синтаксическом дереве терма. Таким образом, для восстановления соответствующего первого компонента системы переходов дляHLR необходимо снабдить токены-применения соответствующими висячими аргументами, игнорируя вхождения связанных переменных, и выделитьвершину, соответствующую последнему токену обхода.– Окружение.

Напомним, что каждое вхождение шаблона. . . @ . . . λx . . .определяет простой редекс (λx, A), где A является аргументом вершиныприменения @. Если последним токеном текущего обхода является абстракция, то при восстановлении окружения обход рассматривается без учётаэтой абстракции. Пусть R — множество всех простых редексов обхода t,Λ — список лямбда-абстракций, доступных из последнего токена по цепочке связывающих указателей, тогда текущее окружение ρ(t) = {x 7→(A, ρ′ ) | (λx,A) ∈ R} ↾ Λ, где ρ′ определено рекурсивно. Заметим, чтомы подразумеваем, что множество R упорядочено: пусть r1 = (λx,A), r2 =(λy, B) ∈ R, тогда r1 > r2 тогда и только тогда, когда токен λx входит вобход до токена λy.62– Висячие аргументы.

Стек висячих аргументов получается из обхода ограничением последнего на список токенов, доступных из него по цепочке указателей висячих аргументов, и снабжением их соответствующими окружениями, согласно предыдущему пункту.T = ⟨t; β; α⟩ruleTT ′ = ⟨t′ ; β ′ ; α′ ⟩S = ⟨M ; ρ; σ⟩ruleSS ′ = ⟨M ′ ; ρ′ ; σ ′ ⟩Рисунок 23. Иллюстрация к Теореме 4Теорема 4 (Согласованность систем переходов для BUNP и HLR).

Характеристики

Тип файла
PDF-файл
Размер
1,34 Mb
Высшее учебное заведение

Список файлов диссертации

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее