package coq
type patvar = Names.Id.t
type !'constr intro_pattern_expr =
| IntroForthcoming of bool
| IntroNaming of intro_pattern_naming_expr
| IntroAction of 'constr intro_pattern_action_expr
and intro_pattern_naming_expr =
| IntroIdentifier of Names.Id.t
| IntroFresh of Names.Id.t
| IntroAnonymous
and !'constr intro_pattern_action_expr =
| IntroWildcard
| IntroOrAndPattern of 'constr or_and_intro_pattern_expr
| IntroInjection of 'constr intro_pattern_expr Loc.located list
| IntroApplyOn of 'constr Loc.located * 'constr intro_pattern_expr Loc.located
| IntroRewrite of bool
and !'constr or_and_intro_pattern_expr =
| IntroOrPattern of 'constr intro_pattern_expr Loc.located list list
| IntroAndPattern of 'constr intro_pattern_expr Loc.located list
type sort_info = Names.Name.t Loc.located list
type level_info = Names.Name.t Loc.located option
type glob_sort = sort_info glob_sort_gen
type glob_level = level_info glob_sort_gen
type existential_key = Evar.t
type !'a explicit_bindings = (quantified_hypothesis * 'a) Loc.located list
type !'a bindings =
| ImplicitBindings of 'a list
| ExplicitBindings of 'a explicit_bindings
| NoBindings
type !'a with_bindings = 'a * 'a bindings
type !'a and_short_name = 'a * Names.Id.t Loc.located option
type !'a core_destruction_arg =
| ElimOnConstr of 'a
| ElimOnIdent of Names.Id.t Loc.located
| ElimOnAnonHyp of int
type !'a destruction_arg = clear_flag * 'a core_destruction_arg
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>