module NewFSM where import qualified Data.Map as Map hiding (Map) import Data.Map (Map) import qualified Data.Set as Set hiding (Set) import Data.Set (Set) type Symbol = Char type Word = [Symbol] type TransRel state = Map (state, Symbol) (Set state) type TransFun state = Map (state, Symbol) state tr1 :: TransRel Int tr1 = Map.fromList [((1,'a'), Set.singleton 2) ,((1,'b'), Set.singleton 3) ,((2,'b'), Set.singleton 3) ,((3,'a'), Set.singleton 1) ,((3,'b'), Set.singleton 2) ]