Ironicamente, o título está no ponto, mas não da maneira que você parece querer dizer, que é "o cálculo lambda é apenas uma convenção notacional" que não é precisa.
Os termos do Lambda não são funções 1 . São partes da sintaxe, ou seja, coleções de símbolos em uma página. Temos regras para manipular essas coleções de símbolos, mais significativamente a redução beta. Você pode ter várias distintas termos lambda que correspondem à mesma função. 2
Vou abordar seus pontos diretamente.
Primeiro, lambda não é um nome que está sendo reutilizado. Isso não seria extremamente confuso, mas não escrevemos λ ( x ) (ou ( λ x ) ), o que faríamos se λ fosse o nome de uma função, assim como escrevemos f( X ) . Em f( X ) , poderíamos substituir f (se definido por um termo lambda) pelo termo lambda produzindo algo como ( λ y. y) ( X ) significa ( λ y. y) é uma expressão que pode representar uma função, não uma declaração declarando uma função (chamadaλ ou qualquer outra coisa). De qualquer forma, quando sobrecarregamos a terminologia / notação, é (espera-se) feita de uma maneira que possa ser desambiguada via contexto, que certamente não pode ser o caso dos termos lambda.
Seu próximo ponto é bom, mas um pouco irrelevante. Não é uma competição em que há termos e funções da equipe Lambda, e apenas um pode vencer. Uma aplicação principal dos termos lambda é estudar e entender certos tipos de funções. Um polinômio não é uma função, embora geralmente os identifiquemos desleixadamente. Estudar polinômios não significa que se pense que todas as funções devam ser polinômios, nem é o caso de que os polinômios tenham que "fazer" algo "novo" para valer a pena estudar.
As funções teóricas dos conjuntos não são caixas pretas, embora sejam inteiramente definidas por sua relação entrada-saída. (Eles literalmente são sua relação de entrada-saída.) Termos Lambda também não são caixas pretas e eles são não definidos por sua relação de entrada-saída. Como mencionei antes, você pode ter termos lambda distintos que produzem a mesma relação entrada-saída. Isso também ressalta o fato de que os termos lambda não podem ser funções, embora possam induzir funções. 2
F2 F2→F24F2F2→F2F22N→2N
Isso também se aplica aos termos lambda. Podemos interpretá-los como outras coisas que não funções. Eles também são objetos muito mais tratáveis para trabalhar do que os conjuntos de funções tipicamente incontáveis e infinitas. Ambos são muito mais computacionais que funções arbitrárias. Posso escrever um programa para manipular polinômios (com coeficientes que sejam pelo menos representáveis computacionalmente) e termos lambda. De fato, termos lambda não tipados são um dos modelos originais de funções computáveis. Essa perspectiva mais simbólica / sintática, calculadora / computacional é geralmente mais enfatizada, especialmente para o cálculo lambda sem tipo, do que as interpretações mais semânticas do cálculo lambda. DigitadoOs termos lambda são coisas muito mais gerenciáveis e geralmente (mas nem sempre) podem ser facilmente interpretados como funções teóricas definidas, mas também podem geralmente ser interpretados em uma classe de coisas ainda mais ampla, além das funções, do que o cálculo lambda não tipado. Eles também têm uma rica teoria sintática própria e uma conexão muito profunda com a lógica .
1 É possível que o problema ocorra de outra maneira. Talvez você tenha uma má compreensão sobre o que é uma função.
DDDDD⊆D, e para a categoria de conjuntos, não há objetos reflexivos não triviais. A história é um pouco diferente para termos lambda digitados , mas ainda pode ser não trivial.
3 Se você é claro sobre essa distinção, a analogia deve ser bastante informativa.
4 Esse problema não ocorre com os campos da característica 0, como números complexos, reais, racionais ou números inteiros; portanto, a distinção não é tão nítida, embora ainda exista.