Interpretação combinatória do cálculo lambda

10

De acordo com Peter Selinger , O cálculo lambda é algébrico (PDF). No início deste artigo, ele diz:

Sabe-se que a interpretação combinatória do cálculo lambda é imperfeita, pois não satisfaz a regra ξ : sob a interpretação, M=N não implica λx.M=λx.N (Barendregt, 1984).

Questões:

  • Que tipo de equivalência se entende aqui?
  • Dada essa definição de equivalência, qual é um contra-exemplo da implicação?
Simon Shine
fonte

Respostas:

7

A equivalência é apenas equivalência na teoria equacional em discussão. Nesse caso, é a teoria descrita na Tabela 1. Observe que essa teoria não inclui η : isso tornaria a teoria extensional e o ponto é que ξ respeita a intensionalidade de λ , enquanto tornaria CL parcialmente extensional. Não sei por que a outra resposta menciona η .ληξλη

Observe que em :λ

(1)(M=βN)(λx.M=βλx.N)

Isso deve ser intuitivamente óbvio: se é β- conversível em N quando está por si só, também é β- conversível em N quando é um subtermo de λ x . M .MβNβNλx.M

A regra , definida como Mξ torna essa inferência diretamente possível quando faz parte de umateoriaλ. Seu analógico CL seria: M

M=N(ξλ)(λx.M)=(λx.N)
λ
M=N(ξCL)(λx.M)=(λx.N)

Agora, o ponto é que, no CL, o seguinte não se aplica :

(2)(M=wN)(λx.M=wλx.N)

Em outras palavras, se dois termos são fracamente iguais, isso não é necessariamente verdade para suas versões pseudo-abstratas.

Conseqüentemente, se adicionarmos a uma teoria de CL, então começaremos a igualar termos que têm diferentes formas normais.ξCL


Nota. Aqui, denota fraca igualdade. Isso significa que M pode ser convertido em N (e vice-versa) por uma série de contrações S e K (possivelmente também I , se for parte da teoria). Como você provavelmente sabe, = w é o análogo de CL de = β .M=wNMNSKI=w=β

é o pseudo-abstrato ou como definido na página 5 do seu documento. Possui a seguinte propriedade:λ

(3)(λx.M)Nw[N/x]M

Essa propriedade facilita a localização de um analógico CL para qualquer -term: basta alterar para e aplicar as traduções de acordo com a definição de .λ λ λ λλλλ


Para ser claro, o 'contra-exemplo' nesta resposta não é um contra-exemplo para (2). Porque se tivermos:

N = ( λ z . Z ) x

(4)M=x
(5)N=(λz.z)x

Então realmente indica (aplicando as traduções da página 5 e o fato de que é definido como no final da página 4):I S K KNISKK

(6)N=(λz.z)x=Ix=SKKx

Desde , que de facto têm que . No entanto, se for um contra-exemplo, devemos ter isso . Mas se traduzirmos, realmente obtemos:M = w N ( λ y . M ) w ( λ y . N )SKKxwKx(Kx)wxM=wN(λy.M)w(λy.N)

( λ y . N ) = ( λ y . S K K x ) = K ( S K K x )

(7)(λy.M)=(λy.x)=Kx
(8)(λy.N)=(λy.SKKx)=K(SKKx)

E é fácil verificar se (7) e (8) ainda são fracamente iguais, para:

(9)K(SKKx)wK(Kx(Kx))wKx

Agora, um contra-exemplo adequado para (2) seria:

N = x

M=Kxy
N=x

Desde , nós definitivamente temos que . No entanto, se você traduzir com cuidado para as versões abstratas, verá que ambas são formas normais distintas - e não podem ser convertidas de acordo com o teorema de Church-Rosser.M = w NKxywxM=wN

Primeiro, verificamos :M

M=λx.Kxy=S(λx.Kx)(λx.y)=S(λx.Kx)(Ky)=S(S(λx.K)(λx.x))(Ky)=S(S(λx.K)(Eu))(Ky)=S(S(λx.K)(SKK))(Ky)=S(S(KK)(SKK))(Ky)
Aqui você pode verificar se é uma forma normal. Aqui você pode verificar se , como esperar, se deveria se comportar como um abstrato ou para CL.M(λx.Kxy)PWPλ

Agora verificamos : N

N=λx.x=Eu=SKK

Que obviamente é uma forma normal diferente de , então pelo teorema de Church-Rosser. Note-se também que , isto é, e 'produzir a mesma saída' para entradas arbitrárias .MMWNNPWPMNP

Provamos agora que (2) não se aplica a CL e que uma teoria de CL que incorpora equivaleria a termos que não são fracamente iguais. Mas por que nos importamos?ξ

Bem, antes de tudo, torna imperfeita a interpretação combinatória de : aparentemente nem todas as propriedades metateoréticas são mantidas.λ

Além disso, e talvez mais importante, embora existam teorias extensionais de e CL, elas são originalmente e comumente mantidas intensivas. Intensionalidade é uma propriedade legal porque e CL modelam a computação como processo, e dessa perspectiva dois programas diferentes (especificamente, termos que têm uma forma normal diferente) que sempre produzem os mesmos resultados (com entradas iguais) não devem ser equacionados. respeita esse princípio em e, se quisermos tornar extensional, podemos apenas adicionar, por exemplo, . Mas a introdução deλλξλληξno CL não o tornaria completamente intensional (de fato, apenas parcialmente). E esta é a razão da 'notoriedade' de , como o artigo coloca.ξ

Roy O.
fonte
11
Não posso comentar sobre qualidade porque conheço pouco do assunto, mas isso parece um pouco de trabalho. Apreciado, obrigado!
Raphael
De fato, o post acabou mais do que eu havia previsto. Obrigado por seu comentário. :)
Roy O.
2
Oh aquilo. Acontece . Regularmente .
Raphael
3

EDITAR Esta resposta está incorreta, como o outro atendente corretamente apontou. Eu usei a tradução em lógica combinatória de Asperti & Longo, que é sutilmente diferente da de Selinger.

De fato, isso ilustra um ponto crucial: "a interpretação combinatória" do cálculo lambda não é uma coisa única! Diferentes autores fazem isso de maneira um pouco diferente.

Estou deixando minha resposta aqui para a posteridade, mas a outra resposta é melhor.


A equivalência neste contexto é definida pelas Tabelas 1 e 2 no artigo de Selinger. No entanto, uma axiomatização ligeiramente diferente pode tornar as coisas um pouco mais claras.

O que realmente significa é que dois termos são conversíveis na teoria . Podemos definir "conversibilidade" pelos dois axiomas a seguir:λ

  • β . , se livre para em(λx.M)N=[N/x]MxNM
  • η . , se não estiver livre emλy.My=MyM

além disso, é claro, os axiomas usuais e as regras de inferência necessárias para fazer uma congruência. A partir disso, deve ser óbvio que qualquer contra-exemplo dependerá da condição de variável livre na regra .=η

Eu acho que isso é provavelmente o mais simples:

M=x
N=(λz.z)x

Você pode verificar por si mesmo que , mas suas respectivas interpretações combinatórias não são iguais nas regras da Tabela 2.λy.M=λy.N

Pseudônimo
fonte
ηλy.Mλy.Nξ