package coq
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=583471c8ed4f227cb374ee8a13a769c46579313d407db67a82d202ee48300e4b
doc/coq-core.proofs/Proof/index.html
Module Proof
Source
type data = {
sigma : Evd.evar_map;
(*A representation of the evar_map
*)EJGA wouldn't it better to just return the proofview?
goals : Evar.t list;
(*Focused goals
*)entry : Proofview.entry;
(*Entry for the proofview
*)stack : (Evar.t list * Evar.t list) list;
(*A representation of the focus stack
*)name : Names.Id.t;
(*The name of the theorem whose proof is being constructed
*)poly : bool;
(*polymorphism
*)
}
val start :
name:Names.Id.t ->
poly:bool ->
?typing_flags:Declarations.typing_flags ->
Evd.evar_map ->
(Environ.env * EConstr.types) list ->
t
val dependent_start :
name:Names.Id.t ->
poly:bool ->
?typing_flags:Declarations.typing_flags ->
Proofview.telescope ->
t
update_sigma_univs
lifts UState.update_sigma_univs
to the proof
val run_tactic :
Environ.env ->
'a Proofview.tactic ->
t ->
t * (bool * Proofview_monad.Info.tree) * 'a
solve (SelectNth n) tac
applies tactic tac
to the n
th subgoal of the current focused proof. solve SelectAll tac
applies tac
to all subgoals.
val solve :
?with_end_tac:unit Proofview.tactic ->
Goal_select.t ->
int option ->
unit Proofview.tactic ->
t ->
t * bool
Option telling if unification heuristics should be used.
val refine_by_tactic :
name:Names.Id.t ->
poly:bool ->
Environ.env ->
Evd.evar_map ->
EConstr.types ->
unit Proofview.tactic ->
Constr.constr * Evd.evar_map
A variant of the above function that handles open terms as well. Caveat: all effects are purged in the returned term at the end, but other evars solved by side-effects are NOT purged, so that unexpected failures may occur. Ideally all code using this function should be rewritten in the monad.
Helpers to obtain proof state when in an interactive proof
get_proof_context ()
gets the goal context for the first subgoal of the proof