Module Evar_kinds
type obligation_definition_status
=
|
Define of bool
|
Expand
type matching_var_kind
=
|
FirstOrderPatVar of Names.Id.t
|
SecondOrderPatVar of Names.Id.t
type subevar_kind
=
|
Domain
|
Codomain
|
Body
type record_field
=
{
fieldname : Names.Constant.t;
recordname : Names.inductive;
}
type question_mark
=
{
qm_obligation : obligation_definition_status;
qm_name : Names.Name.t;
qm_record_field : record_field option;
}
val default_question_mark : question_mark
type t
=
|
ImplicitArg of Names.GlobRef.t * int * Names.Id.t option * bool
Force inference
|
BinderType of Names.Name.t
|
EvarType of Names.Id.t option * Evar.t
|
NamedHole of Names.Id.t
|
QuestionMark of question_mark
|
CasesType of bool
|
InternalHole
|
TomatchTypeParameter of Names.inductive * int
|
GoalEvar
|
ImpossibleCase
|
MatchingVar of matching_var_kind
|
VarInstance of Names.Id.t
|
SubEvar of subevar_kind option * Evar.t