Module type Hopcroft.S

type label
type state
type transition = {
  1. src : state;
  2. lbl : label;
  3. dst : state;
}
type automaton = {
  1. states : int;
    (*

    The number of states of the automaton.

    *)
  2. partitions : state list list;
    (*

    A set of state partitions initially known to be observationally distinct. For instance, if the automaton has the list l as accepting states, one can set partitions = [l].

    *)
  3. transitions : transition list;
    (*

    The transitions of the automaton without duplicates.

    *)
}
val reduce : automaton -> state list array

Associate the array of equivalence classes of the states of an automaton