Module Fol_coq


module Fol_coq: sig .. end

val get_ufield : Cil_types.fieldinfo -> string
val set_ufield : Cil_types.fieldinfo -> string
val constant : Format.formatter -> Fol.constant -> unit
val pp_list : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
val pp_typelist : (Format.formatter -> 'a -> unit) -> Format.formatter -> 'a list -> unit
val pp_flow : Format.formatter ->
string -> string -> (Format.formatter -> 'a -> unit) -> 'a list -> unit
val pp_block : Format.formatter ->
string -> string -> (Format.formatter -> 'a -> unit) -> 'a list -> unit
val pp_var : Format.formatter -> Fol.Var.t -> unit
val collect_assoc : string -> Fol.term list -> Fol.term list -> Fol.term list
val field : Cil_types.fieldinfo -> string
val ufield : Cil_types.fieldinfo -> string
val fpp_term : (Format.formatter -> Fol.term -> unit) ->
Format.formatter -> Fol.term -> unit
val collect_or : Fol.pred list -> Fol.pred -> Fol.pred list
val collect_and : Fol.pred list -> Fol.pred -> Fol.pred list
val collect_imply : Fol.pred list -> Fol.pred -> Fol.pred list
val collect_iff : Fol.pred list -> Fol.pred -> Fol.pred list
type 'a pp = Format.formatter -> 'a -> unit 

type pp_env = {
   pp_type : Formula.tau pp;
   pp_term : Fol.term pp;
   pp_pred : Fol.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.term -> unit) ->
Format.formatter -> Fol_cc.f_let -> unit
val fpp_lf_let : (Format.formatter -> Formula.tau -> unit) ->
(Format.formatter -> Fol.term -> unit) ->
Format.formatter -> Fol_cc.f_let list -> unit
val epp_pred_vbox : pp_env -> Format.formatter -> Fol.pred -> unit
val epp_pred_atom : pp_env -> Format.formatter -> Fol.pred -> unit
val fpp_pred : (Format.formatter -> Fol.pred -> unit) ->
(Format.formatter -> Fol.term -> unit) ->
(Format.formatter -> Formula.tau -> unit) ->
Format.formatter -> Fol.pred -> unit
val fpp_fields : (Format.formatter -> 'a -> unit) ->
(Cil_types.typ -> 'a) -> Format.formatter -> Cil_types.fieldinfo list -> unit
val pp_param : (Format.formatter -> Formula.tau -> unit) ->
Format.formatter -> Fol.Var.t -> unit
val fpp_item : (Format.formatter -> Fol.pred -> unit) ->
(Format.formatter -> Formula.tau -> unit) ->
(Cil_types.typ -> Formula.tau) ->
(Format.formatter -> Fol.term -> unit) ->
Format.formatter ->
string -> (Fol.Var.t, Fol.term, Fol.pred) Formula.item -> unit
val fpp_header : Format.formatter -> ('a, 'b, 'c) Formula.declaration -> unit
val fpp_decl : (Format.formatter -> Fol.pred -> unit) ->
(Format.formatter -> Formula.tau -> unit) ->
(Cil_types.typ -> Formula.tau) ->
(Format.formatter -> Fol.term -> unit) ->
Format.formatter ->
(Fol.Var.t, Fol.term, Fol.pred) Formula.declaration -> unit
val fpp_goal : (Format.formatter -> 'a -> unit) -> Format.formatter -> string -> 'a -> unit
module ECoq: 
functor (L : sig
val tau_of_ctype_logic : Cil_types.typ -> Formula.tau
end) -> sig .. end