Operador lógica OR no Cálculo Lambda
Summary
O operador lógico “OU” (OR) no cálculo lambda, definido como , utilizando os booleanos de Church e .
No cálculo lambda, assim como vimos com o operador “E” (AND), o operador “OU” (OR) é codificado como uma função pura que opera sobre os booleanos (verdadeiro) e (falso).
A ideia do “OU” é simples: ele deve retornar “verdadeiro” se pelo menos um dos dois argumentos for verdadeiro, e “falso” apenas se ambos forem falsos.
Definição
O operador lógico “OU” (OR) no cálculo lambda é definido como:
Onde:
- e são booleanos no cálculo lambda ( ou ),
- (escolhe o primeiro argumento),
- (escolhe o segundo argumento).
NOTE
Essa função usa como um “controlador”: se for verdadeiro, retorna ; se for falso, retorna o valor de .
A expressão funciona assim:
- é aplicado aos argumentos e .
- Se , então (escolhe , verdadeiro).
- Se , então (escolhe , e o resultado depende de ).
Para transformar toda essa formalidade em forma mais visual e simples de interpretar isso e visualizar a função OR 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 OR na tabela verdade
Para confirmar que corresponde ao “OU” lógico, vamos testar todas as combinações de e ( ou ) e comparar com a tabela verdade do “OU”.
Tabela verdade do “OU” lógico:
Agora, calculamos para cada caso.
Caso 1: ,
- Substituímos por :
- Substituímos por :
- Resultado: (verdadeiro).
Caso 2: ,
- Substituímos por :
- Substituímos por :
- Resultado: (verdadeiro).
Caso 3: ,
- Substituímos por :
- Substituímos por :
- Resultado: (verdadeiro).
Caso 4: ,
- Substituímos por :
- Substituímos por :
- Resultado: (falso).
Resultado final
| Esperado () | |||
|---|---|---|---|