Function lambda_calculus::arithmetic::is_zero [] [src]

pub fn is_zero() -> Term

Applied to a Church-encoded number it produces a Church-encoded boolean, indicating whether its argument is equal to zero.

is_zero := λn.n (λx.false) true = λ 1 (λ false) true

Example

use lambda_calculus::arithmetic::{zero, is_zero};
use lambda_calculus::booleans::tru;
use lambda_calculus::reduction::normalize;

assert_eq!(normalize(is_zero().app(zero())), tru());