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 :λ
( M=βN) ⟹ ( λ x . M=βλ x . N)(1)
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( λ x . M)= N= ( λ x . N)( ξλ)
λM( λ∗x . M)= N= ( λ∗x . N)( ξCeu)
Agora, o ponto é que, no CL, o seguinte não se aplica :
( M=WN) ⟹ ( λ∗x . M=Wλ∗x . N)2)
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.ξCeu
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=WNMNSKEu=W=β
é o pseudo-abstrato ou como definido na página 5 do seu documento. Possui a seguinte propriedade:λ∗
( λ∗x . M) N⊳W[ N/ x]M(3)
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
M= x4)
N= ( λ∗z. z) x(5)
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 KNEuS K K
N= ( λ∗z. z) x = I x = S K K x(6)
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 )S K K x ⊳WK x( K x) ⊳WxM=WN( λ∗y. M) ≠W( λ∗y. N)
( λ ∗ y . N ) = ( λ ∗ y . S K K x ) = K ( S K K x )
( λ∗y. M) = ( λ∗y. x ) = K x(7)
( λ∗y. N) = ( λ∗y. S K K x ) = K ( S K K x )(8)
E é fácil verificar se (7) e (8) ainda são fracamente iguais, para:
K ( S K K x) ⊳WK ( K x( K x)) ⊳WK x(9)
Agora, um contra-exemplo adequado para (2) seria:
N = x
M= K x y
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 NK xy⊳WxM=WN
Primeiro, verificamos :M′
M′= λ∗x . K x y= S ( λ∗x . K x ) ( λ∗x . y)= S ( λ∗x . K x ) ( K y)= S ( S ( λ∗x . K ) ( λ∗x . x ) ) ( K y)= S ( S ( λ∗x . K ) ( I ) ) ( K y)= S ( S ( λ∗x . K ) ( S K K ) ) ( K y)= S ( S ( K K )( S K K ))( K y)
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 . Kx y) P⊳WPλ∗
Agora verificamos :
N′
N′= λ∗x . x= I= S K K
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 .M′M′≠WN′N′P⊳WPM′N′P
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.ξ
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:λ
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:
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
fonte