ClenvSourceThis file defines clausenv, which is a deprecated way to handle open terms in the proof engine. This API is legacy.
val clenv_refresh :
Environ.env ->
Evd.evar_map ->
UnivGen.sort_context_set option ->
clausenv ->
clausenvsubject of clenv (instantiated)
type of clenv (instantiated)
val mk_clenv_from :
Environ.env ->
Evd.evar_map ->
(EConstr.constr * EConstr.types) ->
clausenvval mk_clenv_from_n :
Environ.env ->
Evd.evar_map ->
int ->
(EConstr.constr * EConstr.types) ->
clausenvval clenv_instantiate :
?flags:Unification.unify_flags ->
?submetas:(Constr.metavariable list * Unification.Meta.t) ->
Constr.metavariable ->
clausenv ->
(EConstr.constr * EConstr.types) ->
clausenvbindings where the key is the position in the template of the clenv (dependent or not). Positions can be negative meaning to start from the rightmost argument of the template.
start with a clenv to refine with a given term with bindings
val make_clenv_binding_apply :
Environ.env ->
Evd.evar_map ->
int option ->
(EConstr.constr * EConstr.constr) ->
EConstr.constr Tactypes.bindings ->
clausenvthe arity of the lemma is fixed the optional int tells how many prods of the lemma have to be used use all of them if None
val make_clenv_binding :
Environ.env ->
Evd.evar_map ->
(EConstr.constr * EConstr.constr) ->
EConstr.constr Tactypes.bindings ->
clausenvif the clause is a product, add an extra meta for this product
val unify :
?flags:Unification.unify_flags ->
cv_pb:Conversion.conv_pb ->
EConstr.constr ->
unit Proofview.tacticval res_pf :
?with_evars:bool ->
?with_classes:bool ->
?flags:Unification.unify_flags ->
clausenv ->
unit Proofview.tacticval case_pf :
?with_evars:bool ->
dep:bool ->
(EConstr.constr * EConstr.types) ->
unit Proofview.tactic