Please also remember that they are all "constants" in math, but variables are constants that are automatically renamed for convinience…uint x=0; x=x+1; x=x*2;is… uint x0=0; x1=x0+1; x2=x1*2; perhaps that makes it more clear.
As you may recall, this is also the common representation in compilers:
http://en.wikipedia.org/wiki/Static_single_assignment_form
