# Error when using non ASCII characters as symbolic function name

Since the adoption of Python 3, non ASCII characters can be used as identifiers in SageMath. So this is valid:

```
sage: π = pi
sage: def α(x):
....: return cos(π*x)
sage: β = lambda x: x^3
sage: print(α(3)+β(3))
26
```

Such characters can be also used as symbolic variable names:

```
sage: δ = var("δ")
sage: expand((1+δ)^2)
δ^2 + 2*δ + 1
```

... or even as symbolic functions:

```
sage: μ = (x^2).function(x)
sage: μ
x |--> x^2
sage: μ(3)
9
```

However, if one tries to define the above symbolic function as usual, one gets an error:

```
sage: μ(x) = x^2
File "<ipython-input-20-93337e923470>", line 1
μ(x) = x**Integer(2)
^
SyntaxError: can't assign to function call
```

I think that this is a bug, isn't it?

Yes, this is a bug in the preparser:

To find the function name it uses a regex with the range

`[a-zA-Z_]`

, which doesn't include μ.Using unicode in SR names is a recipe for disaster: these names get shipped to all kinds of interfaces. I would not expect those to react kindly to unicode identifiers.