Module Tacmach
val pf_apply : (Environ.env -> Evd.evar_map -> 'a) -> Proofview.Goal.t -> 'a
val project : Proofview.Goal.t -> Evd.evar_map
val pf_env : Proofview.Goal.t -> Environ.env
val pf_concl : Proofview.Goal.t -> EConstr.types
val pf_get_type_of : Proofview.Goal.t -> EConstr.constr -> EConstr.types
This function does no type inference and expects an already well-typed term. It recomputes its type in the fastest way possible (no conversion is ever involved)
val pf_type_of : Proofview.Goal.t -> EConstr.constr -> Evd.evar_map * EConstr.types
This function entirely type-checks the term and computes its type and the implied universe constraints.
val pf_conv_x : Proofview.Goal.t -> EConstr.t -> EConstr.t -> bool
val pf_get_new_id : Names.Id.t -> Proofview.Goal.t -> Names.Id.t
val pf_ids_of_hyps : Proofview.Goal.t -> Names.Id.t list
val pf_ids_set_of_hyps : Proofview.Goal.t -> Names.Id.Set.t
val pf_hyps_types : Proofview.Goal.t -> (Names.Id.t * EConstr.types) list
val pf_get_hyp : Names.Id.t -> Proofview.Goal.t -> EConstr.named_declaration
val pf_get_hyp_typ : Names.Id.t -> Proofview.Goal.t -> EConstr.types
val pf_last_hyp : Proofview.Goal.t -> EConstr.named_declaration
val pf_nf_concl : Proofview.Goal.t -> EConstr.types
val pf_hnf_constr : Proofview.Goal.t -> EConstr.constr -> EConstr.types
val pf_hnf_type_of : Proofview.Goal.t -> EConstr.constr -> EConstr.types
val pf_compute : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pf_whd_compute : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pf_nf_evar : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pr_gls : Proofview.Goal.t -> Pp.t