Module Tacmach.New
Variants of Tacmach
functions built with the new proof engine
val pf_apply : (Environ.env -> Evd.evar_map -> 'a) -> Proofview.Goal.t -> 'a
val pf_global : Names.Id.t -> Proofview.Goal.t -> Names.GlobRef.t
val of_old : (Goal.goal Evd.sigma -> 'a) -> Proofview.Goal.t -> 'a
FIXME: encapsulate the level in an existential type.
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_unsafe_type_of : Proofview.Goal.t -> EConstr.constr -> EConstr.types
WRONG: To be avoided at all costs, it typechecks the term entirely but forgets the universe constraints necessary to retypecheck it
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_reduce_to_quantified_ind : Proofview.Goal.t -> EConstr.types -> (Names.inductive * EConstr.EInstance.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_whd_all : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pf_compute : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pf_nf_evar : Proofview.Goal.t -> EConstr.constr -> EConstr.constr
val pf_undefined_evars : Proofview.Goal.t -> Evar.Set.t
Gathers the undefined evars of the given goal.