sig
  val foralli :
    ?select:('a array -> int) ->
    (int -> '-> Goals.t) -> 'a array -> Goals.t
  val forall :
    ?select:('a array -> int) -> ('-> Goals.t) -> 'a array -> Goals.t
  val existsi :
    ?select:('a array -> int) ->
    (int -> '-> Goals.t) -> 'a array -> Goals.t
  val exists :
    ?select:('a array -> int) -> ('-> Goals.t) -> 'a array -> Goals.t
  val choose_index :
    (Var.Attr.t -> Var.Attr.t -> bool) -> Var.Fd.t array -> int
  val not_instantiated_fd : Var.Fd.t array -> int
  val labeling : Var.Fd.t array -> Goals.t
end