package coq
Formal proof management system
Install
Dune Dependency
Authors
Maintainers
Sources
coq-8.14.0.tar.gz
sha256=b1501d686c21836302191ae30f610cca57fb309214c126518ca009363ad2cd3c
doc/ltac_plugin/Ltac_plugin/Tacexpr/index.html
Module Ltac_plugin.Tacexpr
Source
Source
type ('c, 'd, 'id) inversion_strength =
| NonDepInversion of Inv.inversion_kind * 'id list * 'd Tactypes.or_and_intro_pattern_expr CAst.t Locus.or_var option
| DepInversion of Inv.inversion_kind * 'c option * 'd Tactypes.or_and_intro_pattern_expr CAst.t Locus.or_var option
| InversionUsing of 'c * 'id list
Source
type ('dconstr, 'id) induction_clause =
'dconstr Tactypes.with_bindings Tactics.destruction_arg
* (Namegen.intro_pattern_naming_expr CAst.t option
* 'dconstr Tactypes.or_and_intro_pattern_expr CAst.t Locus.or_var option)
* 'id Locus.clause_expr option
Source
type ('constr, 'dconstr, 'id) induction_clause_list =
('dconstr, 'id) induction_clause list * 'constr Tactypes.with_bindings option
Source
type 'a match_context_hyps =
| Hyp of Names.lname * 'a match_pattern
| Def of Names.lname * 'a match_pattern * 'a match_pattern
Source
type ('a, 't) match_rule =
| Pat of 'a match_context_hyps list * 'a match_pattern * 't
| All of 't
Source
type ml_tactic_name = {
mltac_plugin : string;
(*Name of the plugin where the tactic is defined, typically coming from a DECLARE PLUGIN statement in the source.
*)mltac_tactic : string;
(*Name of the tactic entry where the tactic is defined, typically found after the TACTIC EXTEND statement in the source.
*)
}
Extension indentifiers for the TACTIC EXTEND mechanism.
Composite types
Source
type or_and_intro_pattern =
Tactypes.delayed_open_constr Tactypes.or_and_intro_pattern_expr CAst.t
Generic expressions for atomic tactics
Source
type 'a gen_atomic_tactic_expr =
| TacIntroPattern of evars_flag * 'dtrm Tactypes.intro_pattern_expr CAst.t list
| TacApply of advanced_flag * evars_flag * 'trm with_bindings_arg list * ('nam * 'dtrm Tactypes.intro_pattern_expr CAst.t option) list
| TacElim of evars_flag * 'trm with_bindings_arg * 'trm Tactypes.with_bindings option
| TacCase of evars_flag * 'trm with_bindings_arg
| TacMutualFix of Names.Id.t * int * (Names.Id.t * int * 'trm) list
| TacMutualCofix of Names.Id.t * (Names.Id.t * 'trm) list
| TacAssert of evars_flag * bool * 'tacexpr option option * 'dtrm Tactypes.intro_pattern_expr CAst.t option * 'trm
| TacGeneralize of ('trm Locus.with_occurrences * Names.Name.t) list
| TacLetTac of evars_flag * Names.Name.t * 'trm * 'nam Locus.clause_expr * letin_flag * Namegen.intro_pattern_naming_expr CAst.t option
| TacInductionDestruct of rec_flag * evars_flag * ('trm, 'dtrm, 'nam) induction_clause_list
| TacReduce of ('trm, 'cst, 'pat) Genredexpr.red_expr_gen * 'nam Locus.clause_expr
| TacChange of check_flag * 'pat option * 'dtrm * 'nam Locus.clause_expr
| TacRewrite of evars_flag * (bool * Equality.multi * 'dtrm with_bindings_arg) list * 'nam Locus.clause_expr * 'tacexpr option
| TacInversion of ('trm, 'dtrm, 'nam) inversion_strength * Tactypes.quantified_hypothesis
constraint
'a =
< term : 'trm
; dterm : 'dtrm
; pattern : 'pat
; constant : 'cst
; reference : 'ref
; name : 'nam
; tacexpr : 'tacexpr
; level : 'lev >
Possible arguments of a tactic definition
Source
type 'a gen_tactic_arg =
| TacGeneric of string option * 'lev Genarg.generic_argument
| ConstrMayEval of ('trm, 'cst, 'pat) Genredexpr.may_eval
| Reference of 'ref
| TacCall of ('ref * 'a gen_tactic_arg list) CAst.t
| TacFreshId of string Locus.or_var list
| Tacexp of 'tacexpr
| TacPretype of 'trm
| TacNumgoals
constraint
'a =
< term : 'trm
; dterm : 'dtrm
; pattern : 'pat
; constant : 'cst
; reference : 'ref
; name : 'nam
; tacexpr : 'tacexpr
; level : 'lev >
Generic ltac expressions. 't : terms, 'p : patterns, 'c : constants, 'i : inductive, 'r : ltac refs, 'n : idents, 'l : levels
Source
and 'a gen_tactic_expr_r =
| TacAtom of 'a gen_atomic_tactic_expr
| TacThen of 'a gen_tactic_expr * 'a gen_tactic_expr
| TacDispatch of 'a gen_tactic_expr list
| TacExtendTac of 'a gen_tactic_expr array * 'a gen_tactic_expr * 'a gen_tactic_expr array
| TacThens of 'a gen_tactic_expr * 'a gen_tactic_expr list
| TacThens3parts of 'a gen_tactic_expr * 'a gen_tactic_expr array * 'a gen_tactic_expr * 'a gen_tactic_expr array
| TacFirst of 'a gen_tactic_expr list
| TacComplete of 'a gen_tactic_expr
| TacSolve of 'a gen_tactic_expr list
| TacTry of 'a gen_tactic_expr
| TacOr of 'a gen_tactic_expr * 'a gen_tactic_expr
| TacOnce of 'a gen_tactic_expr
| TacExactlyOnce of 'a gen_tactic_expr
| TacIfThenCatch of 'a gen_tactic_expr * 'a gen_tactic_expr * 'a gen_tactic_expr
| TacOrelse of 'a gen_tactic_expr * 'a gen_tactic_expr
| TacDo of int Locus.or_var * 'a gen_tactic_expr
| TacTimeout of int Locus.or_var * 'a gen_tactic_expr
| TacTime of string option * 'a gen_tactic_expr
| TacRepeat of 'a gen_tactic_expr
| TacProgress of 'a gen_tactic_expr
| TacShowHyps of 'a gen_tactic_expr
| TacAbstract of 'a gen_tactic_expr * Names.Id.t option
| TacId of 'n message_token list
| TacFail of global_flag * int Locus.or_var * 'n message_token list
| TacLetIn of rec_flag * (Names.lname * 'a gen_tactic_arg) list * 'a gen_tactic_expr
| TacMatch of lazy_flag * 'a gen_tactic_expr * ('p, 'a gen_tactic_expr) match_rule list
| TacMatchGoal of lazy_flag * direction_flag * ('p, 'a gen_tactic_expr) match_rule list
| TacFun of 'a gen_tactic_fun_ast
| TacArg of 'a gen_tactic_arg
| TacSelect of Goal_select.t * 'a gen_tactic_expr
| TacML of ml_tactic_entry * 'a gen_tactic_arg list
| TacAlias of Names.KerName.t * 'a gen_tactic_arg list
constraint
'a =
< term : 't
; dterm : 'dtrm
; pattern : 'p
; constant : 'c
; reference : 'r
; name : 'n
; tacexpr : 'tacexpr
; level : 'l >
Source
and 'a gen_tactic_expr = 'a gen_tactic_expr_r CAst.t
constraint
'a =
< term : 't
; dterm : 'dtrm
; pattern : 'p
; constant : 'c
; reference : 'r
; name : 'n
; tacexpr : 'tacexpr
; level : 'l >
Source
and 'a gen_tactic_fun_ast = Names.Name.t list * 'a gen_tactic_expr
constraint
'a =
< term : 't
; dterm : 'dtrm
; pattern : 'p
; constant : 'c
; reference : 'r
; name : 'n
; tacexpr : 'te
; level : 'l >
Globalized tactics
Source
type g_dispatch =
< term : g_trm
; dterm : g_trm
; pattern : g_pat
; constant : g_cst
; reference : g_ref
; name : g_nam
; tacexpr : glob_tactic_expr
; level : Genarg.glevel >
Raw tactics
Source
type r_dispatch =
< term : Genredexpr.r_trm
; dterm : Genredexpr.r_trm
; pattern : Genredexpr.r_pat
; constant : Genredexpr.r_cst
; reference : r_ref
; name : r_nam
; tacexpr : raw_tactic_expr
; level : Genarg.rlevel >
Interpreted tactics
Misc
Source
type raw_red_expr =
(Genredexpr.r_trm, Genredexpr.r_cst, Genredexpr.r_pat)
Genredexpr.red_expr_gen
Traces
Source
type ltac_call_kind =
| LtacMLCall of glob_tactic_expr
| LtacNotationCall of Names.KerName.t
| LtacNameCall of ltac_constant
| LtacAtomCall of glob_atomic_tactic_expr
| LtacVarCall of Names.Id.t * glob_tactic_expr
| LtacConstrInterp of Glob_term.glob_constr * Ltac_pretype.ltac_var_map
Source
type tacdef_body =
| TacticDefinition of Names.lident * raw_tactic_expr
| TacticRedefinition of Libnames.qualid * raw_tactic_expr
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>