Minimize.AA is the automaton that must be minimized.
include DFA with type label := Label.tThe type states is a type-level representation of the number of states of the automaton. Thus, a state number has type states index. See Indexing for more information about type-level indices.
val states : states Indexing.cardinalstates is the number of states of the automaton.
type state = states Indexing.indexA state number is an integer in the range [0, cardinal states).
The type transitions is a type-level representation of the number of transitions of the automaton. Thus, a transition number has type transitions index. See Indexing for more information about type-level indices.
val transitions : transitions Indexing.cardinaltransitions is the number of transitions of the automaton.
type transition = transitions Indexing.indexA transition number is an integer in the range [0, cardinal transitions).
val label : transition -> Label.tlabel t returns the label of the transition t.
val source : transition -> statesource t returns the source state of the transition t.
val target : transition -> statetarget t returns the target state of the transition t.
If debug is true then the algorithm checks that the automaton is deterministic, that is, no two transitions have the same source state and label.
groups is a possibly empty enumeration of groups, where a group is a possibly empty set of states. The minimization algorithm must respect every group in this enumeration. That is, for each group, two states can be regarded as equivalent only if they both lie outside this group or both lie inside this group.