Funind_plugin.Indfun_commonval mk_rel_id : Names.Id.t -> Names.Id.tval mk_correct_id : Names.Id.t -> Names.Id.tval mk_complete_id : Names.Id.t -> Names.Id.tval mk_equation_id : Names.Id.t -> Names.Id.tval fresh_id : Names.Id.t list -> string -> Names.Id.tval fresh_name : Names.Id.t list -> string -> Names.Name.tval get_name : 
  Names.Id.t list ->
  ?default:string ->
  Names.Name.t ->
  Names.Name.tval locate_ind : Libnames.qualid -> Names.inductiveval locate_constant : Libnames.qualid -> Names.Constant.tval locate_with_msg : 
  Pp.t ->
  ( Libnames.qualid -> 'a ) ->
  Libnames.qualid ->
  'aval chop_rlambda_n : 
  int ->
  Glob_term.glob_constr ->
  (Names.Name.t * Glob_term.glob_constr * Glob_term.glob_constr option) list
  * Glob_term.glob_constrval chop_rprod_n : 
  int ->
  Glob_term.glob_constr ->
  (Names.Name.t * Glob_term.glob_constr) list * Glob_term.glob_constrval eq : EConstr.constr Stdlib.Lazy.tval refl_equal : EConstr.constr Stdlib.Lazy.tval jmeq : unit -> EConstr.constrval jmeq_refl : unit -> EConstr.constrval make_eq : unit -> EConstr.constrtype 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 optionval find_Function_of_graph : Names.inductive -> function_info optionval add_Function : bool -> Names.Constant.t -> unitval update_Function : function_info -> unitval pr_info : Environ.env -> Evd.evar_map -> function_info -> Pp.tdebugging
val pr_table : Environ.env -> Evd.evar_map -> Pp.tval observe_tac : 
  header:Pp.t ->
  ( Environ.env -> Evd.evar_map -> Pp.t ) ->
  unit Proofview.tactic ->
  unit Proofview.tacticval observe : Pp.t -> unitval h_intros : Names.Id.t list -> unit Proofview.tacticval h_id : Names.Id.tval hrec_id : Names.Id.tval acc_inv_id : EConstr.constr Util.delayedval ltof_ref : Names.GlobRef.t Util.delayedval well_founded_ltof : EConstr.constr Util.delayedval acc_rel : EConstr.constr Util.delayedval well_founded : EConstr.constr Util.delayedval evaluable_of_global_reference : 
  Names.GlobRef.t ->
  Tacred.evaluable_global_referenceval list_rewrite : 
  bool ->
  (EConstr.constr * bool) list ->
  unit Proofview.tacticval decompose_lambda_n : 
  Evd.evar_map ->
  int ->
  EConstr.t ->
  (Names.Name.t Context.binder_annot * EConstr.t) list * EConstr.tval compose_lam : 
  (Names.Name.t Context.binder_annot * EConstr.t) list ->
  EConstr.t ->
  EConstr.tval compose_prod : 
  (Names.Name.t Context.binder_annot * EConstr.t) list ->
  EConstr.t ->
  EConstr.t