Function lambda_calculus::data::num::church::gt

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

Applied to two Church-encoded numbers it returns a lambda-encoded boolean indicating whether its first argument is greater than the second one.

GT ≡ λab.NOT (LEQ a b) ≡ λ λ NOT (LEQ 2 1)

Examples

use lambda_calculus::data::num::church::gt;
use lambda_calculus::*;

assert_eq!(beta(app!(gt(), 0.into_church(), 0.into_church()), NOR, 0), false.into());
assert_eq!(beta(app!(gt(), 1.into_church(), 1.into_church()), NOR, 0), false.into());
assert_eq!(beta(app!(gt(), 0.into_church(), 1.into_church()), NOR, 0), false.into());
assert_eq!(beta(app!(gt(), 1.into_church(), 0.into_church()), NOR, 0), true.into());