This was a bug, sorry. Thanks for reporting it!
The root of the problem was that the marking algorithm for mathematical expression parts normalises all variable names, so that names ending in a digit always have a subscript: `x1` is rewritten to `x_1`, for example.
But the editor wasn't aware of this, so you were writing an expression to generate values of `x1`, which was never used. It wasn't applying the other restrictions on variable names either, such as "force single-letter variables".
I've changed the marking algorithm so it normalises names used in the dictionary of value generators, and also changed the editor so it correctly applies all the normalisation rules for the part.