Function lambda_calculus::booleans::or
[−]
[src]
pub fn or() -> Term
Applied to two Church-encoded booleans it returns their Church-encoded disjunction.
OR := λpq.p p q = λ λ 2 2 1
Examples
use lambda_calculus::booleans::{or, tru, fls}; use lambda_calculus::reduction::beta; use lambda_calculus::reduction::Order::*; assert_eq!(beta(app!(or(), tru(), tru()), &Normal, 0), tru()); assert_eq!(beta(app!(or(), tru(), fls()), &Normal, 0), tru()); assert_eq!(beta(app!(or(), fls(), tru()), &Normal, 0), tru()); assert_eq!(beta(app!(or(), fls(), fls()), &Normal, 0), fls());