Ssreflect_plugin.Ssrasttype ssrhyps = ssrhyp listtype ssrmult = int * ssrmmodtype ssrindex = int Locus.or_vartype ssrclear = ssrhypstype ssrtermkind = Ssrmatching_plugin.Ssrmatching.ssrtermkindtype ssrterm = ssrtermkind * Genintern.glob_constr_and_exprtype ast_glob_env = {ast_ltacvars : Names.Id.Set.t; | 
ast_extra : Genintern.Store.t; | 
ast_intern_sign : Genintern.intern_variable_status; | 
}type ast_closure_term = {body : Constrexpr.constr_expr; | 
glob_env : ast_glob_env option; | 
interp_env : Geninterp.interp_sign option; | 
annotation : [ `None | `Parens | `DoubleParens | `At ]; | 
}type ssrview = ast_closure_term listtype ssripat = | IPatNoop | 
| IPatId of Names.Id.t | 
| IPatAnon of anon_kind | 
| IPatDispatch of ssripatss_or_block | 
| IPatCase of ssripatss_or_block | 
| IPatInj of ssripatss | 
| IPatRewrite of ssrocc * ssrdir | 
| IPatView of ssrview | 
| IPatClear of ssrclear | 
| IPatSimpl of ssrsimpl | 
| IPatAbstractVars of Names.Id.t list | 
| IPatFastNondep | 
and ssripats = ssripat listand ssripatss = ssripats listtype ssrhpats_wtransp = bool * ssrhpatstype ssrintrosarg = Ltac_plugin.Tacexpr.raw_tactic_expr * ssripatstype ssrfwdid = Names.Id.ttype 'term ssrbind = | Bvar of Names.Name.t | 
| Bdecl of Names.Name.t list * 'term | 
| Bdef of Names.Name.t * 'term option * 'term | 
| Bstruct of Names.Name.t | 
| Bcast of 'term | 
Binders (for fwd tactics)
type 'term ssrbindval = 'term ssrbind list * 'termtype ssrfwdfmt = ssrfwdkind * ssrbindfmt listtype 'tac fwdbinders = bool * (ssrhpats * ((ssrfwdfmt * ast_closure_term) * 'tac ssrhint))type 'tac ffwbinders = ssrhpats * ((ssrfwdfmt * ast_closure_term) * 'tac ssrhint)type clause = ssrclear * ((ssrhyp_or_id * string) * Ssrmatching_plugin.Ssrmatching.cpattern option) optiontype wgen = ssrclear * ((ssrhyp_or_id * string) * Ssrmatching_plugin.Ssrmatching.cpattern option) optiontype 'a ssrmovearg = ssrview * 'a ssrcaseargtype ssrdgens = {dgens : (ssrdocc * Ssrmatching_plugin.Ssrmatching.cpattern) list; | 
gens : (ssrdocc * Ssrmatching_plugin.Ssrmatching.cpattern) list; | 
clr : ssrclear; | 
}type gist = Ltac_plugin.Tacintern.glob_signtype ist = Ltac_plugin.Tacinterp.interp_signtype goal = Evar.t