th :: (IntState s, Eq s, Eq i) =>
         Integer -> Integer -> Integer ->    -- i,j,k
         DFA s i -> RE i
kPath i j 0 (DFA _ _ transFunc) =
  if i == j then Epsilon
  else case find (\(s,_,s') -> noToState i == s &&
                               noToState j == s') transtbl of
         Just (_,input,_) -> Symbol input
         Nothing          -> EmptySet
  where transtbl = transFuncToTable transFunc
kP
kPath :: (IntState s, Eq s, Eq i) =>
         Integer -> Integer -> Integer ->    -- i,j,k
         DFA s i -> RE i
kPath i j 0 (DFA _ _ transFunc) =
  if i == j then Epsilon
  else case find (\(s,_,s') -> noToState i == s &&
                               noToState j == s') transtbl of
         Just (_,input,_) -> Symbol input
         Nothing          -> EmptySet
  where transtbl = transFuncToTable transFunc
kPath i j 0 (DFA _ _ transFunc) =
  if i == j then Epsilon
  else case find (\(s,_,s') -> noToState i == s &&
                               noToState j == s') transtbl of
         Just (_,input,_) -> Symbol input
         Nothing          -> EmptySet
  where transtbl = transFuncToTable transFunc