*** BATCH MODE: Parsing file: test
----------------------------------------------------------------------
[OP:E] ()? --> ()

	()? --> ()

        ==============================
ORIG:   ()?
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[OP:O] X?? --> X?

	a?? --> a?

        ==============================
ORIG:   a??
        ------------------------------
NORM:   a?
        ==============================
----------------------------------------------------------------------
[OP:P] X+? --> X*

	a+? --> a*

        ==============================
ORIG:   a+?
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[OP:S] X*? --> X*

	a*? --> a*

        ==============================
ORIG:   a*?
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[OP:N] X_1^n? --> X_0^n

	a_1^3? --> a_0^3

        ==============================
ORIG:   a_1^3?
        ------------------------------
NORM:   a_0^3
        ==============================
----------------------------------------------------------------------
[PL:E] ()+ --> ()

	()+ --> ()

        ==============================
ORIG:   ()+
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[PL:O] X?+ --> X*

	a?+ --> a*

        ==============================
ORIG:   a?+
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[PL:P] X++ --> X+

	a++ --> a+

        ==============================
ORIG:   a++
        ------------------------------
NORM:   a+
        ==============================
----------------------------------------------------------------------
[PL:S] X*+ --> X*

	a*+ --> a*

        ==============================
ORIG:   a*+
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[ST:E] ()* --> ()

	()* --> ()

        ==============================
ORIG:   ()*
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[ST:O] X?* --> X*

	a?* --> a*

        ==============================
ORIG:   a?*
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[ST:P] X+* --> X*

	a+* --> a*

        ==============================
ORIG:   a+*
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[ST:S] X** --> X*

	a** --> a*

        ==============================
ORIG:   a**
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[PW:E] ()^n --> ()

	()^3 --> ()

        ==============================
ORIG:   ()^3
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[PW:0] X^0 --> ()

	a^0 --> ()

        ==============================
ORIG:   a^0
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[PW:1] X^1 --> X

	a^1 --> a

        ==============================
ORIG:   a^1
        ------------------------------
NORM:   a
        ==============================
----------------------------------------------------------------------
[PW:O] X?^n --> X_0^n

	a?^3 --> a_0^3

        ==============================
ORIG:   a?^3
        ------------------------------
NORM:   a_0^3
        ==============================
----------------------------------------------------------------------
[PW:P] X+^n --> X_n~

	a+^3 --> a_3~

        ==============================
ORIG:   a+^3
        ------------------------------
NORM:   a_3~
        ==============================
----------------------------------------------------------------------
[PW:S] X*^n --> X*

	a*^3 --> a*

        ==============================
ORIG:   a*^3
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[PW:N] X^m^n --> X^m*n

	a^2^3 --> a^6

        ==============================
ORIG:   a^2^3
        ------------------------------
NORM:   a^6
        ==============================
----------------------------------------------------------------------
[PW:R] X_m^n^p --> X_m*p^n*p

	a_2^3^4 --> a_8^12

        ==============================
ORIG:   a_2^3^4
        ------------------------------
NORM:   a_8^12
        ==============================
----------------------------------------------------------------------
[PR:E] ()_m^n --> ()

	()_3^5 --> ()

        ==============================
ORIG:   ()_3^5
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[PR:__] X_m^n --> ()	(if m>n)

	a_3^1 --> ()

        ==============================
ORIG:   a_3^1
        ------------------------------
NORM:   ()
        ==============================
----------------------------------------------------------------------
[PR:mm] X_m^m --> X

	a_3^3 --> a

        ==============================
ORIG:   a_3^3
        ------------------------------
NORM:   a
        ==============================
----------------------------------------------------------------------
[PR:01] X_0^1 --> X?

	a_0^1 --> a?

        ==============================
ORIG:   a_0^1
        ------------------------------
NORM:   a?
        ==============================
----------------------------------------------------------------------
[PR:0_] X_0~ --> X*

	a_0~ --> a*

        ==============================
