Base incompleta de combinadores

10

Isso é inspirado por esta pergunta. Seja a coleção de todos os combinadores que possuem apenas duas variáveis ​​ligadas. C é combinatoriamente completo?CC

Acredito que a resposta é negativa, mas não consegui encontrar uma referência para isso. Eu também estaria interessado em referências para provas de incompletude combinatória de conjuntos de combinadores (posso ver por que o conjunto consiste em combinadores com apenas uma variável vinculada está incompleto, portanto esses conjuntos devem conter mais do que apenas elementos de D ).DD

tci
fonte
Você poderia esclarecer o que quer dizer com o número de variáveis ​​ligadas de um combinador (= termo lambda fechado)? Número total de abstrações lambda?
Noam Zeilberger
Sim, foi isso que eu quis dizer.
tci 27/07
3
Na verdade, talvez não seja exatamente isso que você quis dizer ... talvez seja o número total de variáveis ​​distintas usadas nas abstrações lambda, de modo que, por exemplo possui duas variáveis ​​vinculadas distintas, apesar de ter quatro abstrações lambda? Nesse caso, parece que Rick Statman respondeu exatamente a essa pergunta (negativamente), em " Duas variáveis ​​não são suficientes ". (λx.x(λy.y))(λx.λy.xy)
Noam Zeilberger
Direita. Acho que essa é a resposta que eu estava procurando e definitivamente esperava que fosse o resultado de Statman. Ainda não verifiquei, mas acho que isso também daria uma resposta negativa à pergunta que mencionei. Se você postar como resposta, eu aceitaria com prazer.
tci 01/08/16

Respostas:

7

[Expandindo o comentário em uma resposta.]

t

the total number of distinct bound variable names in t
t=(λx.x(λy.y))(λx.λy.yx)αtαt=(λx.x(λy.y))(λa.λb.ba)tt
the maximum number of free variables in a subterm of t
α

C

C

Parece que a prova original disso está contida em um relatório técnico de Rick Statman:

  • Combinadores hereditariamente da ordem dois. Relatório Técnico 88-33 do Departamento de Matemática Carnegie Mellon, agosto de 1988. ( pdf )

β

  • Duas variáveis ​​não são suficientes. Anais da 9ª conferência italiana de Ciência da computação teórica, pp. 406-409, 2005. ( acm )

HnHnn+1βnS=λx.λy.λz.(xz)(yz)nnHnn+1

Noam Zeilberger
fonte