Declare.Obls
val check_solved_obligations : pm:OblState.t -> what_for:Pp.t -> unit
Check obligations are properly solved before closing the what_for
section / module
val default_tactic : unit Proofview.tactic Stdlib.ref
type progress =
| Remain of int | (* n obligations remaining *) |
| Dependent | (* Dependent on other definitions *) |
| Defined of Names.GlobRef.t | (* Defined as id *) |
Resolution status of a program
val prepare_obligations : name:Names.Id.t -> ?types:EConstr.t -> body:EConstr.t -> Environ.env -> Evd.evar_map -> Constr.constr * Constr.types * UState.t * RetrieveObl.obligation_name_lifter * RetrieveObl.obligation_info
Prepare API, to be removed once we provide the corresponding 1-step API
val add_definition : pm:OblState.t -> info:Info.t -> cinfo:Constr.types CInfo.t -> opaque:bool -> uctx:UState.t -> ?body:Constr.t ->
?tactic:unit Proofview.tactic -> ?reduce:(Constr.t -> Constr.t) -> ?using:Vernacexpr.section_subset_expr -> ?obl_hook:OblState.t Hook.g -> RetrieveObl.obligation_info -> OblState.t * progress
Start a Program Definition c
proof. uctx
udecl
impargs
kind
scope
poly
etc... come from the interpretation of the vernacular; `obligation_info` was generated by RetrieveObl
It will return whether all the obligations were solved; if so, it will also register c
with the kernel.
val add_mutual_definitions : pm:OblState.t -> info:Info.t -> cinfo:Constr.types CInfo.t list -> opaque:bool -> uctx:UState.t ->
bodies:Constr.t list -> possible_guard:(Pretyping.possible_guard * Sorts.relevance list) -> ?tactic:unit Proofview.tactic -> ?reduce:(Constr.t -> Constr.t) -> ?using:Vernacexpr.section_subset_expr
-> ?obl_hook:OblState.t Hook.g -> RetrieveObl.obligation_info list -> OblState.t
Start a Program Fixpoint
declaration, similar to the above, except it takes a list now.
val obligation : (int * Names.Id.t option) -> pm:OblState.t -> Genarg.glob_generic_argument option -> Proof.t
Implementation of the Obligation n of id with tac
command
val next_obligation : pm:OblState.t -> ?final:bool -> Names.Id.t option -> Genarg.glob_generic_argument option -> Proof.t
Implementation of the Next Obligation of id with tac
and Final Obligation of id with tac
commands
val solve_obligations : pm:OblState.t -> Names.Id.t option -> unit Proofview.tactic option -> OblState.t * progress
Implementation of the Solve Obligations of id with tac
command
val try_solve_obligations : pm:OblState.t -> Names.Id.t option -> unit Proofview.tactic option -> OblState.t
val solve_all_obligations : pm:OblState.t -> unit Proofview.tactic option -> OblState.t
Implementation of the Solve All Obligations with tac
command
val show_obligations : pm:OblState.t -> ?msg:bool -> Names.Id.t option -> unit
Implementation of the Obligations of id
command
val show_term : pm:OblState.t -> Names.Id.t option -> Pp.t
Implementation of the Preterm of id
command
val admit_obligations : pm:OblState.t -> Names.Id.t option -> OblState.t
Implementation of the Admit Obligations of id
command
val program_inference_hook : Environ.env -> Evd.evar_map -> Evar.t -> (Evd.evar_map * EConstr.t) option