ORIG:   a_0~
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[PR:1_] X_1~ --> X+

	a_1~ --> a+

        ==============================
ORIG:   a_1~
        ------------------------------
NORM:   a+
        ==============================
----------------------------------------------------------------------
[PR:O] X?_m^n --> X_0^n

	a?_2^3 --> a_0^3

        ==============================
ORIG:   a?_2^3
        ------------------------------
NORM:   a_0^3
        ==============================
----------------------------------------------------------------------
[PR:P] X+_m^n --> X_m~

	a+_2^3 --> a_2~

        ==============================
ORIG:   a+_2^3
        ------------------------------
NORM:   a_2~
        ==============================
----------------------------------------------------------------------
[PR:S] X*_m^n --> X*

	a*_2^3 --> a*

        ==============================
ORIG:   a*_2^3
        ------------------------------
NORM:   a*
        ==============================
----------------------------------------------------------------------
[CO:EX] ().X --> X

	().a --> a

        ==============================
ORIG:   ().a
        ------------------------------
NORM:   a
        ==============================
----------------------------------------------------------------------
[CO:XE] X.() --> X

	a.() --> a

        ==============================
ORIG:   a.()
        ------------------------------
NORM:   a
        ==============================
----------------------------------------------------------------------
[CO:AS] (X.Y).Z --> X.(Y.Z)

	a.b.c --> a.b.c

        ==============================
ORIG:   a.b.c
        ------------------------------
NORM:   a.b.c
        ==============================
----------------------------------------------------------------------
[CO:RD] (X | Y).Z --> X.Z | Y.Z

	(a|b).c --> a.c|b.c

        ==============================
ORIG:   (a|b).c
        ------------------------------
NORM:   a.c|b.c
        ==============================
----------------------------------------------------------------------
[CO:LD] X.(Y | Z) --> X.Y | X.Z

	a.(b|c) --> a.b|a.c

        ==============================
ORIG:   a.(b|c)
        ------------------------------
NORM:   a.b|a.c
        ==============================
----------------------------------------------------------------------
[CO:XX1] X.X --> X^2

	a.a --> a^2

        ==============================
ORIG:   a.a
        ------------------------------
NORM:   a^2
        ==============================
----------------------------------------------------------------------
[CO:XX2] X.(X.Y) --> X^2.Y

	a.a.b --> a^2.b

        ==============================
ORIG:   a.a.b
        ------------------------------
NORM:   a^2.b
        ==============================
----------------------------------------------------------------------
[CO:NX1] X^n.X --> X^n+1

	a^3.a --> a^4

        ==============================
ORIG:   a^3.a
        ------------------------------
NORM:   a^4
        ==============================
----------------------------------------------------------------------
[CO:XN1] X.X^q --> X^q+1

	a.a^3 --> a^4

        ==============================
ORIG:   a.a^3
        ------------------------------
NORM:   a^4
        ==============================
----------------------------------------------------------------------
[CO:XN2] X.(X^q.Y) --> X^q+1.Y

	a.a^3.b --> a^4.b

        ==============================
ORIG:   a.a^3.b
        ------------------------------
NORM:   a^4.b
        ==============================
----------------------------------------------------------------------
[CO:NX2] X^n.(X.Y) --> X^n+1.Y

	a^3.a.b --> a^4.b

        ==============================
ORIG:   a^3.a.b
        ------------------------------
NORM:   a^4.b
        ==============================
----------------------------------------------------------------------
[CO:NN1] X^n.X^q --> X^n+q

	a^2.a^3 --> a^5

        ==============================
ORIG:   a^2.a^3
        ------------------------------
NORM:   a^5
        ==============================
----------------------------------------------------------------------
[CO:NN2] X^n.(X^q.Y) --> X^n+q.Y

	a^2.a^3.b --> a^5.b

        ==============================
ORIG:   a^2.a^3.b
        ------------------------------
