package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type !'a obligation_body =
  1. | DefinedObl of 'a
  2. | TermObl of Constr.constr
type obligation = {
  1. obl_name : Names.Id.t;
  2. obl_type : Constr.types;
  3. obl_location : Evar_kinds.t Loc.located;
  4. obl_body : Constr.pconstant obligation_body option;
  5. obl_status : bool * Evar_kinds.obligation_definition_status;
  6. obl_deps : Int.Set.t;
  7. obl_tac : unit Proofview.tactic option;
}
type obligations = obligation array * int
type fixpoint_kind =
  1. | IsFixpoint of Names.lident option list
  2. | IsCoFixpoint
type program_info = {
  1. prg_name : Names.Id.t;
  2. prg_body : Constr.constr;
  3. prg_type : Constr.constr;
  4. prg_ctx : UState.t;
  5. prg_univdecl : UState.universe_decl;
  6. prg_obligations : obligations;
  7. prg_deps : Names.Id.t list;
  8. prg_fixkind : fixpoint_kind option;
  9. prg_implicits : Impargs.manual_implicits;
  10. prg_notations : Vernacexpr.decl_notation list;
  11. prg_poly : bool;
  12. prg_scope : DeclareDef.locality;
  13. prg_kind : Decls.definition_object_kind;
  14. prg_reduce : Constr.constr -> Constr.constr;
  15. prg_hook : DeclareDef.Hook.t option;
  16. prg_opaque : bool;
}
val declare_obligation : program_info -> obligation -> Constr.types -> Constr.types option -> Entries.universes_entry -> bool * obligation
module ProgMap : sig ... end
val declare_definition : program_info -> Names.GlobRef.t
type progress =
  1. | Remain of int
  2. | Dependent
  3. | Defined of Names.GlobRef.t
type obligation_qed_info = {
  1. name : Names.Id.t;
  2. num : int;
  3. auto : Names.Id.t option -> Int.Set.t -> unit Proofview.tactic option -> progress;
}
val obligation_terminator : Evd.side_effects Declare.proof_entry list -> UState.t -> obligation_qed_info -> unit
val update_obls : program_info -> obligation array -> int -> progress
val get_prg_info_map : unit -> program_info CEphemeron.key ProgMap.t
val obl_substitution : bool -> obligation array -> Int.Set.t -> (ProgMap.key * (Constr.types * Constr.types)) list
val dependencies : obligation array -> int -> Int.Set.t
val err_not_transp : unit -> unit
val progmap_add : ProgMap.key -> program_info CEphemeron.key -> unit
val stm_get_fix_exn : (unit -> Exninfo.iexn -> Exninfo.iexn) Hook.t
OCaml

Innovation. Community. Security.