' :: Ord k => k -> M.Map k (S.Set a) -> S.Set a
lookup' k map = case M.lookup k map of
  Nothing -> S.empty
  Just s -> s

-- 状態 s で文字 a を入力したときの(ε遷移も含めた)遷移先を返す。
step' :: (State state, Alphabet alpha)
         => NFA state alpha -> state -> alpha -> S.
lookup' :: Ord k => k -> M.Map k (S.Set a) -> S.Set a
lookup' k map = case M.lookup k map of
  Nothing -> S.empty
  Just s -> s

-- 状態 s で文字 a を入力したときの(ε遷移も含めた)遷移先を返す。
lookup' k map = case M.lookup k map of
  Nothing -> S.empty
  Just s -> s

-- 状態 s で文字 a を入力したときの(ε遷移も含めた)遷移先を返す。