package rocq-runtime
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
sha256=b236dc44f92e1eeca6877c7ee188a90c2303497fe7beb99df711ed5a7ce0d824
    
    
  doc/rocq-runtime.vernac/Declare/Obls/index.html
Module Declare.OblsSource
Check obligations are properly solved before closing the what_for section / module
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_infoPrepare 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 * progressStart 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.tStart a Program Fixpoint declaration, similar to the above, except it takes a list now.
val obligation : 
  (int * Names.Id.t option) ->
  pm:OblState.t ->
  Gentactic.glob_generic_tactic option ->
  Proof.tImplementation of the Obligation n of id with tac command
val next_obligation : 
  pm:OblState.t ->
  ?final:bool ->
  Names.Id.t option ->
  Gentactic.glob_generic_tactic option ->
  Proof.tImplementation 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 * progressImplementation 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.tImplementation of the Solve All Obligations with tac command
Implementation of the Obligations of id command
Implementation of the Preterm of id command
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