Function lambda_calculus::combinators::y
[−]
[src]
pub fn y() -> Term
Y - the fixed-point combinator.
Y := λg.(λx.g (x x)) (λx.g (x x)) = λ (λ 2 (1 1)) (λ 2 (1 1))
Example
use lambda_calculus::combinators::y; use lambda_calculus::arithmetic::zero; use lambda_calculus::reduction::normalize; assert_eq!(normalize(y().app(zero())), normalize(zero().app(y().app(zero()))));