I am trying to create the regular expression for the automaton named "full closure" in the following diagram using the arden's theorem: [![enter image description here][1]][1] Since, we have 3 accepting states, we would find 3 different regular expression and then just union them up. I was able to find regular expression for q0, q1 but facing issues when trying to find one for q2: q0 = a* q1 = a*b* + b* q2 = a*(ac* + bc* + cc* + b*bc* + b*cc* ) + b*(bc* + cc*) + c* EDIT: I was able to minimize the final expression that is r = q0 + q1 + q2, to r = a*b*c* + a*bc* + b*b + c* My question is can we further minimize this regular expression for q2 and overall when we union? The "full closure" automata recognizes language "a* b* c*" [1]: https://i.sstatic.net/j0xvg.png