sig
  type formula =
      (MultiEquation.crterm, MultiEquation.variable)
      Constraint.type_constraint
  val printf_constraint :
    ?forall:string ->
    ?exists:string ->
    ?andsym:string ->
    ?before:(ConstraintPrettyPrinter.formula -> 'a) ->
    ?after:(ConstraintPrettyPrinter.formula -> 'b) ->
    ?user_name_from_int:(int -> string) ->
    PrettyPrinter.mode -> ConstraintPrettyPrinter.formula -> unit
end