Schöne Idee... :-)
Aber jetzt müssen wir doch vorsichtig sein! Diese obige Definition ist eine rein syntaktische Umbenennung, es ist keine Erweiterung der regulären Ausdrücke. Wir haben lediglich festgelegt, dass wir, wenn wir einen String sehen, der KEIN regulärer Ausdruck ist, weil er bspw. sowas enthält:
(0+1)^+ diesen implizit lesen als
(0+1)(0+1)^* und dann als gewöhnlichen regulären Ausdruck behandeln.
Wenn in Ihrer obigen Definition für x^n das n als konstant angesehen wird, dann können Sie das machen. Das würde bedeuten, dass wir bspw.
(0+1+2)^4
ersetzen dürfen durch
(0+1+2)(0+1+2)(0+1+2)(0+1+2),
was bspw. auch das Wort 1021 enthalten würde wie in Ihrem Beispiel. Das ist eine elegante Lösung und das dürfen Sie auch in der Klausur so machen.
ABER: Es ist NICHT in Ordnung, etwa sowas zu schreiben:
0^n 1^n
und zu verlangen, dass im allgemeinen Fall dieser Ausdruck durch alle Ausdrücke ersetzt wird, bei denen die Anzahl der Nullen und Einsen gleich ist, also etwa so:
0^n 1^n =_def (01+0011+000111+00001111+...)
An diesem Beispiel sehen Sie auch schon, was allgemein geht und was nicht: Ein regulärer Ausdruck muss immer endlich bleiben, was hier nicht gegeben wäre.
Viele Grüße
Lukas König und Friederike Pfeiffer-Bohnen