Just a little note about mathematics and the "=" and ":=" signs:<br>Mathematically, when you write "c=42" and "f(x)=42", the statement is actually an evaluation of a logical statement with a binary operator "=", and two constants in the first case, and a function with a vairable in the second case. It is customary to assume that the expression "c=42" means that this evaluation is <b>true</b> so that the two constant values are interchangable. It is not an assignment procedure.<br>On the other hand, although the ":=" isn't singularly defined, I have seen it used in mathematical logic as a way to define a value as, in such a way that the statment "c:=42" will guarantee that the evaluation of "c=42" will be <b>true</b> . This resembles the usage in programming a lot more closely in my opinion.,(reply>), That is not accurate. Mathematically, the comment above is accurate when describing "="; however, it incorrectly defines ":=". "=", as in "c=42", is a second order relation, which means it takes in two terms and outputs true or false; whereas, ":=", read as "is defined as", functions similarly to macros in C, where for the rest of the document, replacement is used. If the statement "c:=42" is stated, then in any future statement, whenever "c" is used, it actually means just a simple replacement with "42." For example, if "c:=42" is stated, then the formula "c=10" would be replaced by "42=10". The only reason for the use of ":=" is for convenience of writing, so that a really long formula or term can be replaced with a simpler one. Just like with C macros, one can also use ":=" with arguments, if "f(x):=x+1" is used, it also would replace "f(c)" with "c+1" or "f(20x+4)" with "20x+4+1".