1 + 1 = 2, or Revisiting Kindergarten using mathematical formalism

Seeing the comment above, "that '+' and even '2' can also be defined in terms of lambda calculus", I couldn't help myself, and had to find a way to understand this strange, strange world.

First of all, lambda calculus finds its origins in Alonzo Church's work dealing with computation. It is, in a nutshell, a "purely functional" approach to the entire field of computation (This is why most introductions to functional languages make a side note on the fact their origins lie in the lambda calculus.) Every object in lambda calculus is a function, every one of these functions returns a function, and the arguments to these functions are also functions. So, lets get started.

A "lambda"(&lambda) is expressed as a single \ character. We write a lambda followed by a function, to denote that function's usage in our function.
Example:

\ x. [ f x ]

So, x is simply the function we're "passing" our lambda abstraction. The function following our abstraction is being applied within our function.
Example:

(\ x. [ f x ] )w = f w

Which leads us to the understanding that \ x. [ f x ] is simply the function f. So, logically, we can express other abstract functions using this same basic theory.
Example:

"f(x) = x + 3" would be expressed simply as \ x. [ x + 3 ] where we bind x to our parameter functions.

So, how do we deal with numbers? Well, we first define 0 to be the empty set, or \ f x. [ x ]. 1 would then, logically, be the set that contains 0, or \ f x. [ f x ]. We define 2 as the iteration on 1, or "twice." We express this as \ f x. [ f (f x) ]. When we apply this to another function, we end up with twice that function: ( \ f x. [ f (f x) ] )y = y (y x) ; Or y acting twice upon x.

Now we can define a function for adding one to a function. Such a function would look like so:

\ x y z. [ y ((x y) z) ]

If we applied this to "1", we would have:

( \ x y z. [ y ((x y) z) ] )1 = y ((1 y) z) = y (y z)

. . .Which is essentially the "2" / "twice" we defined above! Thus we come to the conclusion that, in fact, 1 + 1 does equal 2 (and, hopefully, that numbers are simply abstract concepts, and can be expressed purely as such!)