Implement automaton simplification.
[tatoo.git] / src / ata.mli
index e1fdc4a..1f8e863 100644 (file)
@@ -102,7 +102,7 @@ end
 
 module TransList : sig
   include Hlist.S with type elt = Transition.t
-  val print : Format.formatter -> ?sep:string -> t -> unit
+  val print : ?sep:string -> Format.formatter  -> t -> unit
 end
 (** Hashconsed lists of transitions, with a printing facility *)
 
@@ -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 *)
@@ -203,7 +207,7 @@ sig
   val finalize : t  -> auto
 (** Finalize the automaton and return it. Clean-up unused states
     (states that do not occur in any transitions and remove
-    instantes of negative [move] atoms by creating fresh states
+    instances of negative [move] atoms by creating fresh states
     that accept the complement of the negated state.  *)
 end
   (** Builder facility for the automaton *)