sig   type t   val name : Fcl_goals.t -> string   val fprint : Pervasives.out_channel -> Fcl_goals.t -> unit   val fail : Fcl_goals.t   val success : Fcl_goals.t   val atomic : ?name:string -> (unit -> unit) -> Fcl_goals.t   val create : ?name:string -> ('-> Fcl_goals.t) -> '-> Fcl_goals.t   val create_rec :     ?name:string -> (Fcl_goals.t -> Fcl_goals.t) -> Fcl_goals.t   val ( &&~ ) : Fcl_goals.t -> Fcl_goals.t -> Fcl_goals.t   val ( ||~ ) : Fcl_goals.t -> Fcl_goals.t -> Fcl_goals.t   val forto : int -> int -> (int -> Fcl_goals.t) -> Fcl_goals.t   val fordownto : int -> int -> (int -> Fcl_goals.t) -> Fcl_goals.t   val once : Fcl_goals.t -> Fcl_goals.t   val sigma :     ?domain:Fcl_domain.t -> (Fcl_var.Fd.t -> Fcl_goals.t) -> Fcl_goals.t   val unify : Fcl_var.Fd.t -> int -> Fcl_goals.t   val indomain : Fcl_var.Fd.t -> Fcl_goals.t   val instantiate : (Fcl_domain.t -> int) -> Fcl_var.Fd.t -> Fcl_goals.t   val dichotomic : Fcl_var.Fd.t -> Fcl_goals.t   module Conjunto : sig val indomain : Fcl_var.SetFd.t -> Fcl_goals.t end   module Array :     sig       val foralli :         ?select:('a array -> int) ->         (int -> '-> Fcl_goals.t) -> 'a array -> Fcl_goals.t       val forall :         ?select:('a array -> int) ->         ('-> Fcl_goals.t) -> 'a array -> Fcl_goals.t       val existsi :         ?select:('a array -> int) ->         (int -> '-> Fcl_goals.t) -> 'a array -> Fcl_goals.t       val exists :         ?select:('a array -> int) ->         ('-> Fcl_goals.t) -> 'a array -> Fcl_goals.t       val choose_index :         (Fcl_var.Attr.t -> Fcl_var.Attr.t -> bool) ->         Fcl_var.Fd.t array -> int       val not_instantiated_fd : Fcl_var.Fd.t array -> int       val labeling : Fcl_var.Fd.t array -> Fcl_goals.t     end   module List :     sig       val forall :         ?select:('a list -> 'a * 'a list) ->         ('-> Fcl_goals.t) -> 'a list -> Fcl_goals.t       val exists :         ?select:('a list -> 'a * 'a list) ->         ('-> Fcl_goals.t) -> 'a list -> Fcl_goals.t       val member : Fcl_var.Fd.t -> int list -> Fcl_goals.t       val labeling : Fcl_var.Fd.t list -> Fcl_goals.t     end   type bb_mode = Restart | Continue   val minimize :     ?step:int ->     ?mode:Fcl_goals.bb_mode ->     Fcl_goals.t -> Fcl_var.Fd.t -> (int -> unit) -> Fcl_goals.t   val lds : ?step:int -> Fcl_goals.t -> Fcl_goals.t   val solve : ?control:(int -> unit) -> Fcl_goals.t -> bool   val reset : unit -> unit end