Symbolic hazard-free minimization and encoding of asynchronous finite state machines