このディレクトリの索引
#          プログラム14.14: 言語(abcd)* を受理するNDFA
#  
#                                 a             
#                    -------------------------->
#           状態集合_0 {0}                        状態集合_1 {1}
#                                                    
#              ^                                     |
#              |                                     |
#              |                                     |  b
#           d  |                                     |
#              |                                     |
#              |                                     v
#                                                    
#           状態集合_3 {3} <--------------------  状態集合_2 {2}
#                                 c
#  
#                    図14.5: 簡単なオートマトン
#  


'言語(abcd)*を受理する非決定性有限オートマトン'(_入力記号ならび) :-
        '言語(abcd)*初期状態'(_状態),
        '言語(abcd)*を受理する非決定性有限オートマトン'(_状態,_入力記号ならび).

'言語(abcd)*を受理する非決定性有限オートマトン'(_状態,[_記号|R]) :-
        '言語(abcd)*'(_状態集合,_記号,_状態集合_1),
        状態集合(_状態集合,_状態),
        状態集合(_状態集合_1,_状態_1),
        '言語(abcd)*を受理する非決定性有限オートマトン'(_状態_1,R).
'言語(abcd)*を受理する非決定性有限オートマトン'(_状態,[]) :-
        '言語(abcd)*受理状態'(_状態).

'言語(abcd)*初期状態'(0).

'言語(abcd)*受理状態'(0).


'言語(abcd)*'(状態集合_0,a,状態集合_1).
'言語(abcd)*'(状態集合_1,b,状態集合_2). 
'言語(abcd)*'(状態集合_2,c,状態集合_3).
'言語(abcd)*'(状態集合_3,d,状態集合_0).

状態集合(状態集合_0,0).
状態集合(状態集合_1,1).
状態集合(状態集合_2,2).
状態集合(状態集合_3,3).