Reverse all the concatenations, and transpose the labels.
Preconditions:
Properties:
See also:
import vcsn
c = vcsn.context('law_char(abc), seriesset<law_char(xyz), b>')
c
r = c.expression('(<x>a+<xyz>(abc))*')
r
r.transpose()
assert(r.transpose().transpose() == r)
transpose
and transposition
should not be confused. The former completely rewrites the expression, while the latter only wraps it in a syntactic transposition operator:
r = c.expression('<xyz>(abc)')
r
r.transpose()
r.transposition()