Intuition of isZero
Before reading, make sure you understand how positive integers are represented in lambda calculus.
We want isZero to return true for zero (λ f x. x) and false for all other numbers.
isZero = λ n. n (λ z. false) true Alternatively, you can write is as:
isZero n = n (λ z. false) true So what is zero? Zero is λ f x. x, a function that takes two parameters f and x, and return x.