η-преобразование против экстенсиональности в расширениях лямбда-исчисления


14

Меня часто смущает связь между η-преобразованием и экстенсиональностью.

Редактировать: Согласно комментариям, мне кажется, я также запутался в связи между экстенсиональной эквивалентностью и наблюдательной эквивалентностью. Но, по крайней мере, в Agda с экстенсиональным равенством для функций (в качестве постулата) и для лямбда-исчисления с простыми типами (которое имеет полностью абстрактную семантику, если я не ошибаюсь), денотационная эквивалентность такая же, как наблюдательная эквивалентность. Не стесняйтесь поправлять меня в комментариях или ответах; Я никогда не получал систематического образования по этим вопросам.

В нетипизированном лямбда-исчислении это-правило дает ту же систему доказательств, что и правило экстенсиональности, как доказано Барендрегтом (цитируется в ответе на этот вопрос ). Я понимаю, что это означает, что система доказательств с eta-правилом является полной для наблюдательной эквивалентности (из других ответов, для которых может потребоваться правило ξ-правила, то есть сокращение под связывателями IIUC; у меня нет проблем с добавлением этого правила) ,

Однако что произойдет, если мы перейдем к типизированному исчислению и добавим расширение этого исчисления дополнительными базовыми типами и соответствующими формами введения и исключения? Можем ли мы написать полную систему доказательств для наблюдательной эквивалентности? Я буду говорить о системах доказательства в форме аксиоматической семантики, следуя Основам языков программирования Митчелла (FPL); система доказательств / аксиоматическая семантика определяет эквивалентность программы.

Вопрос 1 : распространяется ли теорема Барендрегта на STLC? Является ли η-эквивалентность эквивалентной экстенсиональности в этом контексте?

Я просматривающие обсуждения Fpl по PCF (но не закончил раздел еще), и, кажется , что после добавления пары, объемность требуется дополнительное правило, а именно сюрьективное спаривание: pair (Proj1 P, Proj2 P) = P. Интересно, что это правило связывает введение и исключение пар точно так же, как η-правило связывает введение и исключение функций.

Вопрос 2 : Достаточно ли добавить аксиому сюръективного спаривания, чтобы доказать экстенсиональность в простом типе λ-исчисления с парами? редактирование : Вопрос 2b : является ли сюръективное спаривание η-закона, как η-закона, упомянутого в этой статье , из-за структурного сходства, которое я упоминаю?

Давайте пройдем весь путь до PCF сейчас. Описания равенства экстенсиональности, которые я видел, доказывают, что экстенсиональность подразумевает правило доказательства по индукции, но они не говорят, достаточно ли этого. Поскольку PCF полон по Тьюрингу, равенство экстентов неразрешимо . Но это не означает, что не существует полной системы доказательств, поскольку длина доказательств не ограничена. Более уместно, что такая система доказательств могла бы противоречить теоремам Гёделя о неполноте. И этот аргумент может относиться даже к PCF без fix, и к системе Гёделя Т.

Вопрос 3 : Существует ли полная система доказательств для наблюдательной эквивалентности в PCF? Как насчет ПКФ без fix?

Обновление: полная абстракция

Я отвечу здесь на комментарий к полной абстракции. Я думаю, что PCF страдает от двух разных видов проблем: у него нет завершения (через исправление), что приводит к потере полной абстракции, но у него также есть натуральные числа. Обе проблемы затрудняют восприятие эквивалентности наблюдений, но я верю независимо друг от друга.

С одной стороны, PCF теряет полную абстракцию, потому что параллелен или живет в семантической области (Plotkin 1977), и это, похоже, связано с нетерминацией. Ральф Лоудер (Ральф Лоудер, 2000, «Финальный ПКФ не разрешимый») показывает, что конечный ПКФ (без натуралов, но с нетерминацией) уже неразрешим; следовательно, (если я правильно подведу итог) полностью абстрактная семантика не может ограничиваться областями с вычислимыми операциями.

