Function lambda_calculus::data::boolean::not

source ·
pub fn not() -> Term
Expand description

Applied to a lambda-encoded boolean it returns its lambda-encoded negation.

NOT ≡ λp.p FALSE TRUE ≡ λ 1 FALSE TRUE

Examples

use lambda_calculus::data::boolean::{not, tru, fls};
use lambda_calculus::*;

assert_eq!(beta(app!(not(), tru()), NOR, 0), fls());
assert_eq!(beta(app!(not(), fls()), NOR, 0), tru());