Example Generator 

> condi:=true:
while condi do
dfa5a:=randomNFA(8,{"0","1"},2);
r1:=op(NFA2RE(dfa5a));
if not(member(\lambda,r1)) and member("0",r1) and member("1",r1) and nops(r1)>30 and nops(r1)<80 then
 condi:=false:
fi:
od:
r1;
 

Warning, The regular expression is empty.
(8.1.2.1)
 

Warning, The regular expression is empty.
(8.1.2.1)
 

[`(`,
[`(`,
[`(`,
(8.1.2.1)
 

> r1:=op(NFA2RE(dfa5a));
 

> s1:=Join(map(x->convert(x,string),r1));
 

> NFA2RE(dfa5a,result=string);
 

> dfa5b:=simplifyNFA(RE2NFA(s1)):
 

> isEmptyNFA(intersectNFA(dfa5a,complementNFA(dfa5b)));
isEmptyNFA(intersectNFA(dfa5b,complementNFA(dfa5a)));
 

`:=`(r1, [`(`,
`:=`(r1, [`(`,
`:=`(r1, [`(`,
(8.1.2.2)
 

`:=`(s1, (8.1.2.2)
 

RE(
RE(
(8.1.2.2)
 

true (8.1.2.2)
 

true (8.1.2.2)
 

> transitionGraph(simplifyDFA(minimalDFA(NFA2DFA(dfa5a))));
transitionGraph(simplifyDFA(minimalDFA(NFA2DFA(dfa5b))));
 

Plot_2d
 

Plot_2d
 

>