fst-0.9: FST/MinimalBrzozowski.hs
{-
**************************************************************
* Filename : MinimalBrzozowski.hs *
* Author : Markus Forsberg *
* d97forma@dtek.chalmers.se *
* Last Modified : 7 July, 2001 *
* Lines : 20 *
**************************************************************
-}
module FST.MinimalBrzozowski ( minimize -- minimize an automaton.
) where
import FST.Automaton
import FST.Reversal
import FST.Deterministic
{- An algorithm due to Brzozowski.
Note that the determinize function must construct a
automaton with the usefulS property. -}
{-# SPECIALIZE minimize :: Automaton String -> Automaton String #-}
minimize :: Ord a => Automaton a -> Automaton a
minimize = determinize.reversal.determinize.reversal