I have been trying to formalise the union of two finite state automata without making use of epsilon transitions. I want to create a new initial start state for the new automata and from this new start state create transitions to the reachable states from the start state of the separate automata by copying these transitions.
Given an FSA
M1 = <Σ1, Q_1, q0_1, ->_1>
where Σ1 = alphabet, Q_1 is the set of states, q0_1 is the start state, and ->_1 is the transitions of M1.
Given another FSA
M2 = <Σ2, Q_2, q0_2, ->_2>
where Σ2 is the alphabet, Q_2 is the set of states, q0_2 is the start state, and ->_2 is the transitions of M2.
Now I have defined the FSA M+ = M1 ∪ M2 as the FSA :
M_+ = <Σ+, Q_+, q0_+, ->_+>
Σ+ = Σ1 ∪ Σ2 - alphabet of both
Q_+ = Q_1 ∪ Q_2 ∪ {q0_+},
q0+ is the new initial start state
->_+ = ->_1 ∪ ->_2 ∪ ->_C
I have been finding trouble defining ->_C - the new transitions to the reachable states of M1 and M2. I defined the type of ->_C to be as follows: Q x 2^Σ x 2^Q. It is required to be a set however I am not sure how to define it formally. Any help will be very much appreciated.