package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

The kinds of existential variable

Should the obligation be defined (opaque or transparent (default)) or defined transparent and expanded in the term?

type obligation_definition_status =
  1. | Define of bool
  2. | Expand
type matching_var_kind =
  1. | FirstOrderPatVar of Names.Id.t
  2. | SecondOrderPatVar of Names.Id.t
type subevar_kind =
  1. | Domain
  2. | Codomain
  3. | Body
type record_field = {
  1. fieldname : Names.Constant.t;
  2. recordname : Names.inductive;
}
type question_mark = {
  1. qm_obligation : obligation_definition_status;
  2. qm_name : Names.Name.t;
  3. qm_record_field : record_field option;
}
val default_question_mark : question_mark
type t =
  1. | ImplicitArg of Names.GlobRef.t * int * Names.Id.t option * bool
    (*

    Force inference

    *)
  2. | BinderType of Names.Name.t
  3. | EvarType of Names.Id.t option * Evar.t
  4. | NamedHole of Names.Id.t
  5. | QuestionMark of question_mark
  6. | CasesType of bool
  7. | InternalHole
  8. | TomatchTypeParameter of Names.inductive * int
  9. | GoalEvar
  10. | ImpossibleCase
  11. | MatchingVar of matching_var_kind
  12. | VarInstance of Names.Id.t
  13. | SubEvar of subevar_kind option * Evar.t