Variables, Equations, and Expressions Maple variables are names that generally begin with a letter and are followed by up to 498 alphanumeric or underscore characters; case is significant (eg: x is different from X in Maple). Maple distinguishes between two kinds of variables. A Maple programming variable is a variable that you have assigned a result to, generally with an assignment statement: > x := 2 + 5; x := 7 > x; 7 The programming variable x now is a label for the result of 2+5. The other kind of Maple variable is a mathematical variable or an unassigned variable. These exist in the sense of algebraic unknowns, as in the case of: > z := 2+y; z := 2 + y Here, y is a mathematical variable, and z is a programming variable because an expression has been assigned to it. If we now assign a value to y, y becomes a programming variable, and is no longer an algebraic unknown: > y := 5; y := 5 > z; 7 An equation is different from an assignment statement. Consider the difference between: > a := 2; a := 2; > b = 2; b = 2 In the first case we are assigning the value 2 to the variable a. In the second case, we are making the assertion that b is in fact already equal to 2. We can evaluate the boolean assertion using the evalb function: > # First, see what the value of b is: > b; b > # So b is a mathematical variable. Try the evaluation: > evalb(b=2); false > # Now assign the value 2 to b: > b := 2; b := 2 > b; 2 > # So b is now a programming variable. Evaluate the assertion again: > evalb(b=2); true > # Now assign the assertion to a (which replaces the old contents of a): > a := b = 2; a := 2 = 2 > evalb(a); true The last part of the example shows that you can assign an expression to a variable. Maple statements are built of zero or more expressions of various types connected in various ways. Thus b=2, and abs(4) are both expressions, while evalb(b=2) is a composite expression built from evalb(...) and b=2. Finally, evalb(b=2) and (c = 3); is a statement, because it is built from (boolean) expressions and is terminated.