Funind_plugin.Indfun_common
val mk_rel_id : Names.Id.t -> Names.Id.t
val mk_correct_id : Names.Id.t -> Names.Id.t
val mk_complete_id : Names.Id.t -> Names.Id.t
val mk_equation_id : Names.Id.t -> Names.Id.t
val fresh_id : Names.Id.t list -> string -> Names.Id.t
val fresh_name : Names.Id.t list -> string -> Names.Name.t
val get_name : Names.Id.t list -> ?default:string -> Names.Name.t -> Names.Name.t
val locate_ind : Libnames.qualid -> Names.inductive
val locate_constant : Libnames.qualid -> Names.Constant.t
val locate_with_msg : Pp.t -> (Libnames.qualid -> 'a) -> Libnames.qualid -> 'a
val chop_rlambda_n : int -> Glob_term.glob_constr -> (Names.Name.t * Glob_term.glob_constr * Glob_term.glob_constr option) list * Glob_term.glob_constr
val chop_rprod_n : int -> Glob_term.glob_constr -> (Names.Name.t * Glob_term.glob_constr) list * Glob_term.glob_constr
val eq : EConstr.constr Stdlib.Lazy.t
val refl_equal : EConstr.constr Stdlib.Lazy.t
val jmeq : unit -> EConstr.constr
val jmeq_refl : unit -> EConstr.constr
val make_eq : unit -> EConstr.constr
type function_info = {
function_constant : Names.Constant.t; |
graph_ind : Names.inductive; |
equation_lemma : Names.Constant.t option; |
correctness_lemma : Names.Constant.t option; |
completeness_lemma : Names.Constant.t option; |
rect_lemma : Names.Constant.t option; |
rec_lemma : Names.Constant.t option; |
prop_lemma : Names.Constant.t option; |
sprop_lemma : Names.Constant.t option; |
is_general : bool; |
}
val find_Function_infos : Names.Constant.t -> function_info option
val find_Function_of_graph : Names.inductive -> function_info option
val add_Function : bool -> Names.Constant.t -> unit
val update_Function : function_info -> unit
val pr_info : Environ.env -> Evd.evar_map -> function_info -> Pp.t
debugging
val pr_table : Environ.env -> Evd.evar_map -> Pp.t
val observe_tac : header:Pp.t -> (Environ.env -> Evd.evar_map -> Pp.t) -> unit Proofview.tactic -> unit Proofview.tactic
val observe : Pp.t -> unit
val h_intros : Names.Id.t list -> unit Proofview.tactic
val h_id : Names.Id.t
val hrec_id : Names.Id.t
val acc_inv_id : EConstr.constr Util.delayed
val ltof_ref : Names.GlobRef.t Util.delayed
val well_founded_ltof : EConstr.constr Util.delayed
val acc_rel : EConstr.constr Util.delayed
val well_founded : EConstr.constr Util.delayed
val evaluable_of_global_reference : Names.GlobRef.t -> Tacred.evaluable_global_reference
val list_rewrite : bool -> (EConstr.constr * bool) list -> unit Proofview.tactic
val decompose_lam_n : Evd.evar_map -> int -> EConstr.t -> (Names.Name.t Context.binder_annot * EConstr.t) list * EConstr.t
val compose_lam : (Names.Name.t Context.binder_annot * EConstr.t) list -> EConstr.t -> EConstr.t
val compose_prod : (Names.Name.t Context.binder_annot * EConstr.t) list -> EConstr.t -> EConstr.t