Function lambda_calculus::combinators::w [] [src]

pub fn w() -> Term

W - the duplicating combinator.

W := λxy.x y y = λ λ 2 1 1

Example

use lambda_calculus::combinators::w;
use lambda_calculus::arithmetic::{zero, one};
use lambda_calculus::reduction::normalize;

assert_eq!(normalize(w().app(zero()).app(one())),
           normalize(zero().app(one()).app(one())));