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 -> ('a -> Fcl_goals.t) -> 'a -> 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 -> 'a -> Fcl_goals.t) -> 'a array -> Fcl_goals.t
val forall :
?select:('a array -> int) ->
('a -> Fcl_goals.t) -> 'a array -> Fcl_goals.t
val existsi :
?select:('a array -> int) ->
(int -> 'a -> Fcl_goals.t) -> 'a array -> Fcl_goals.t
val exists :
?select:('a array -> int) ->
('a -> 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) ->
('a -> Fcl_goals.t) -> 'a list -> Fcl_goals.t
val exists :
?select:('a list -> 'a * 'a list) ->
('a -> 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