/* A simulator for an NFA in Picat */ main ?=> fa([a,b,b,b],0), writeln(accepted). main => writeln(not_accepted). fa([],3) => true. fa([Sym|Input],State) => move(State,Sym,NextState), fa(Input,NextState). index (+,+,-) move(0,a,0). move(0,b,0). move(0,a,1). move(1,b,2). move(2,b,3).