See example below:
reduce to normal form:
(λ c . (λ a . (λ d . (λ h . (h (d (a (a (λ z y . y))) (d (a (a (λ f x . x))) (a (a (a (λ z x . x)))))) (h (a (a (λ z y . y))) (a (a (a (λ z x . x))))))) (λ n m . n (d m) (λ z y . y))) (λ n m . n a m)) (λ n z . c (n z) z)) (λ z g x . z (g x))
Wikipedia says that to be in normal form: all reductions that can be applied have been).
I used these two calcualtors to try and get the correct reduction: http://lambda.jimpryor.net/code/lambda_evaluator/ http://lambda.jimpryor.net/code/lambda_evaluator/
both return: λz x.z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z(z x)))))))))))))))))))))))))))))))))))))))))
Can I get to this answer by only using beta-reduction? This is the only reduction I am currently trying to understand but from this example there are two more: https://stackoverflow.com/questions/34140819/lambda-calculus-reduction-steps