Found this term for a supposed 'adder' in lambda calculus.
λabcd.ac(bcd)
Although I know about alpha-conversion and beta-reduction and all that stuff, I don't know how to apply it. All the examples I could find always put in real numbers (like "3" and "5") but strictly speaking, if we want to abide by the rules of lambda calculus, numbers should be represented by lambda-terms too, right? Elsewhere I saw them defined recursively like this:
3 = λab.a(a(a(b))),
5 = λab.a(a(a(a(a(b))))).
I have a hard time linking the concept of "repeatedly applying a value to itself" to anything i already know. What does that even mean? Why is it equivalent to adding? Why does the above term add anything?
Looking for a step-by-step explanation that shows the adder "in action" and how it actually works.