(***********************************************************************)
(*
- Time-stamp: <Last modified on 2013-04-04 18:42:38 CEST by Kim Nguyen>
+ Time-stamp: <Last modified on 2013-04-23 15:12:15 CEST by Kim Nguyen>
*)
type predicate =
end
+type node_summary = private int
+val node_summary : bool -> bool -> bool -> bool -> Tree.NodeKind.t -> node_summary
+val dummy_summary : node_summary
+type config = {
+ sat : StateSet.t;
+ unsat : StateSet.t;
+ todo : TransList.t;
+ summary : node_summary;
+ mutable round : int;
+}
+
+module Config : Hcons.S with type data = config
+
+
type t = private {
id : Uid.t;
mutable states : StateSet.t;
mutable selection_states: StateSet.t;
transitions: (State.t, (QNameSet.t*SFormula.t) list) Hashtbl.t;
mutable cache2 : TransList.t Cache.N2.t;
- mutable cache6 : (TransList.t*StateSet.t) Cache.N6.t;
+ mutable cache4 : Config.t Cache.N4.t;
}
val reset : t -> unit
val get_trans : t -> QNameSet.elt -> StateSet.t -> TransList.t
-val eval_trans : t -> TransList.t
- -> StateSet.t -> StateSet.t -> StateSet.t -> StateSet.t
- -> bool -> bool -> bool -> bool -> Tree.NodeKind.t
- -> TransList.t*StateSet.t
+
+val eval_trans : t -> Config.t -> Config.t -> Config.t -> Config.t -> Config.t
val add_trans : t -> State.t -> QNameSet.t -> SFormula.t -> unit
val print : Format.formatter -> t -> unit