:

## What does "a constant is invalid as a variable" mean?

Here are some examples illustrating this problem
```
> x:=3;
...various other calculations, during which you forget that you
gave x a value
> solve(2*x=1,x);
Error, (in solve) invalid arguments

> plot(2*x,x=-1..1);  No complaint is written out, but the plot is
just the line y=6.
```
Here x already equals 3, so it doesn't make sense to use it in an assertion like "2*x=1", and plotting "2*x" is just plotting "6". Just as the above section shows an example of having too many indeterminates, this example shows what happens when there are too few. Putting x back to a symbol solves the problem.
```
> x:='x';
> solve(2*x=1,x);     Now these commands work as expected.
> plot(2*x,x=-1..1);
```
Notice that the quote marks are single regular quote marks, not double (") or back-quote (`) marks.
```
> solve(g=0,x,x=-1..2);
Error, (in solve) invalid arguments
```
This message means you supplied too many or too few arguments to the command, or arguments of the wrong kind. In this example the problem is that the "solve" command does not expect an interval over which to search for solutions (it's "fsolve" that can do that). Removing the extra parameter fixes the problem.
```
> solve(g=0,x);
1/2     1/2
3   , - 3

```
"Solve" can handle (some) inequalities, but "fsolve" can't.
```
> fsolve(g>0,x);
Error, (in fsolve) invalid arguments
```

﻿