Function lambda_calculus::combinators::i

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

Iota - the universal combinator.

i ≡ λx.x S K ≡ λ 1 S K

Example

use lambda_calculus::combinators::{i, I, K, S};
use lambda_calculus::*;

assert_eq!(beta(app(i(), i()), NOR, 0), I());
assert_eq!(beta(app(i(), app(i(), app(i(), i()))), NOR, 0), K());
assert_eq!(beta(app(i(), app(i(), app(i(), app(i(), i())))), NOR, 0), S());