Operador lógica NOT no Cálculo Lambda
Summary
O operador lógico “NÃO” (NOT) no cálculo lambda, definido como , utilizando os booleanos de Church e .
No cálculo lambda, o operador lógico “NÃO” (NOT) é mais uma peça do quebra-cabeça da lógica funcional. Ele toma um valor booleano — “verdadeiro” () ou “falso” () — e retorna seu oposto.
Já vimos como e funcionam como seletores e como “E” (AND) e “OU” (OR) combinam esses valores. Agora, o “NOT” nos permite inverter a lógica, algo essencial para qualquer sistema computacional completo.
Definição
O operador lógico “NÃO” (NOT) no cálculo lambda é definido como:
Onde:
- é um booleano no cálculo lambda ( ou ),
- (escolhe o primeiro argumento),
- (escolhe o segundo argumento).
NOTE
Essa função aplica aos argumentos e , usando para selecionar entre “falso” e “verdadeiro” de forma invertida.
A expressão funciona assim:
- é o booleano de entrada.
- Se , então (escolhe o primeiro argumento, ).
- Se , então (escolhe o segundo argumento, ).
Visualizando operador NOT na tabela verdade
Para confirmar que corresponde ao “NÃO” lógico, testamos os dois casos possíveis de ( ou ) e comparamos com a tabela verdade da negação.
Tabela verdade do “NÃO” lógico:
Agora, calculamos para cada caso.
Caso 1:
- Substituímos por :
- Resultado: (falso).
Caso 2:
- Substituímos por :
- Resultado: (verdadeiro).
Resultado final
| (calculado) | Esperado () | |
|---|---|---|