/*-------------------------------------------------------------------------
    program: enconding a finite automaton into Forum
    file:    automaton
    date:    December 97
    author:  Pablo Lopez (lopez@lcc.uma.es)
             Dept. of CS
             University of Malaga, SPAIN

    sample goals:
      go(a::a::b::a::nil).
      go(b::nil).
      go(a::a::b::a::b::nil).
-------------------------------------------------------------------------*/

module automaton.

% a finite automaton accepting the formal language
% given by the regular expression a*b+c*

infixr (::) : 500.

qi # a::S <= qa # S.
qi # b::S <= qb # S.

qa # a::S <= qa # S.
qa # b::S <= qb # S.

qb # b::S <= qb # S.
qb # c::S <= qc # S.
qb # nil.

qc # c::S <= qc # S.
qc # nil.

go(S) <= qi # S.
