package coq-core
- Overview
- No Docs
You can search for identifiers within the package.
in-package search v0.2.0
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha512=9a35311acec2a806730b94ac7dceabc88837f235c52a14c026827d9b89433bd7fa9555a9fc6829aa49edfedb24c8bbaf1411ebf463b74a50aeb17cba47745b6b
doc/coq-core.vernac/Declare/Proof/index.html
Module Declare.ProofSource
Declare.Proof.t Construction of constants using interactive proofs.
start_proof ~info ~cinfo sigma starts a proof of cinfo. The proof is started in the evar map sigma (which can typically contain universe constraints)
start_{derive,equations} are functions meant to handle interactive proofs with multiple goals, they should be considered experimental until we provide a more general API encompassing both of them. Please, get in touch with the developers if you would like to experiment with multi-goal dependent proofs so we can use your input on the design of the new API.
val start_equations :
name:Names.Id.t ->
info:Info.t ->
hook:(pm:OblState.t -> Names.Constant.t list -> Evd.evar_map -> OblState.t) ->
types:
(Environ.env * Evar.t * Evd.evar_info * EConstr.named_context * Evd.econstr)
list ->
Evd.evar_map ->
Proofview.telescope ->
tPretty much internal, used by the Lemma vernaculars
val start_mutual_with_initialization :
info:Info.t ->
cinfo:Constr.t CInfo.t list ->
mutual_info:mutual_info ->
Evd.evar_map ->
int list option ->
tPretty much internal, used by mutual Lemma / Fixpoint vernaculars
val save :
pm:OblState.t ->
proof:t ->
opaque:Vernacexpr.opacity_flag ->
idopt:Names.lident option ->
OblState.t * Names.GlobRef.t listQed a proof
val save_regular :
proof:t ->
opaque:Vernacexpr.opacity_flag ->
idopt:Names.lident option ->
Names.GlobRef.t listFor proofs known to have Regular ending, no need to touch program state.
Admit a proof
by tac applies tactic tac to the 1st subgoal of the current focused proof. Returns false if an unsafe tactic has been used.
Sets the tactic to be used when a tactic line is closed with ...
Sets the section variables assumed by the proof, returns its closure * (w.r.t. type dependencies and let-ins covered by it)
Gets the set of variables declared to be used by the proof. None means no "Proof using" or #using was given
Compacts the representation of the proof by pruning all intermediate terms
Update the proof's universe information typically after a side-effecting command (e.g. a sublemma definition) has been run inside it.
Helpers to obtain proof state when in an interactive proof
get_goal_context n returns the context of the nth subgoal of the current focused proof or raises a UserError if there is no focused proof or if there is no more subgoals
get_current_goal_context () works as get_goal_context 1
get_current_context () returns the context of the current focused goal. If there is no focused goal but there is a proof in progress, it returns the corresponding evar_map. If there is no pending proof then it returns the current global environment and empty evar_map.
Proof delay API, warning, internal, not stable
Requires a complete proof.
An incomplete proof is allowed (no error), and a warn is given if the proof is complete.
XXX: This is an internal, low-level API and could become scheduled for removal from the public API, use higher-level declare APIs instead
val close_proof :
opaque:Vernacexpr.opacity_flag ->
keep_body_ucst_separate:bool ->
t ->
proof_objectval close_future_proof :
feedback_id:Stateid.t ->
t ->
closed_proof_output Future.computation ->
proof_objectSpecial cases for delayed proofs, in this case we must provide the proof information so the proof won't be forced.
val save_lemma_proved_delayed :
pm:OblState.t ->
proof:proof_object ->
idopt:Names.lident option ->
OblState.t * Names.GlobRef.t listUsed by the STM only to store info, should go away