> y := x^3 - 21 * x; 3 y := x - 21 x > y; 3 x - 21 x > y^2; 3 2 (x - 21 x) > expand( y^2 ); 6 4 2 x - 42 x + 441 xHere, the operator

You can prevent Maple from evaluating a name by putting the name in single-quotemarks. Notice the difference:

> x := 4; x := 4 > y := 5 * x + 3; y := 23 > y := 5 * 'x' + 3; y := 5 x + 3In the second statement, y is assigned the constant value 23. In the third, y is assigned the value "5 times the value of x plus 3". If the value of x changes, then so will the value of y.

In fact, you should think of the single-quotemarks as an expression whose value is exactly the expression they contain--in unevaluated form. You can nest them one inside the other:

> ''x''; 'x' > "; x > "; 4So the result of quoting an expression is to "delay" its evaluation. Another special occasion where Maple doesn't evaluate a symbol is when it appears as the left-hand side of an assignment statement (think of why this is so!).

One important thing to remember is: * every symbol in Maple has a value*.
Initially, the value of a symbol is its own name. The initial value of the symbol

> x; 4 > x := 'x'; x := x > x; xThe corollary of this is that there is no such thing in Maple as an "undefined symbol" error. There can only be syntax errors or mathematical errors such as dividing by 0. Therefore, when we speak of a symbol whose value is "unknown", it just means that the symbol is

Keith Orpen, who is still writing this, would like to hear your comments and suggestions.