NORM:   a^5.b
        ==============================
----------------------------------------------------------------------
[CO:NR1] X^n.X_p^q --> X_n+p^n+q

	a^2.a_3^6 --> a_5^8

        ==============================
ORIG:   a^2.a_3^6
        ------------------------------
NORM:   a_5^8
        ==============================
----------------------------------------------------------------------
[CO:XR1] X.X_p^q --> X_p+1^q+1

	a.a_2^3 --> a_3^4

        ==============================
ORIG:   a.a_2^3
        ------------------------------
NORM:   a_3^4
        ==============================
----------------------------------------------------------------------
[CO:RX1] X_m^n.X --> X_m+1^n+1

	a_2^3.a --> a_3^4

        ==============================
ORIG:   a_2^3.a
        ------------------------------
NORM:   a_3^4
        ==============================
----------------------------------------------------------------------
[CO:RN1] X_m^n.X^q --> X_m+q^n+q

	a_2^3.a^4 --> a_6^7

        ==============================
ORIG:   a_2^3.a^4
        ------------------------------
NORM:   a_6^7
        ==============================
----------------------------------------------------------------------
[CO:RR1] X_m^n.X_p^q --> X_m+p^n+q

	a_2^3.a_4^5 --> a_6^8

        ==============================
ORIG:   a_2^3.a_4^5
        ------------------------------
NORM:   a_6^8
        ==============================
----------------------------------------------------------------------
[CH:E1] () | X --> X?

	()|a --> a?

        ==============================
ORIG:   ()|a
        ------------------------------
NORM:   a?
        ==============================
----------------------------------------------------------------------
[CH:E2] X | () --> X?

	a|() --> a?

        ==============================
ORIG:   a|()
        ------------------------------
NORM:   a?
        ==============================
----------------------------------------------------------------------
[CH:O_] X? | Y --> (X | Y)?

	a?|b --> (a|b)?

        ==============================
ORIG:   a?|b
        ------------------------------
NORM:   (a|b)?
        ==============================
----------------------------------------------------------------------
[CH:_O] X | Y? --> (X | Y)?

	a|b? --> (a|b)?

        ==============================
ORIG:   a|b?
        ------------------------------
NORM:   (a|b)?
        ==============================
----------------------------------------------------------------------
[CH:AS] (X | Y) | Z --> X | (Y | Z)

	a|b|c --> a|b|c

        ==============================
ORIG:   a|b|c
        ------------------------------
NORM:   a|b|c
        ==============================
----------------------------------------------------------------------
[CH:ba1] b | a --> a | b	(if a < b)

	b|a --> a|b

        ==============================
ORIG:   b|a
        ------------------------------
NORM:   a|b
        ==============================
----------------------------------------------------------------------
[CH:ba2] b | (a | X) --> a | (b | X)	(if a < b)

	b|a|c --> a|b|c

        ==============================
ORIG:   b|a|c
        ------------------------------
NORM:   a|b|c
        ==============================
----------------------------------------------------------------------
[CH:XX1] X | X --> X

	a|a --> a

        ==============================
ORIG:   a|a
        ------------------------------
NORM:   a
        ==============================
----------------------------------------------------------------------
[CH:XX2] X | (X | Y) --> X | Y

	a|a|b --> a|b

        ==============================
ORIG:   a|a|b
        ------------------------------
NORM:   a|b
        ==============================
----------------------------------------------------------------------
[CH:XSX] X.Y* | X --> X.Y*

	a.b*|a --> a.b*

        ==============================
ORIG:   a.b*|a
        ------------------------------
NORM:   a.b*
        ==============================
----------------------------------------------------------------------
[CH:SXX] Y*.X | X --> Y*.X

	b*.a|a --> b*.a

        ==============================
ORIG:   b*.a|a
        ------------------------------
NORM:   b*.a
        ==============================
