Эквивалентность - это просто эквивалентность в обсуждаемой эквациональной теории. В данном случае это теория, изложенная в таблице 1. Обратите внимание, что в эту теорию не входит : это сделает теорию экстенсиональной, и суть в том, что уважает , в то время как это делает CL частично экстенсиональный. Я не уверен, почему другой ответ упоминает .ληξλη
Обратите внимание, что в :λ
(M=βN)⟹(λx.M=βλx.N)(1)
Это должно быть интуитивно очевидно: если является -конвертируемым в когда он стоит сам по себе, то он также -конвертируемым в когда он является .MβNβNλx.M
-правило, определяется как
делает этот вывод напрямую возможным, когда он является частью -theory. Его аналогом CL будет:
ξ
M(λx.M)=N=(λx.N)(ξλ)
λM(λ∗x.M)=N=(λ∗x.N)(ξCL)
Теперь дело в том, что в CL не выполняется следующее :
(M=wN)⟹(λ∗x.M=wλ∗x.N)(2)
Другими словами, если два члена слабо равны, то это не обязательно верно для их псевдообращенных версий.
Следовательно, если мы добавим к теории CL, то начнем приравнивать члены, которые имеют разные нормальные формы.ξCL
Запись. Здесь обозначает слабое равенство. Это означает, что можно преобразовать в (и наоборот) с помощью ряда сокращений и (возможно, также , если это является частью теории). Как вы, вероятно, знаете, - это аналог CL .M=wNMNSKI=w=β
λ∗ - это псевдоабстрактор, как определено на странице 5 вашего документа. Он имеет следующее свойство:
(λ∗x.M)N⊳w[N/x]M(3)
Это свойство позволяет легко найти аналог CL для любого -term: просто измените на и примените переводы в соответствии с определением .λλλ∗λ∗
Чтобы было ясно, «контрпример» в этом ответе не является контрпримером к (2). Потому что если у нас есть:
M=x(4)
N=(λ∗z.z)x(5)
Тогда действительно означает (применяя переводы страницы 5 и тот факт, что определяется как в конце страницы 4):NISKK
N=(λ∗z.z)x=Ix=SKKx(6)
Так , мы действительно имеем , что . Однако, если это контрпример, мы должны иметь это . Но если мы переведем, мы действительно получим:SKKx⊳wKx(Kx)⊳wxM=wN(λ∗y.M)≠w(λ∗y.N)
(λ∗y.M)=(λ∗y.x)=Kx(7)
(λ∗y.N)=(λ∗y.SKKx)=K(SKKx)(8)
И легко проверить, что (7) и (8) все еще слабо равны, для:
K(SKKx)⊳wK(Kx(Kx))⊳wKx(9)
Теперь правильным контрпримером к (2) будет:
M=Kxy
N=x
Так , мы , безусловно , есть , что . Однако, если вы внимательно переведете абстрагированные версии, то увидите, что обе они представляют собой разные нормальные формы - и они не могут быть преобразованы в соответствии с теоремой Черча-Россера.Kxy⊳wxM=wN
Сначала мы проверяем :M′
M′=λ∗x.Kxy=S(λ∗x.Kx)(λ∗x.y)=S(λ∗x.Kx)(Ky)=S(S(λ∗x.K)(λ∗x.x))(Ky)=S(S(λ∗x.K)(I))(Ky)=S(S(λ∗x.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
Здесь вы можете убедиться, что является нормальной формой.
Здесь вы можете проверить, что , как и следовало ожидать, если должен вести себя как абстрактный для CL.
M′(λ∗x.Kxy)P⊳wPλ∗
Теперь мы проверяем :
N′
N′=λ∗x.x=I=SKK
Что, очевидно, является нормальной формой, отличной от , поэтому по теореме Черча-Россера. Отметим также , что , т.е. и „дают одинаковый выход“ для произвольных входов .M′M′≠wN′N′P⊳wPM′N′P
Теперь мы доказали, что (2) не выполняется в CL, и что теория CL, включающая будет приравнивать термины, которые не являются слабо равными. Но почему мы заботимся?ξ
Ну, во-первых, это делает комбинаторную интерпретацию несовершенной: очевидно, не все метатеоретические свойства переносятся.λ
Кроме того, и, возможно, что еще более важно, хотя существуют экстенсиональные теории и CL, они изначально и обычно сохраняются как интенсиональные. Интенсивность является хорошим свойством, потому что и CL моделируют вычисления как процесс, и с этой точки зрения две разные программы (в частности, термины, которые имеют различную нормальную форму), которые всегда дают одинаковые результаты (при равных входных данных), не должны приравниваться. уважает этот принцип в , и если мы хотим сделать экстенсиональным, мы можем просто добавить, например, . Но введениеλλξλληξв CL больше не сделал бы это полностью интенциональным (фактически, только частично так). И это причина «s„Известность“, как кладет статью.ξ
РЕДАКТИРОВАТЬ Этот ответ является неправильным, как правильно указал другой ответчик. Я использовал перевод в комбинаторную логику от Asperti & Longo, который немного отличается от того, что в Selinger.
Фактически, это иллюстрирует ключевой момент: «комбинаторная интерпретация» лямбда-исчисления - это не единственная вещь! Разные авторы делают это немного по-разному.
Я оставляю свой ответ здесь для потомков, но другой ответ лучше.
Эквивалентность в этом контексте определяется таблицами 1 и 2 в статье Селинджера. Однако, немного другая аксиоматизация может сделать вещи немного более ясными.
Что это действительно означает, так это то, что два термина обратимы в теории . Мы можем определить «конвертируемость» следующими двумя аксиомами:λ
плюс, конечно же, обычные аксиомы и правила вывода, необходимые для конгруэнтности. Из этого должно быть очевидно, что любой контрпример будет опираться на условие свободной переменной при нарушении правила .= η
Я думаю, что это, наверное, самое простое:
Вы можете убедиться, что , но их соответствующие комбинаторные интерпретации не равны по правилам в таблице 2.λy.M=λy.N
источник