Operador lógica OR no Cálculo Lambda
Abstract
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
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
é 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
Tabela verdade do “OU” lógico:
Agora, calculamos
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 ( | |||
---|---|---|---|