pub fn lsb() -> Term
Expand description
Applied to a binary-encoded number it returns its least significant bit.
LSB ≡ λn.n TRUE (λx.TRUE) (λx.FALSE) ≡ λ 1 TRUE (λ TRUE) (λ FALSE)
Example
use lambda_calculus::data::num::binary::{lsb, b0, b1};
use lambda_calculus::*;
assert_eq!(beta(app(lsb(), 1.into_binary()), NOR, 0), b1());
assert_eq!(beta(app(lsb(), 2.into_binary()), NOR, 0), b0());
assert_eq!(beta(app(lsb(), 3.into_binary()), NOR, 0), b1());
assert_eq!(beta(app(lsb(), 4.into_binary()), NOR, 0), b0());