TestgenTreetype model = Model.ttype term = Term.ttype num = Numeral.ttype depth = numA depth is just a numeral.
type mode = Scope.tA mode is just its name.
A conjunction of modes. First are the modes activated, then come the mode deactivated.
type mode_path = mode_conj listA mode_path stores the modes activated by the path in reverse order.
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.
Creates a reversed partial tree. mode_conj is a conjunction of modes activable in the initial state. mode_to_term is the function mapping mode names to their term at offset zero. Originally there are no witnesses, some initial state mode, and no modes explored.
Returns the list of mode conjunctions corresponding to a partial tree.
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.
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.
Pushes a node on top of the current one, activating a mode conjunction.
val pop : t -> unitPops the current node.
val pp_print_tree : 'a InputSystem.t -> Stdlib.Format.formatter -> t -> unitQuiet tree pretty printer.