С другой стороны, возьмите систему Гёделя T, в которой нет терминации. (Я не уверен, что у него есть полностью абстрактная семантика, но я предполагаю, что да, потому что проблема упоминается только для PCF; домен должен содержать примитивные рекурсивные функции высшего порядка). Практические основы Harper для языков программирования обсуждают обсервационную эквивалентность для этого языка; Sec. 47.4 называется «Некоторые законы равенства» и показывает некоторые допустимые правила доказательства для наблюдательной эквивалентности. Нигде не говорится, является ли система доказательств завершенной, так что я думаю, что это не так, но также нигде не обсуждается, может ли она быть завершена. Мое лучшее предположение связано с теоремой Гёделя о неполноте.


1
Я думаю, что мог бы ответить на некоторые из них, но я не понимаю, о чем вы спрашиваете. Вопрос, на который вы ссылаетесь, не касается эквивалентности программы. Вы имеете в виду обсервационную эквивалентность? Для какой операционной семантики? Итак, по сути, если вы объясните, что именно означает «доказательство» в вопросе 1, я думаю, что могу догадаться, что происходит. Мое лучшее предположение: вам нужна эквациональная теория, полная для наблюдательной эквивалентности, и вы спрашиваете нас, достаточно ли правил. Это оно? η
Андрей Бауэр

@AndrejBauer: ваше предположение верно, я начну обновлять вопрос.
Blaisorblade

Я не уверен насчет операционной семантики - это имеет значение для оригинальных теорем?
Blaisorblade

Я попытался уточнить вопрос дальше. Но я все еще думаю, что твоя лучшая догадка верна.
Blaisorblade

Здесь есть небольшая проблема: не совсем понятно, что такое для натуральных чисел! Если у вас просто есть только функции и типы продуктов, то вы в ясности: термины обсервационно эквивалентны, если они равны β η . В целом, я думаю, что это связано с проблемой полной абстракции . ηβη
Коди

Ответы:


7

Я не уверен, что смогу полностью ответить на ваш вопрос, но я сделаю попытку и задам несколько моих собственных вопросов, которые могут стимулировать дальнейшее обсуждение этой темы.

Моя первая точка зрения такова: два члена в нетипизированном λ- калькуляторе называются наблюдаемыми равными тогда и только тогда, когда каждый член M : M t  завершается M t  заканчивается  Где заканчивается термин означает «имеет β -нормальную форму»T,T' λM

M T завершаясь M T' завершаясь 
β

Я считаю более естественным рассматривать термины с «дырами» или контекстами вместо просто терминов M и писать E [ t ] вместо M t . Эти два представления, безусловно, эквивалентны (если переменные не связаны контекстом), так как абстракция позволяет превратить контекст E [ _ ] в термин λ x . E [ x ] .Е[_]MЕ[T]M TЕ[_]λИкс,Е[Икс]

