Operador lógica AND no Cálculo Lambda
Summary
O operador lógico “E” (AND) é definido no cálculo lambda como , utilizando os booleanos de Church e .
No cálculo lambda, operações lógicas como o “E” (AND) são expressas como funções.
Já vimos que “verdadeiro” () e “falso” () são codificados como seletores de argumentos. Agora, vamos construir o operador “E” — que retorna “verdadeiro” apenas se ambos os operandos forem verdadeiros.
Definição
O operador lógico “E” (AND) no cálculo lambda é definido como:
Onde:
- e são booleanos no cálculo lambda (ou seja, ou ),
- (escolhe o primeiro argumento),
- (escolhe o segundo argumento).
A expressão pode ser interpretada assim:
- é aplicado a e como argumentos.
- Se , então (escolhe ), e o resultado depende de .
- Se , então (escolhe ), e o resultado é sempre falso.
Isso captura a essência do “E”: o resultado é verdadeiro () apenas se ambos e forem verdadeiros.
Para transformar toda essa formalidade em forma mais visual e simples de interpretar isso e visualizar a função AND seria utilizando a tabela verdade abaixo:
Referência: Drawing 2025-03-03 10.40.11.excalidraw
Lemos essa imagem com a seguinte pergunta:

Visualizando operador AND na tabela verdade
Para confirmar que corresponde ao operador “E” lógico, vamos calcular todas as combinações possíveis de e ( ou ) e comparar com a tabela verdade padrão.
Tabela verdade do “E” lógico:
Agora, vamos testar para cada caso.
Caso 1: ,
- Substituímos por :
- Substituímos por :
- Resultado: (verdadeiro).
Caso 2: ,
- Substituímos por :
- Substituímos por :
- Resultado: (falso).
Caso 3: ,
- Substituímos por :
- Substituímos por :
- Resultado: (falso).
Caso 4: ,
- Substituímos por :
- Substituímos por :
- Resultado: (falso).
Resultado final
| Esperado () | |||
|---|---|---|---|