Function lambda_calculus::data::boolean::nand
source · pub fn nand() -> Term
Expand description
Applied to two lambda-encoded booleans it returns their lambda-encoded alternative denial.
NAND ≡ λpq.p q p FALSE TRUE ≡ λ λ 2 1 2 FALSE TRUE
Examples
use lambda_calculus::data::boolean::{nand, tru, fls};
use lambda_calculus::*;
assert_eq!(beta(app!(nand(), tru(), tru()), NOR, 0), fls());
assert_eq!(beta(app!(nand(), tru(), fls()), NOR, 0), tru());
assert_eq!(beta(app!(nand(), fls(), tru()), NOR, 0), tru());
assert_eq!(beta(app!(nand(), fls(), fls()), NOR, 0), tru());