module Node:sig
..end
Node of the search graph
typet =
Ast.node_cube
the type of nodes constructed during the search
val variables : t -> Variable.t list
returns the variables of the associated cube
val array : t -> Types.ArrayAtom.t
returns the conjunction in array form of the associated cube
val litterals : t -> Types.SAtom.t
returns the conjunction of litterals of the associated cube
val dim : t -> int
returns the dimension of the associated cube (see Cube.dim
)
val size : t -> int
returns the size of the associated cube (see Cube.size
)
val create : ?kind:Ast.kind -> ?from:Ast.trace_step option -> Cube.t -> t
given a cube creates a node with a given kind, and a history
val compare_by_breadth : t -> t -> int
compare two nodes with a heuristic to find the most general one. Gives priority to nodes that have smaller depth in the search graph
val compare_by_depth : t -> t -> int
compare two nodes with a heuristic to find the most general one. Gives priority to nodes that have bigger depth in the search graph
val origin : t -> t
returns the origin of the node, i.e. its further ancestor
val has_deleted_ancestor : t -> bool
returns true
if one of the ancestor has been set to deleted
val ancestor_of : t -> t -> bool
ancestor_of a b
returns true
if a
is an ancestor of b
val subset : t -> t -> bool
returns true if the set of litterals of the cube associated with the first arguement is a subset of the second argument
val print : Format.formatter -> t -> unit
prints the cube of a node
val print_history : Format.formatter -> t -> unit
prints the trace corresponding to the history of a node