Module TestgenTree
- type model- = Model.t
- type term- = Term.t
- type num- = Numeral.t
- type depth- = num
- A depth is just a numeral. 
- type mode- = Scope.t
- A - modeis just its name.
- type mode_conj- = mode list * mode list
- A conjunction of modes. First are the modes activated, then come the mode deactivated. 
- type mode_path- = mode_conj list
- A - mode_pathstores the modes activated by the path in reverse order.
- type t
- Stores the witnesses and the reversed tree. Also stores a mode to term function to construct constraints to activate or block mode paths / conjunctions of modes. 
- val mk : (mode -> term) -> mode_conj -> t
- Creates a reversed partial tree. - mode_conjis a conjunction of modes activable in the initial state.- mode_to_termis the function mapping mode names to their term @0. Originally there are no witnesses, some initial state mode, and no modes explored.
- val mode_path_of : t -> mode_path
- Returns the list of mode conjunctions corresponding to a partial tree. 
- val path_of : t -> Term.t
- Returns the term encoding the path of modes represented by a tree. - Used to check which modes can be activated to extend the path being currently explored. 
- val blocking_path_of : t -> Term.t
- Returns the term encoding the path of modes leading to the current node but blocking its mode conjunction and explored modes. - Used when backtracking, to see if different modes can be activated at the current depth. 
- val push : t -> mode_conj -> unit
- Pushes a node on top of the current one, activating a mode conjunction. 
- val pop : t -> unit
- Pops the current node. 
- val pp_print_tree : Stdlib.Format.formatter -> t -> unit
- Quiet tree pretty printer.