Change in the Ata module:
[tatoo.git] / src / ata.mli
index e1fdc4a..815e20a 100644 (file)
@@ -122,8 +122,8 @@ val get_starting_states : t -> StateSet.t
 val get_selecting_states : t -> StateSet.t
 (** return the set of selecting states of the automaton *)
 
-val get_states_by_rank : t -> StateSet.t array
-(** return an array of states ordered by ranks.
+val get_states_by_rank : t -> (StateSet.t*StateSet.t) array
+(** return an array of states (sources, states) ordered by ranks.
 *)
 
 val get_max_rank : t -> int
@@ -141,6 +141,10 @@ val get_form : t -> QNameSet.elt -> State.t -> Formula.t
 (** [get_form auto l q] returns a single formula for label [l] in state [q].
     Takes time proportional to the number of transitions in the automaton.
  *)
+val state_prerequisites : move -> t -> State.t -> StateSet.t
+(** [state_prerequisites m auto q] returns the set of all states q' such
+    that [q', _ -> phi] and [m(q)] is in phi
+*)
 
 val print : Format.formatter -> t -> unit
 (** Pretty printing of the automaton *)