Теперь это факт , что наблюдательное равенство в бестиповом исчислении не учитываются при -equality! Действительно, существует целый класс терминов, которые оба не оканчиваются и не имеют нормальных головных форм и, следовательно, все они заметно равны. Их иногда называют вечными или неразрешимыми терминами , и вот два таких термина: ( λ x . X x ) ( λ x . X x ) и ( λ x . X x x ) ( λ x .βη

(λИкс,Икс Икс)(λИкс,Икс Икс)
Довольно легко показать, что эти члены не являются β η -эквивалентными.
(λИкс,Икс Икс Икс)(λИкс,Икс Икс Икс)
βη

Если все вечные члены идентифицированы, то равенство наблюдений полностью фиксируется классическим результатом (см. Теорему Барендрегта 16.2.7).


Теперь о печатных исчислениях. Давайте сначала рассмотрим простой тип вычисления без натуральных чисел. Вышеупомянутое определение наблюдательного равенства становится тривиальным, так как каждый член нормализуется! Нам нужно более тонкое различие. Мы будем использовать равенство значений t 1t 2 для замкнутых членов, определяемых индукцией по типу t 1 и t 2 . Давайте сначала добавим для каждого типа A бесконечное число констант c A , c A , c A , . Мы выберем некоторую константу с хλT1T2T1T2AсA,сA',сA",...сИкссоответствующего типа, чтобы соответствовать каждой переменной .Икс

  1. На базовой типа , т 1т 2 тогда и только тогда β -Руководитель нормальной формой т 1 является с U 1 ... U п и что из т 2 является д v 1 ... v п и с = д , и у 1v 1 , , U nv n в их соответствующих типах.ВT1T2βT1с U1...UNT2d v1...vNсзнак равноdU1v1,...,UNvN

  2. При типе стрелки если оба слагаемых β -редуцируют к λ- абстракции.T1T2βλ

Обратите внимание, что я использую только преобразование в этом определении.β

Теперь я определяю контексты следующим образом: с контекстом заголовка, приложением, абстракцией и заменой (закрытыми терминами) соответственно.

[_]E[_] ut E[_]λx. E[_]E[_]θ

Затем мы можем определить и t , хорошо типизированные типа T, чтобы быть наблюдательно эквивалентными тогда и только тогда, когда для каждого контекста E [ _ ] такие, что E [ t ] , E [ t ] хорошо типизированы и замкнуты . E [ t ] E [ t ] мы напишем t = o b s t в этом случаеttTE[_]Е[T],Е[T']

Е[T]Е[T']
Tзнак равнообsT'

Теперь легко заметить, что если то t = o b s t . Другое направление менее тривиально, но также справедливо: действительно, если t = o b s t , то мы можем показать, что слагаемые равны для β η по индукции по типу:Tзнак равноβηT'Tзнак равнообsT'Tзнак равнообsT'βη

  1. В базовом типе просто возьмите в качестве [ _ ] θ , а θ - подстановку, которая отправляет x в c x . Имеем E [ t ] = t θ и E [ t ] = t θ . Имеем t θ β c x u 1 θ u n θ и t θ Е[_][_]θθИкссИксЕ[T]знак равноTθЕ[T']знак равноT'θTθβсИкс U1θ...UNθ . Тогда мы имеем c x = c x и, следовательно, x = x . Теперь мы не можем сразу сделать вывод, что u i θ = β η v i θ . Действительно, если u i и v i являются λ- абстракциями, то тривиально u i θ v i θ ! Хитрость здесь в том, чтобы отправить хT'θβсИкс' v1θ...vNθсИксзнак равносИкс'Иксзнак равноИкс'Uяθзнак равноβηvяθUяvяλuiθviθxдо и повторять это столько раз, сколько необходимо. Я немного неясен в деталях здесь, но идея похожа на теорему Бома ( снова Барендрегт 10.4.2).

    λy.cx~ (y1c1)(yncn)
  2. При типе стрелки выберите как [ _ ] c y , то есть приложение к c y с c y, а y не в t или t . По предположению индукции имеем: t c y = β η t c y и, следовательно, t y = β η t y, что дает λ y . t y = βE[_][_] cycycyytt

    t cy =βη t cy
    t y =βη t y
    и, наконец, поη-равенству: t = β η t λy.t y =βη λ.t yη
    t =βη t

Это было сложнее, чем ожидалось!


N0SrecTTβ

реcT u v 0βu
recT u v (S n)βv n (recT u v n)

η

λx.x =βη recN 0 (λk m.S m)
m

f (S x) =βη h x (f x)f t =βηrecT (f 0) h t
xηh

MtMTtM (S S 0)n S1Mn0

M

tM =λx.0
βηM
0 =βη S 0
TtM=λx.0

Спасибо за Ваш ответ! Мой первый вопрос: обычно ли в контекстах есть замены для наблюдательной эквивалентности? По крайней мере, статья Плоткина о LCF (1997) не делает этого (хотя я могу представить, что нечто подобное имело бы смысл в некотором исчислении замыканий, где что-то вроде подстановок является частью синтаксиса). Но я легко вижу, что для каждого контекста «подстановки» можно определить более (для меня) «стандартный» контекст, который использует только лямбда-абстракцию и приложение, скажем (λx. []) C_x; поэтому я предполагаю, что приведенная выше наблюдательная эквивалентность эквивалентна определению, к которому я привык.
Blaisorblade

Tзнак равноλИкс+0,00знак равноβηS0M0знак равноβηS00βηS 0

MTзнак равноλИкс,0

1
пA01пA0знак равно1T
е 0знак равнограмм 0е (S 0)знак равнограмм (S 0)...езнак равнограмм

1
Это верно! Хотя иногда имеет смысл рассматривать такие «бесконечные» системы для теоретических целей (например, порядковый анализ).
Коди
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.