Final State To Empty Stack PDA 

> InternalStates:={q0,q1,q2,q3,q4}:
Alphabet:={a,b}:
StackAlphabet:={0,1}:
delta:=`delta`:
delta[(q0,a,0)]:={[q1,[1,0]],[q3,\lambda],[q4,[0]]}:
delta[(q0,\lambda,0)]:={[q3,\lambda],[q3,0]}:
delta[(q1,a,1)]:={[q1,[1,1,0]]}:
delta[(q1,b,1)]:={[q2,\lambda]}:
delta[(q2,b,1)]:={[q2,\lambda]}:
delta[(q2,\lambda,0)]:={[q3,[]]}:  ## [] is the same as \lambda
StackStartSymbol:=0:
InitialState := q0:
FinalStates:={q2,q3}:
npda01:=mkNPDA(InternalStates,Alphabet,StackAlphabet,op(delta),
 InitialState,StackStartSymbol,FinalStates);
transitionGraph(npda01);
 

`:=`(npda01, NPDA({q0, q1, q2, q3, q4}, {a, b}, {0, 1}, TABLE([(q2, b, 1) = {[q2, lambda]}, (q2, lambda, 0) = {[q3, lambda]}, (q0, a, 0) = {[q1, [1, 0]], [q4, [0]], [q3, lambda]}, (q0, lambda, 0) = {[...
`:=`(npda01, NPDA({q0, q1, q2, q3, q4}, {a, b}, {0, 1}, TABLE([(q2, b, 1) = {[q2, lambda]}, (q2, lambda, 0) = {[q3, lambda]}, (q0, a, 0) = {[q1, [1, 0]], [q4, [0]], [q3, lambda]}, (q0, lambda, 0) = {[...
`:=`(npda01, NPDA({q0, q1, q2, q3, q4}, {a, b}, {0, 1}, TABLE([(q2, b, 1) = {[q2, lambda]}, (q2, lambda, 0) = {[q3, lambda]}, (q0, a, 0) = {[q1, [1, 0]], [q4, [0]], [q3, lambda]}, (q0, lambda, 0) = {[...
 

Plot_2d
 

> npda01c:=finalStatePDA2emptyStackPDA(npda01);
transitionGraph(npda01c);
 

`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
`:=`(npda01c, NPDA({q0, q0_1, q_f_2, q1, q2, q3, q4}, {a, b}, {0, 1, `0_3`}, TABLE([(q3, lambda, 1) = {[q_f_2, lambda]}, (q2, b, 1) = {[q2, lambda]}, (q_f_2, lambda, `0_3`) = {[q_f_2, lambda]}, (q2, l...
 

Plot_2d
 

>
 

>