RetrieveObl
val check_evars : Environ.env -> Evd.evar_map -> unit
type obligation_info =
(Names.Id.t
* Constr.types
* Evar_kinds.t Loc.located
* (bool * Evar_kinds.obligation_definition_status)
* Int.Set.t
* unit Proofview.tactic option)
array
ident, type, location of the original evar, (opaque or transparent, expand or define), dependencies as indexes into the array, tactic to solve it
val retrieve_obligations :
Environ.env ->
Names.Id.t ->
Evd.evar_map ->
int ->
?deps:Evar.Set.t ->
?status:Evar_kinds.obligation_definition_status ->
EConstr.t ->
EConstr.types ->
obligation_info
* ((Evar.t * Names.Id.t) list
* ( ( Names.Id.t -> EConstr.t ) ->
EConstr.t ->
Constr.t ))
* Constr.t
* Constr.t
retrieve_obligations env id sigma fs ?status body type
returns obls, (evnames, evmap), nbody, ntype
a list of obligations built from evars in body, type
.
fs
is the number of function prototypes to try to clear from evars contexts. evnames, evmap
is the list of names / substitution functions used to program with holes. This is not used in Coq, but in the equations plugin; evnames
is actually redundant with the information contained in obls