; Church Numerals; ---------------; But how to represent numbers in lambda calculus? Alonso Church, the; logician who invented lambda calculus suggested the following method:(define zero (lambda(f)(lambda(x) x)))(define one (lambda(f)(lambda(x)(f x))))(define two (lambda(f)(lambda(x)(f (f x)))))(define three (lambda(f)(lambda(x)(f (f (f x)))))); We take f and execute it on x N times; Converting Church numerals to regular integers:(define(church->int church)((church
(lambda(a)(+ a 1)))0)); Finding the successor to a Church numeral:; Let's take f and execute it on n one more time:(define succ
(lambda(n)(lambda(f)(lambda(x)(f ((n f) x)))))); Converting an integer to a Church numeral(define(int->church n)(if(= n 0)
zero
(succ (int->church (- n 1)))))