----------------------------------------------------------------------
[CH:XPX] X.Y+ | X --> X.Y*

	a.b+|a --> a.b*

        ==============================
ORIG:   a.b+|a
        ------------------------------
NORM:   a.b*
        ==============================
----------------------------------------------------------------------
[CH:PXX] Y+.X | X --> Y*.X

	b+.a|a --> b*.a

        ==============================
ORIG:   b+.a|a
        ------------------------------
NORM:   b*.a
        ==============================
----------------------------------------------------------------------
[CH:XXS] X | X.Y* --> X.Y*

	a|a.b* --> a.b*

        ==============================
ORIG:   a|a.b*
        ------------------------------
NORM:   a.b*
        ==============================
----------------------------------------------------------------------
[CH:XSX] X | Y*.X --> Y*.X

	a|b*.a --> b*.a

        ==============================
ORIG:   a|b*.a
        ------------------------------
NORM:   b*.a
        ==============================
----------------------------------------------------------------------
[CH:XXP] X | X.Y+ --> X.Y*

	a|a.b+ --> a.b*

        ==============================
ORIG:   a|a.b+
        ------------------------------
NORM:   a.b*
        ==============================
----------------------------------------------------------------------
[CH:XPX] X | Y+.X --> Y*.X

	a|b+.a --> b*.a

        ==============================
ORIG:   a|b+.a
        ------------------------------
NORM:   b*.a
        ==============================
----------------------------------------------------------------------
[CH:nn1] X^n | X^n+1 --> X_n^n+1

	a^3|a^4 --> a_3^4

        ==============================
ORIG:   a^3|a^4
        ------------------------------
NORM:   a_3^4
        ==============================
----------------------------------------------------------------------
[CH:bman1] b^m | a^n --> a^n | b^m	(if a<b)

	b^2|a^3 --> a^3|b^2

        ==============================
ORIG:   b^2|a^3
        ------------------------------
NORM:   a^3|b^2
        ==============================
----------------------------------------------------------------------
[CH:Xnm1] X^n | X^m --> X^m | X^n	(if m<n)

	a^4|a^2 --> a^2|a^4

        ==============================
ORIG:   a^4|a^2
        ------------------------------
NORM:   a^2|a^4
        ==============================
----------------------------------------------------------------------
[CH:bman2] b^m | (a^n | X) --> a^n | (b^m | X)	(if a<b)

	b^2|a^3|c --> a^3|b^2|c

        ==============================
ORIG:   b^2|a^3|c
        ------------------------------
NORM:   a^3|b^2|c
        ==============================
----------------------------------------------------------------------
[CH:nm2] X^n | (X^m | Y) --> X^m | (X^n | Y)	(if m<n)

	a^4|a^2|b --> a^2|a^4|b

        ==============================
ORIG:   a^4|a^2|b
        ------------------------------
NORM:   a^2|a^4|b
        ==============================
----------------------------------------------------------------------
[CH:baRR2] b_m^n | (a_p^q | X) --> a_p^q | (b_m^n | X)	(if a<b)

	b_2^3|a_4^5|c --> a_4^5|b_2^3|c

        ==============================
ORIG:   b_2^3|a_4^5|c
        ------------------------------
NORM:   a_4^5|b_2^3|c
        ==============================
----------------------------------------------------------------------
[CH:RR2] X_p^q | (X_m^n | Y) --> X_m^n | (X_p^q | Y)	(if m<p)

	a_5^6|a_2^3|b --> a_2^3|a_5^6|b

        ==============================
ORIG:   a_5^6|a_2^3|b
        ------------------------------
NORM:   a_2^3|a_5^6|b
        ==============================
----------------------------------------------------------------------
[CH:RR12] X_m^n | X_p^q --> X_m^max(n,q)		(if p<=n+1)

	a_2^4|a_3^5 --> a_2^5

        ==============================
ORIG:   a_2^4|a_3^5
        ------------------------------
NORM:   a_2^5
        ==============================
