Generalize Transition Graph 

> nfa:=randomNFA(6,3,2):
transitionGraph(nfa);
nfa2:=generalizeNFA(nfa);
 

Plot_2d
 

`:=`(nfa2, gNFA({q1, q2, q3, q4, q5, q0}, {a1, a2, a3}, TABLE([(q1, q5) = [a1, `+`, lambda], (q1, q0) = [a1], (q3, q0) = [lambda], (q2, q4) = [a1], (q2, q3) = [a1], (q2, q5) = [a1], (q3, q3) = [a1], (...
`:=`(nfa2, gNFA({q1, q2, q3, q4, q5, q0}, {a1, a2, a3}, TABLE([(q1, q5) = [a1, `+`, lambda], (q1, q0) = [a1], (q3, q0) = [lambda], (q2, q4) = [a1], (q2, q3) = [a1], (q2, q5) = [a1], (q3, q3) = [a1], (...
`:=`(nfa2, gNFA({q1, q2, q3, q4, q5, q0}, {a1, a2, a3}, TABLE([(q1, q5) = [a1, `+`, lambda], (q1, q0) = [a1], (q3, q0) = [lambda], (q2, q4) = [a1], (q2, q3) = [a1], (q2, q5) = [a1], (q3, q3) = [a1], (...
 

> nfa2 := gNFA({q2, q1, q0, q3, q4, q5},{a1, a2, a3},table([(q2, q4) = a1, %? = `a1+lambda`, (q0, q2) = lambda, (q1, q1) = lambda]),q0,{q1, q4});
 

`:=`(nfa2, gNFA({q0, q1, q2, q3, q4, q5}, {a3, a1, a2}, TABLE([(q2, q4) = a1, %? = `a1+lambda`, (q0, q2) = lambda, (q1, q1) = lambda]), q0, {q1, q4}))
`:=`(nfa2, gNFA({q0, q1, q2, q3, q4, q5}, {a3, a1, a2}, TABLE([(q2, q4) = a1, %? = `a1+lambda`, (q0, q2) = lambda, (q1, q1) = lambda]), q0, {q1, q4}))
(6.8.1)