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_full;

assert_eq!(beta_full(or().app(tru()).app(tru())), tru());
assert_eq!(beta_full(or().app(tru()).app(fls())), tru());
assert_eq!(beta_full(or().app(fls()).app(tru())), tru());
assert_eq!(beta_full(or().app(fls()).app(fls())), fls());