Function lambda_calculus::data::list::pair::is_nil

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

Applied to a pair-encoded list it determines if it is empty.

IS_NIL ≡ λl.l (λhtd.FALSE) TRUE ≡ λ 1 (λ λ λ FALSE) TRUE

Example

use lambda_calculus::data::list::pair::is_nil;
use lambda_calculus::*;

assert_eq!(beta(app(is_nil(),                vec![].into_pair_list()), NOR, 0),  true.into());
assert_eq!(beta(app(is_nil(), vec![1.into_church()].into_pair_list()), NOR, 0), false.into());