sig
  val constant : Format.formatter -> Fol.constant -> unit
  val pp_list :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a list -> unit
  val pp_typelist :
    (Format.formatter -> '-> unit) -> Format.formatter -> 'a list -> unit
  val pp_flow :
    Format.formatter ->
    string -> string -> (Format.formatter -> '-> unit) -> 'a list -> unit
  val pp_block :
    Format.formatter ->
    string -> string -> (Format.formatter -> '-> unit) -> 'a list -> unit
  val pp_var : Format.formatter -> Fol.Var.t -> unit
  val collect_assoc :
    string -> 'Fol.d_term list -> 'Fol.d_term list -> 'Fol.d_term list
  val fpp_term :
    (Format.formatter -> 'Fol.d_term -> unit) ->
    (Format.formatter -> '-> unit) ->
    Format.formatter -> 'Fol.d_term -> unit
  val collect_or : 'Fol.t_pred list -> 'Fol.t_pred -> 'Fol.t_pred list
  val collect_and : 'Fol.t_pred list -> 'Fol.t_pred -> 'Fol.t_pred list
  val collect_imply :
    'Fol.t_pred list -> 'Fol.t_pred -> 'Fol.t_pred list
  val collect_iff : 'Fol.t_pred list -> 'Fol.t_pred -> 'Fol.t_pred list
  type 'a pp = Format.formatter -> '-> unit
  type 'a pp_env =
    'Fol_coq.pp_env = {
    pp_type : Formula.tau pp;
    pp_term : 'Fol.d_term pp;
    pp_pred : 'Fol.d_pred pp;
  }
  val pp_args :
    (Format.formatter -> Formula.tau -> unit) ->
    Format.formatter -> Fol.Var.t list -> unit
  val fpp_f_let :
    (Format.formatter -> Formula.tau -> unit) ->
    (Format.formatter -> 'Fol.d_term -> unit) ->
    Format.formatter -> 'Fol_cc.f_let -> unit
  val fpp_lf_let :
    (Format.formatter -> Formula.tau -> unit) ->
    (Format.formatter -> 'Fol.d_term -> unit) ->
    Format.formatter -> 'Fol_cc.f_let list -> unit
  val epp_pred_vbox : 'a pp_env -> Format.formatter -> 'Fol.d_pred -> unit
  val epp_pred_atom : 'a pp_env -> Format.formatter -> 'Fol.d_pred -> unit
  val fpp_pred :
    (Format.formatter -> 'Fol.t_pred -> unit) ->
    (Format.formatter -> '-> unit) ->
    (Format.formatter -> Formula.tau -> unit) ->
    Format.formatter -> 'Fol.t_pred -> unit
  val fpp_item :
    (Format.formatter -> unit Fol.d_pred -> unit) ->
    (Format.formatter -> Formula.tau -> unit) ->
    (Format.formatter -> unit Fol.d_term -> unit) ->
    Format.formatter -> string -> unit Fol.d_pred Formula.item -> unit
  val fpp_header : Format.formatter -> 'Formula.declaration -> unit
  val fpp_decl :
    (Format.formatter -> unit Fol.d_pred -> unit) ->
    (Format.formatter -> Formula.tau -> unit) ->
    (Format.formatter -> unit Fol.d_term -> unit) ->
    Format.formatter -> unit Fol.d_pred Formula.declaration -> unit
  val fpp_goal :
    (Format.formatter -> '-> unit) ->
    Format.formatter -> string -> '-> unit
  type pred = unit Fol.d_pred
  val export_tau : Format.formatter -> Formula.tau -> unit
  val export_data : '-> '-> unit
  val export_term : Format.formatter -> 'Fol.d_term -> unit
  val pp_pred_atom : 'Fol.d_pred pp
  val export_pred : Format.formatter -> 'Fol.d_pred -> unit
  val export_item :
    (Format.formatter -> unit Fol.d_term -> unit) ->
    Format.formatter -> string -> unit Fol.d_pred Formula.item -> unit
  val export_decl :
    Format.formatter -> unit Fol.d_pred Formula.declaration -> unit
  val export_goal : Format.formatter -> string -> unit Fol.d_pred -> unit
end