How did the rule of addition come to be and why does it give the correct answer when compared empirically? I'm still a high school student and very interested in maths but none of my school books describe these kind of things, and only say how to do it not the whys. My question is very simple, for example:
        19
       +25
      = 44

because the one from adding 9 and 5 goes on to add with 1 and two. How did this rule of addition come to be?
Here's a bit of explanation that can be useful(sorry if it is frustrating):
Suppose we are a 3 year old child and no one teaches us how to add and we recognize 1 is our index and 5 all palm fingers held up. Someone gives us the problem add: 1+5 so we hold 'em up, right? and again someone gives us to add 8564+2345 so we can't lift 'em up. So we try to device a rule but we don't recognize 6+4= 10 in which 0 stays and one jumps neither can we say that only the digits from rightmost positions are to be added. This is what i meant.

Every natural number $N$ in the decimal system is represented by $n + 1$ digits
$a_n \dots a_1a_0$
for which each stands for the number of powers of $10$ that add up to the given number.
$N = a_n\cdot 10^n + \dots + a_1 \cdot 10^1 + a_0 \cdot 10^0 $
Each digit $a_n$ has 10 possible "states" form $0$ to $9$ indicating how many of the powers contribute to $N$.
If you now add two numbers $A + B$
$A = a_n \cdot 10^n + \dots +a_1 \cdot 10 + a_0$
$B = b_n \cdot 10^n + \dots +b_1 \cdot 10 + b_0$
$A+B = (a_n + b_n) \cdot 10^n + \dots + (a_1 + b_1) \cdot 10 + (a_0+b_0)$
it can happen that these $(a_n + b_n)$ exceed the possible 10 "states" that are representable by 10 digits. Thus, we have to remove the exceed $c$ from $a_n + b_n$: $c = a_n + b_n - 10$ and add this exceed to the next higher power (and repeat if we get again another exceed).
Note that in other number systems (like hexadecimal) the procedure works the same except we have more (or less) states to represent with each digit.
