or

Function or 

Source
pub fn or() -> Term
Expand description

Applied to two lambda-encoded booleans it returns their lambda-encoded disjunction.

OR ≡ λpq.p p q ≡ λ λ 2 2 1

§Examples

use lambda_calculus::data::boolean::{or, tru, fls};
use lambda_calculus::*;

assert_eq!(beta(app!(or(), tru(), tru()), NOR, 0), tru());
assert_eq!(beta(app!(or(), tru(), fls()), NOR, 0), tru());
assert_eq!(beta(app!(or(), fls(), tru()), NOR, 0), tru());
assert_eq!(beta(app!(or(), fls(), fls()), NOR, 0), fls());