package coq
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=3cbfc1e1a72b16d4744f5b64ede59586071e31d9c11c811a0372060727bfd9c3
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