sig
  val forall :
    ?select:('a list -> 'a * 'a list) ->
    ('-> Goals.t) -> 'a list -> Goals.t
  val exists :
    ?select:('a list -> 'a * 'a list) ->
    ('-> Goals.t) -> 'a list -> Goals.t
  val member : Var.Fd.t -> int list -> Goals.t
  val labeling : Var.Fd.t list -> Goals.t
end