sig
  type t = Ast.node_cube
  val variables : Node.t -> Variable.t list
  val array : Node.t -> Types.ArrayAtom.t
  val litterals : Node.t -> Types.SAtom.t
  val dim : Node.t -> int
  val size : Node.t -> int
  val create :
    ?kind:Ast.kind -> ?from:Ast.trace_step option -> Cube.t -> Node.t
  val compare_by_breadth : Node.t -> Node.t -> int
  val compare_by_depth : Node.t -> Node.t -> int
  val origin : Node.t -> Node.t
  val has_deleted_ancestor : Node.t -> bool
  val ancestor_of : Node.t -> Node.t -> bool
  val subset : Node.t -> Node.t -> bool
  val print : Format.formatter -> Node.t -> unit
  val print_history : Format.formatter -> Node.t -> unit
end