Does anyone know a way of showing an encoding of integer arithmetic counting using Lambda Calculus?

Any references related to this would be much appreciated.


1 Answer 1


arithmatic means normal addition,negation, etc. kind of things, you can observe this as let say we expect from a programming language that it should be capable of doing arith-metical calculations. Numbers can be represented in lambda calculus starting from zero and writing “suc(zero)” to represent 1, “suc(suc(zero))” to represent 2, and soon. In the lambda calculus we can only define new functions. Numbers will be definedas functions using the following approach: zero can be defined as


1 ≡ λsz.s(z)

2 ≡ λsz.s(s(z))

3 ≡ λsz.s(s(s(z)))

for more info go through this PDF [1]


  • $\begingroup$ This only defines the natural numbers. $\endgroup$ Nov 4, 2014 at 5:27

Not the answer you're looking for? Browse other questions tagged or ask your own question.