Aritmética no Cálculo Lambda


No cálculo lambda, a aritmética é construída a partir da codificação dos números naturais baseada na Teoria dos sucessores de Peano.

Nessa abordagem, os números são definidos como funções que aplicam uma operação (o “sucessor”) um certo número de vezes.

Formalmente, os primeiros números naturais, chamados de numerais de Church, são representados assim:

  • Zero:
  • Um:
  • Dois:
  • Três:

E assim por diante.

Aqui:

  • representa a função “sucessor” (que será aplicada),
  • representa o valor base (zero),
  • O número é codificado como a aplicação de exatamente vezes sobre .

Isso significa que cada número natural é uma função de duas variáveis que “conta” quantas vezes aplica antes de retornar .

Intuição por trás dos numerais de Church

Pense em cada número como uma “máquina de repetir”. O zero () não aplica o sucessor nenhuma vez — simplesmente retorna o valor base . O um () aplica uma vez, o dois aplica duas vezes, e assim por diante. É uma forma de contar usando apenas funções, sem depender de símbolos numéricos tradicionais.

Estrutura recursiva

A definição é naturalmente recursiva:

  • Começamos com zero: .
  • Para cada número , o próximo número é obtido aplicando mais uma vez ao corpo da função anterior.

Por exemplo:

  • é o sucessor de ,
  • é o sucessor de .

Essa construção reflete a ideia de Peano, onde os números naturais são definidos a partir de zero e da operação de sucessor.

Note

Essa codificação é poderosa porque permite realizar operações aritméticas (como soma e multiplicação) definindo funções no cálculo lambda. Por exemplo, podemos criar uma função “sucessor” que transforma em , mas isso é um tópico mais avançado que podemos explorar depois.

Exemplo

Exemplo 1: Representando e interpretando números

Considere o número 2:

Essa função diz: “Pegue uma função e um valor , aplique duas vezes a “.

Para visualizar, imagine que é uma função “incrementar” e é 0 em um contexto informal:

  • seria “1”,
  • seria “2”.

Agora, o número 3:

Aqui, é aplicado três vezes, representando o número 3.

Embora o cálculo lambda não use números diretamente, essa codificação captura a essência de contar e pode ser usada como base para operações aritméticas mais complexas.

Referências


Aula 1 - Cálculo Lambda