Function lambda_calculus::combinators::s
[−]
[src]
pub fn s() -> Term
S - the substitution combinator.
S := λxyz.x z (y z) = λ λ λ 3 1 (2 1)
Example
use lambda_calculus::term::Term; use lambda_calculus::combinators::s; use lambda_calculus::reduction::beta_full; assert_eq!(beta_full(s().app(0.into()).app(1.into()).app(2.into())), beta_full(Term::from(0).app(2.into()).app(Term::from(1).app(2.into()))));