Question: How to simplify noncommutative expressions?

I am trying to simplify noncommutative expressions that use the 'dot' operator: `.`. The following is a minimal example:

a2 . (1/(a2 . (1/a1) . a2)) . a2, which evaluates to:   a2 . (1/(a2 . (1/a1) . a2)) . a2

This should simplify to 'a1', as I am expecting `.` to work like noncommutative multiplication. If there is any way to define this behavior I would appreciate some help. Alternatively, I would also be happy with reworking 'simplify' to work in this scenario. If it helps, I am working with finitely presented groups. If you see the Maple package 'GroupTheory', you'll see that the 'Group' function has this built in. If we input generators and relators it will simplify expressions of the above type, so I know it can be done!

Lastly, I would prefer displaying '1/a1' as 'a1^-1', but that is just for aesthetics.

Here is a minimal document: minimalexample.mw

Please Wait...