You are confusing two very different notions of "variable".

When you write:

```
sage: x = 5
```

The *Python name* points to the integer 5.

When you write:

```
sage: reset()
```

or just

```
sage: del(x)
```

you remove the name `x`

from the global namespace.

In the symbolic expression `cos(x)`

, the `x`

is not a Python name but a mathematical *symbol*, it is an object, like the integer 5 above.

The confusion might come from the fact that, at Sage startup, the Python name `x`

points to the symbol `x`

:

```
sage: x
x
sage: x.parent()
Symbolic Ring
sage: x.is_symbol()
True
```

But once you write `x=5`

, the Python name `x`

now points to the integer 5, and there is no way to let it remember that it used to point to the symbol `x`

. If you want the Python `x`

to point to the symbol `x`

again, you can do:

```
sage: x = SR.var("x")
```

This is a very common confusion, see the tag variable_issue, this question or that question.