module List:sig..end
val forall : ?select:('a list -> 'a * 'a list) ->
('a -> Fcl_goals.t) -> 'a list -> Fcl_goals.tforall ?select g [x1;x2;...;xn] is g x1 &&~ g x2 &&~ ... &&~ g xn,
i.e. returns the conjunctive iteration of goal g on list a.
val exists : ?select:('a list -> 'a * 'a list) ->
('a -> Fcl_goals.t) -> 'a list -> Fcl_goals.texists ?select g [x1;x2;...;xn] is g x1 ||~ g x2 ||~ ... ||~ g xn,
i.e. returns the disjunctive iteration of goal g on list a.
val member : Fcl_var.Fd.t -> int list -> Fcl_goals.tmember v l returns the disjunctive iteration of the instantiation of
the variable v to the values in the integer list l. Defined by
fun v l -> exists (fun x -> create (fun () -> Fd.unify v x)) l.
val labeling : Fcl_var.Fd.t list -> Fcl_goals.tStandard labeling, i.e. conjunctive non-deterministic instantiation of
a list of variables. Defined as forall indomain.