pub fn is_even() -> Term
Expand description
Applied to a Church-encoded number it produces a lambda-encoded boolean, indicating whether its argument is even.
IS_EVEN ≡ λx.x NOT TRUE ≡ λ 1 NOT TRUE
§Example
use lambda_calculus::data::num::church::is_even;
use lambda_calculus::*;
assert_eq!(beta(app(is_even(), 0.into_church()), NOR, 0), true.into());
assert_eq!(beta(app(is_even(), 1.into_church()), NOR, 0), false.into());
assert_eq!(beta(app(is_even(), 2.into_church()), NOR, 0), true.into());
assert_eq!(beta(app(is_even(), 3.into_church()), NOR, 0), false.into());