type evars_flag = booltype advanced_flag = booltype 'a thunk = (unit, 'a) Tac2ffi.fun1type quantified_hypothesis = Tactypes.quantified_hypothesis = type explicit_bindings = (quantified_hypothesis * EConstr.t) listtype bindings = type constr_with_bindings = EConstr.constr * bindingstype core_destruction_arg = type destruction_arg = core_destruction_argtype intro_pattern = and intro_pattern_naming = and intro_pattern_action = and or_and_intro_pattern = type occurrences = | AllOccurrences | 
| AllOccurrencesBut of int list | 
| NoOccurrences | 
| OnlyOccurrences of int list | 
type hyp_location_flag = Locus.hyp_location_flag = | InHyp | 
| InHypTypeOnly | 
| InHypValueOnly | 
type hyp_location = Names.Id.t * occurrences * hyp_location_flagtype clause = {}type induction_clause = destruction_arg * intro_pattern_naming option * or_and_intro_pattern option * clause optiontype multi = Equality.multi = | Precisely of int | 
| UpTo of int | 
| RepeatStar | 
| RepeatPlus | 
type rewriting = bool option * multi * constr_with_bindings Proofview.tactictype assertion =