Module Vernacexpr
type class_rawexpr=|FunClass|SortClass|RefClass of Libnames.qualid Constrexpr.or_by_notationVernac expressions, produced by the parser
type goal_identifier= stringtype scope_name= stringtype goal_reference=|OpenSubgoals|NthGoal of int|GoalId of Names.Id.ttype printable=|PrintTypingFlags|PrintTables|PrintFullContext|PrintSectionContext of Libnames.qualid|PrintInspect of int|PrintGrammar of string|PrintCustomGrammar of string|PrintLoadPath of Names.DirPath.t option|PrintLibraries|PrintModule of Libnames.qualid|PrintModuleType of Libnames.qualid|PrintNamespace of Names.DirPath.t|PrintMLLoadPath|PrintMLModules|PrintDebugGC|PrintName of Libnames.qualid Constrexpr.or_by_notation * UnivNames.univ_name_list option|PrintGraph|PrintClasses|PrintTypeClasses|PrintInstances of Libnames.qualid Constrexpr.or_by_notation|PrintCoercions|PrintCoercionPaths of class_rawexpr * class_rawexpr|PrintCanonicalConversions of Libnames.qualid Constrexpr.or_by_notation list|PrintUniverses of bool * Libnames.qualid list option * string option|PrintHint of Libnames.qualid Constrexpr.or_by_notation|PrintHintGoal|PrintHintDbName of string|PrintHintDb|PrintScopes|PrintScope of string|PrintVisibility of string option|PrintAbout of Libnames.qualid Constrexpr.or_by_notation * UnivNames.univ_name_list option * Goal_select.t option|PrintImplicit of Libnames.qualid Constrexpr.or_by_notation|PrintAssumptions of bool * bool * Libnames.qualid Constrexpr.or_by_notation|PrintStrategy of Libnames.qualid Constrexpr.or_by_notation option|PrintRegistered|PrintNotation of Constrexpr.notation_entry * stringtype glob_search_where=|InHyp|InConcl|Anywheretype search_item=|SearchSubPattern of glob_search_where * bool * Constrexpr.constr_pattern_expr|SearchString of glob_search_where * bool * string * scope_name option|SearchKind of Decls.logical_kindtype search_request=|SearchLiteral of search_item|SearchDisjConj of (bool * search_request) list listtype searchable=|SearchPattern of Constrexpr.constr_pattern_expr|SearchRewrite of Constrexpr.constr_pattern_expr|Search of (bool * search_request) listtype locatable=|LocateAny of Libnames.qualid Constrexpr.or_by_notation|LocateTerm of Libnames.qualid Constrexpr.or_by_notation|LocateLibrary of Libnames.qualid|LocateModule of Libnames.qualid|LocateOther of string * Libnames.qualid|LocateFile of stringtype showable=|ShowGoal of goal_reference|ShowProof|ShowExistentials|ShowUniverses|ShowProofNames|ShowIntros of bool|ShowMatch of Libnames.qualidtype comment=|CommentConstr of Constrexpr.constr_expr|CommentString of string|CommentInt of inttype search_restriction=|SearchInside of Libnames.qualid list|SearchOutside of Libnames.qualid listtype verbose_flag= booltype coercion_flag= booltype instance_flag=|BackInstance|NoInstancetype export_flag= Lib.export_flag=|Export|Importtype import_categories={negative : bool;import_cats : string CAst.t list;}type export_with_cats= export_flag * import_categories optiontype infix_flag= booltype one_import_filter_name= Libnames.qualid * booltype import_filter_expr=|ImportAll|ImportNames of one_import_filter_name listtype locality_flag= booltype option_setting=|OptionUnset|OptionSetTrue|OptionSetInt of int|OptionSetString of string
type definition_expr=|ProveBody of Constrexpr.local_binder_expr list * Constrexpr.constr_expr|DefineBody of Constrexpr.local_binder_expr list * Genredexpr.raw_red_expr option * Constrexpr.constr_expr * Constrexpr.constr_expr optiontype notation_format=|TextFormat of Names.lstring|ExtraFormat of string * Names.lstringtype syntax_modifier=|SetItemLevel of string list * Notation_term.constr_as_binder_kind option * Extend.production_level|SetItemScope of string list * scope_name|SetLevel of int|SetCustomEntry of string * int option|SetAssoc of Gramlib.Gramext.g_assoc|SetEntryType of string * Extend.simple_constr_prod_entry_key|SetOnlyParsing|SetOnlyPrinting|SetFormat of notation_formattype decl_notation={decl_ntn_string : Names.lstring;decl_ntn_interp : Constrexpr.constr_expr;decl_ntn_scope : scope_name option;decl_ntn_modifiers : syntax_modifier CAst.t list;}type 'a fix_expr_gen={fname : Names.lident;univs : Constrexpr.universe_decl_expr option;rec_order : 'a;binders : Constrexpr.local_binder_expr list;rtype : Constrexpr.constr_expr;body_def : Constrexpr.constr_expr option;notations : decl_notation list;}type fixpoint_expr= Constrexpr.recursion_order_expr option fix_expr_gentype cofixpoint_expr= unit fix_expr_gentype local_decl_expr=|AssumExpr of Names.lname * Constrexpr.local_binder_expr list * Constrexpr.constr_expr|DefExpr of Names.lname * Constrexpr.local_binder_expr list * Constrexpr.constr_expr * Constrexpr.constr_expr optiontype inductive_kind=|Inductive_kw|CoInductive|Variant|Record|Structure|Class of booltype simple_binder= Names.lident list * Constrexpr.constr_exprtype class_binder= Names.lident * Constrexpr.constr_expr listtype 'a with_coercion= coercion_flag * 'atype record_field_attr={rf_subclass : instance_flag;rf_reverse : bool option;rf_priority : int option;rf_notation : decl_notation list;rf_canonical : bool;}type constructor_expr= (Names.lident * Constrexpr.constr_expr) with_coerciontype constructor_list_or_record_decl_expr=|Constructors of constructor_expr list|RecordDecl of Names.lident option * (local_decl_expr * record_field_attr) list * Names.lident optiontype inductive_params_expr= Constrexpr.local_binder_expr list * Constrexpr.local_binder_expr list optionIf the option is nonempty the "|" marker was used
type inductive_expr= Constrexpr.cumul_ident_decl with_coercion * inductive_params_expr * Constrexpr.constr_expr option * constructor_list_or_record_decl_exprtype one_inductive_expr= Names.lident * inductive_params_expr * Constrexpr.constr_expr option * constructor_expr listtype typeclass_constraint= Constrexpr.name_decl * Glob_term.binding_kind * Constrexpr.constr_exprand typeclass_context= typeclass_constraint listtype proof_expr= Constrexpr.ident_decl * (Constrexpr.local_binder_expr list * Constrexpr.constr_expr)type opacity_flag=|Opaque|Transparenttype proof_end=|Admitted|Proved of opacity_flag * Names.lident optiontype scheme_type=|SchemeInduction|SchemeMinimality|SchemeElimination|SchemeCasetype equality_scheme_type=|SchemeBooleanEquality|SchemeEqualitytype scheme={sch_type : scheme_type;sch_qualid : Libnames.qualid Constrexpr.or_by_notation;sch_sort : Sorts.family;}type section_subset_expr=|SsEmpty|SsType|SsSingl of Names.lident|SsCompl of section_subset_expr|SsUnion of section_subset_expr * section_subset_expr|SsSubstr of section_subset_expr * section_subset_expr|SsFwdClose of section_subset_expr
type register_kind=|RegisterInline|RegisterCoqlib of Libnames.qualid
Types concerning the module layer
type module_ast_inl= Constrexpr.module_ast * Declaremods.inlinetype module_binder= export_with_cats option * Names.lident list * module_ast_inl
The type of vernacular expressions
type vernac_one_argument_status={name : Names.Name.t;recarg_like : bool;notation_scope : string CAst.t option;implicit_status : Glob_term.binding_kind;}type vernac_argument_status=|VolatileArg|BidiArg|RealArg of vernac_one_argument_statustype arguments_modifier=[|`Assert|`ClearBidiHint|`ClearImplicits|`ClearScopes|`DefaultImplicits|`ExtraScopes|`ReductionDontExposeCase|`ReductionNeverUnfold|`Rename]type extend_name= string * inttype discharge=|DoDischarge|NoDischargetype hint_info_expr= Constrexpr.constr_pattern_expr Typeclasses.hint_info_gentype reference_or_constr=|HintsReference of Libnames.qualid|HintsConstr of Constrexpr.constr_exprtype hints_expr=|HintsResolve of (hint_info_expr * bool * reference_or_constr) list|HintsResolveIFF of bool * Libnames.qualid list * int option|HintsImmediate of reference_or_constr list|HintsUnfold of Libnames.qualid list|HintsTransparency of Libnames.qualid Hints.hints_transparency_target * bool|HintsMode of Libnames.qualid * Hints.hint_mode list|HintsConstructors of Libnames.qualid list|HintsExtern of int * Constrexpr.constr_expr option * Genarg.raw_generic_argumenttype nonrec vernac_expr=|VernacLoad of verbose_flag * string|VernacReservedNotation of infix_flag * Names.lstring * syntax_modifier CAst.t list|VernacOpenCloseScope of bool * scope_name|VernacDeclareScope of scope_name|VernacDelimiters of scope_name * string option|VernacBindScope of scope_name * class_rawexpr list|VernacNotation of infix_flag * Constrexpr.constr_expr * Names.lstring * syntax_modifier CAst.t list * scope_name option|VernacNotationAddFormat of string * string * string|VernacDeclareCustomEntry of string|VernacDefinition of discharge * Decls.definition_object_kind * Constrexpr.name_decl * definition_expr|VernacStartTheoremProof of Decls.theorem_kind * proof_expr list|VernacEndProof of proof_end|VernacExactProof of Constrexpr.constr_expr|VernacAssumption of discharge * Decls.assumption_object_kind * Declaremods.inline * (Constrexpr.ident_decl list * Constrexpr.constr_expr) with_coercion list|VernacInductive of inductive_kind * (inductive_expr * decl_notation list) list|VernacFixpoint of discharge * fixpoint_expr list|VernacCoFixpoint of discharge * cofixpoint_expr list|VernacScheme of (Names.lident option * scheme) list|VernacSchemeEquality of equality_scheme_type * Libnames.qualid Constrexpr.or_by_notation|VernacCombinedScheme of Names.lident * Names.lident list|VernacUniverse of Names.lident list|VernacConstraint of Constrexpr.univ_constraint_expr list|VernacBeginSection of Names.lident|VernacEndSegment of Names.lident|VernacExtraDependency of Libnames.qualid * string * Names.Id.t option|VernacRequire of Libnames.qualid option * export_with_cats option * (Libnames.qualid * import_filter_expr) list|VernacImport of export_with_cats * (Libnames.qualid * import_filter_expr) list|VernacCanonical of Libnames.qualid Constrexpr.or_by_notation|VernacCoercion of Libnames.qualid Constrexpr.or_by_notation * (class_rawexpr * class_rawexpr) option|VernacIdentityCoercion of Names.lident * class_rawexpr * class_rawexpr|VernacNameSectionHypSet of Names.lident * section_subset_expr|VernacInstance of Constrexpr.name_decl * Constrexpr.local_binder_expr list * Constrexpr.constr_expr * (bool * Constrexpr.constr_expr) option * hint_info_expr|VernacDeclareInstance of Constrexpr.ident_decl * Constrexpr.local_binder_expr list * Constrexpr.constr_expr * hint_info_expr|VernacContext of Constrexpr.local_binder_expr list|VernacExistingInstance of (Libnames.qualid * hint_info_expr) list|VernacExistingClass of Libnames.qualid|VernacDeclareModule of export_with_cats option * Names.lident * module_binder list * module_ast_inl|VernacDefineModule of export_with_cats option * Names.lident * module_binder list * module_ast_inl Declaremods.module_signature * module_ast_inl list|VernacDeclareModuleType of Names.lident * module_binder list * module_ast_inl list * module_ast_inl list|VernacInclude of module_ast_inl list|VernacAddLoadPath of{implicit : bool;physical_path : CUnix.physical_path;logical_path : Names.DirPath.t;}|VernacRemoveLoadPath of string|VernacAddMLPath of string|VernacDeclareMLModule of string list|VernacChdir of string option|VernacResetName of Names.lident|VernacResetInitial|VernacBack of int|VernacCreateHintDb of string * bool|VernacRemoveHints of string list * Libnames.qualid list|VernacHints of string list * hints_expr|VernacSyntacticDefinition of Names.lident * Names.Id.t list * Constrexpr.constr_expr * syntax_modifier CAst.t list|VernacArguments of Libnames.qualid Constrexpr.or_by_notation * vernac_argument_status list * (Names.Name.t * Glob_term.binding_kind) list list * arguments_modifier list|VernacReserve of simple_binder list|VernacGeneralizable of Names.lident list option|VernacSetOpacity of Conv_oracle.level * Libnames.qualid Constrexpr.or_by_notation list|VernacSetStrategy of (Conv_oracle.level * Libnames.qualid Constrexpr.or_by_notation list) list|VernacSetOption of bool * Goptions.option_name * option_setting|VernacAddOption of Goptions.option_name * Goptions.table_value list|VernacRemoveOption of Goptions.option_name * Goptions.table_value list|VernacMemOption of Goptions.option_name * Goptions.table_value list|VernacPrintOption of Goptions.option_name|VernacCheckMayEval of Genredexpr.raw_red_expr option * Goal_select.t option * Constrexpr.constr_expr|VernacGlobalCheck of Constrexpr.constr_expr|VernacDeclareReduction of string * Genredexpr.raw_red_expr|VernacPrint of printable|VernacSearch of searchable * Goal_select.t option * search_restriction|VernacLocate of locatable|VernacRegister of Libnames.qualid * register_kind|VernacPrimitive of Constrexpr.ident_decl * CPrimitives.op_or_type * Constrexpr.constr_expr option|VernacComments of comment list|VernacAbort|VernacAbortAll|VernacRestart|VernacUndo of int|VernacUndoTo of int|VernacFocus of int option|VernacUnfocus|VernacUnfocused|VernacBullet of Proof_bullet.t|VernacSubproof of Goal_select.t option|VernacEndSubproof|VernacShow of showable|VernacCheckGuard|VernacProof of Genarg.raw_generic_argument option * section_subset_expr option|VernacProofMode of string|VernacExtend of extend_name * Genarg.raw_generic_argument listtype control_flag=|ControlTime of bool|ControlRedirect of string|ControlTimeout of int|ControlFail|ControlSucceedtype vernac_control_r={control : control_flag list;attrs : Attributes.vernac_flags;expr : vernac_expr;}and vernac_control= vernac_control_r CAst.t