package coq
val isRel : Constr.constr -> bool
val isRelN : int -> Constr.constr -> bool
val isVar : Constr.constr -> bool
val isVarId : Names.Id.t -> Constr.constr -> bool
val isInd : Constr.constr -> bool
val isEvar : Constr.constr -> bool
val isMeta : Constr.constr -> bool
val isEvar_or_Meta : Constr.constr -> bool
val isSort : Constr.constr -> bool
val isCast : Constr.constr -> bool
val isApp : Constr.constr -> bool
val isLambda : Constr.constr -> bool
val isLetIn : Constr.constr -> bool
val isProd : Constr.constr -> bool
val isConst : Constr.constr -> bool
val isConstruct : Constr.constr -> bool
val isFix : Constr.constr -> bool
val isCoFix : Constr.constr -> bool
val isCase : Constr.constr -> bool
val isProj : Constr.constr -> bool
val is_Prop : Constr.constr -> bool
val is_Set : Constr.constr -> bool
val isprop : Constr.constr -> bool
val is_Type : Constr.constr -> bool
val iskind : Constr.constr -> bool
val is_small : Sorts.t -> bool
val destRel : Constr.constr -> int
val destMeta : Constr.constr -> Constr.metavariable
val destVar : Constr.constr -> Names.Id.t
val destSort : Constr.constr -> Sorts.t
val destCast :
Constr.constr ->
Constr.constr * Constr.cast_kind * Constr.constr
val destProd : Constr.types -> Names.Name.t * Constr.types * Constr.types
val destLambda : Constr.constr -> Names.Name.t * Constr.types * Constr.constr
val destLetIn :
Constr.constr ->
Names.Name.t * Constr.constr * Constr.types * Constr.constr
val destApp : Constr.constr -> Constr.constr * Constr.constr array
val destApplication : Constr.constr -> Constr.constr * Constr.constr array
val decompose_app : Constr.constr -> Constr.constr * Constr.constr list
val decompose_appvect : Constr.constr -> Constr.constr * Constr.constr array
val destConst : Constr.constr -> Names.Constant.t Univ.puniverses
val destEvar : Constr.constr -> Constr.existential
val destInd : Constr.constr -> Names.inductive Univ.puniverses
val destConstruct : Constr.constr -> Names.constructor Univ.puniverses
val destCase :
Constr.constr ->
Constr.case_info * Constr.constr * Constr.constr * Constr.constr array
val destProj : Constr.constr -> Names.Projection.t * Constr.constr
val destFix : Constr.constr -> Constr.fixpoint
val destCoFix : Constr.constr -> Constr.cofixpoint
val mkArrow : Constr.types -> Constr.types -> Constr.constr
val mkNamedLambda :
Names.Id.t ->
Constr.types ->
Constr.constr ->
Constr.constr
val mkNamedLetIn :
Names.Id.t ->
Constr.constr ->
Constr.types ->
Constr.constr ->
Constr.constr
val mkNamedProd : Names.Id.t -> Constr.types -> Constr.types -> Constr.types
val mkProd_or_LetIn : Context.Rel.Declaration.t -> Constr.types -> Constr.types
val mkProd_wo_LetIn : Context.Rel.Declaration.t -> Constr.types -> Constr.types
val mkNamedProd_or_LetIn :
Context.Named.Declaration.t ->
Constr.types ->
Constr.types
val mkNamedProd_wo_LetIn :
Context.Named.Declaration.t ->
Constr.types ->
Constr.types
val mkLambda_or_LetIn :
Context.Rel.Declaration.t ->
Constr.constr ->
Constr.constr
val mkNamedLambda_or_LetIn :
Context.Named.Declaration.t ->
Constr.constr ->
Constr.constr
val applist : (Constr.constr * Constr.constr list) -> Constr.constr
val applistc : Constr.constr -> Constr.constr list -> Constr.constr
val appvect : (Constr.constr * Constr.constr array) -> Constr.constr
val appvectc : Constr.constr -> Constr.constr array -> Constr.constr
val prodn :
int ->
(Names.Name.t * Constr.constr) list ->
Constr.constr ->
Constr.constr
val compose_prod :
(Names.Name.t * Constr.constr) list ->
Constr.constr ->
Constr.constr
val lamn :
int ->
(Names.Name.t * Constr.constr) list ->
Constr.constr ->
Constr.constr
val compose_lam :
(Names.Name.t * Constr.constr) list ->
Constr.constr ->
Constr.constr
val to_lambda : int -> Constr.constr -> Constr.constr
val to_prod : int -> Constr.constr -> Constr.constr
val it_mkLambda_or_LetIn : Constr.constr -> Context.Rel.t -> Constr.constr
val it_mkProd_or_LetIn : Constr.types -> Context.Rel.t -> Constr.types
val lambda_applist : Constr.constr -> Constr.constr list -> Constr.constr
val lambda_appvect : Constr.constr -> Constr.constr array -> Constr.constr
val lambda_applist_assum :
int ->
Constr.constr ->
Constr.constr list ->
Constr.constr
val lambda_appvect_assum :
int ->
Constr.constr ->
Constr.constr array ->
Constr.constr
val prod_appvect : Constr.types -> Constr.constr array -> Constr.types
val prod_applist : Constr.types -> Constr.constr list -> Constr.types
val prod_appvect_assum :
int ->
Constr.types ->
Constr.constr array ->
Constr.types
val prod_applist_assum :
int ->
Constr.types ->
Constr.constr list ->
Constr.types
val decompose_prod :
Constr.constr ->
(Names.Name.t * Constr.constr) list * Constr.constr
val decompose_lam :
Constr.constr ->
(Names.Name.t * Constr.constr) list * Constr.constr
val decompose_prod_n :
int ->
Constr.constr ->
(Names.Name.t * Constr.constr) list * Constr.constr
val decompose_lam_n :
int ->
Constr.constr ->
(Names.Name.t * Constr.constr) list * Constr.constr
val decompose_prod_assum : Constr.types -> Context.Rel.t * Constr.types
val decompose_lam_assum : Constr.constr -> Context.Rel.t * Constr.constr
val decompose_prod_n_assum :
int ->
Constr.types ->
Context.Rel.t * Constr.types
val decompose_lam_n_assum :
int ->
Constr.constr ->
Context.Rel.t * Constr.constr
val decompose_lam_n_decls :
int ->
Constr.constr ->
Context.Rel.t * Constr.constr
val prod_assum : Constr.types -> Context.Rel.t
val lam_assum : Constr.constr -> Context.Rel.t
val prod_n_assum : int -> Constr.types -> Context.Rel.t
val lam_n_assum : int -> Constr.constr -> Context.Rel.t
val strip_prod : Constr.types -> Constr.types
val strip_lam : Constr.constr -> Constr.constr
val strip_prod_n : int -> Constr.types -> Constr.types
val strip_lam_n : int -> Constr.constr -> Constr.constr
val strip_prod_assum : Constr.types -> Constr.types
val strip_lam_assum : Constr.constr -> Constr.constr
type arity = Context.Rel.t * Sorts.t
val mkArity : arity -> Constr.types
val destArity : Constr.types -> arity
val isArity : Constr.types -> bool
type (!'constr, !'types) kind_of_type =
| SortType of Sorts.t
| CastType of 'types * 'types
| ProdType of Names.Name.t * 'types * 'types
| LetInType of Names.Name.t * 'constr * 'types * 'types
| AtomicType of 'constr * 'constr array
val kind_of_type : Constr.types -> (Constr.constr, Constr.types) kind_of_type
val set_sort : Sorts.t
val prop_sort : Sorts.t
val type1_sort : Sorts.t
val is_prop_sort : Sorts.t -> bool
val family_of_sort : Sorts.t -> Sorts.family
val mkRel : int -> Constr.constr
val mkVar : Names.Id.t -> Constr.constr
val mkMeta : Constr.metavariable -> Constr.constr
val mkEvar : Constr.existential -> Constr.constr
val mkSort : Sorts.t -> Constr.types
val mkProp : Constr.types
val mkSet : Constr.types
val mkType : Univ.Universe.t -> Constr.types
val mkCast :
(Constr.constr * Constr.cast_kind * Constr.constr) ->
Constr.constr
val mkProd : (Names.Name.t * Constr.types * Constr.types) -> Constr.types
val mkLambda : (Names.Name.t * Constr.types * Constr.constr) -> Constr.constr
val mkLetIn :
(Names.Name.t * Constr.constr * Constr.types * Constr.constr) ->
Constr.constr
val mkApp : (Constr.constr * Constr.constr array) -> Constr.constr
val mkConst : Names.Constant.t -> Constr.constr
val mkProj : (Names.Projection.t * Constr.constr) -> Constr.constr
val mkInd : Names.inductive -> Constr.constr
val mkConstruct : Names.constructor -> Constr.constr
val mkConstU : Names.Constant.t Univ.puniverses -> Constr.constr
val mkIndU : Names.inductive Univ.puniverses -> Constr.constr
val mkConstructU : Names.constructor Univ.puniverses -> Constr.constr
val mkConstructUi : (Constr.pinductive * int) -> Constr.constr
val mkCase :
(Constr.case_info * Constr.constr * Constr.constr * Constr.constr array) ->
Constr.constr
val mkFix : Constr.fixpoint -> Constr.constr
val mkCoFix : Constr.cofixpoint -> Constr.constr
val eq_constr : Constr.constr -> Constr.constr -> bool
val eq_constr_univs : Constr.constr UGraph.check_function
val leq_constr_univs : Constr.constr UGraph.check_function
val eq_constr_nounivs : Constr.constr -> Constr.constr -> bool
val kind_of_term :
Constr.constr ->
(Constr.constr, Constr.types, Sorts.t, Univ.Instance.t) Constr.kind_of_term
val compare : Constr.constr -> Constr.constr -> int
val constr_ord : Constr.constr -> Constr.constr -> int
val fold_constr : ('a -> Constr.constr -> 'a) -> 'a -> Constr.constr -> 'a
val map_constr :
(Constr.constr -> Constr.constr) ->
Constr.constr ->
Constr.constr
val map_constr_with_binders :
('a -> 'a) ->
('a -> Constr.constr -> Constr.constr) ->
'a ->
Constr.constr ->
Constr.constr
val map_puniverses : ('a -> 'b) -> 'a Univ.puniverses -> 'b Univ.puniverses
val univ_of_sort : Sorts.t -> Univ.Universe.t
val sort_of_univ : Univ.Universe.t -> Sorts.t
val iter_constr : (Constr.constr -> unit) -> Constr.constr -> unit
val iter_constr_with_binders :
('a -> 'a) ->
('a -> Constr.constr -> unit) ->
'a ->
Constr.constr ->
unit
val compare_constr :
(int -> Constr.constr -> Constr.constr -> bool) ->
int ->
Constr.constr ->
Constr.constr ->
bool
type constr = Constr.constr
type types = Constr.types
type !'a puniverses = 'a Univ.puniverses
type pconstant = Constr.pconstant
type pinductive = Constr.pinductive
type pconstructor = Constr.pconstructor
type existential_key = Evar.t
type existential = Constr.existential
type metavariable = Constr.metavariable
type case_style = Constr.case_style =
type case_info = Constr.case_info = {
ci_ind : Names.inductive;
ci_npar : int;
ci_cstr_ndecls : int array;
ci_cstr_nargs : int array;
ci_pp_info : Constr.case_printing;
}
type rec_declaration = Constr.rec_declaration
type fixpoint = Constr.fixpoint
type cofixpoint = Constr.cofixpoint
type !'constr pexistential = 'constr Constr.pexistential
type (!'constr, !'types) prec_declaration =
('constr, 'types) Constr.prec_declaration
type (!'constr, !'types) pfixpoint = ('constr, 'types) Constr.pfixpoint
type (!'constr, !'types) pcofixpoint = ('constr, 'types) Constr.pcofixpoint
type (!'constr, !'types, !'sort, !'univs) kind_of_term =
('constr, 'types, 'sort, 'univs) Constr.kind_of_term =
| Rel of int
| Var of Names.Id.t
| Meta of Constr.metavariable
| Evar of 'constr Constr.pexistential
| Sort of 'sort
| Cast of 'constr * Constr.cast_kind * 'types
| Prod of Names.Name.t * 'types * 'types
| Lambda of Names.Name.t * 'types * 'constr
| LetIn of Names.Name.t * 'constr * 'types * 'constr
| App of 'constr * 'constr array
| Const of Names.Constant.t * 'univs
| Ind of Names.inductive * 'univs
| Construct of Names.constructor * 'univs
| Case of Constr.case_info * 'constr * 'constr * 'constr array
| Fix of ('constr, 'types) Constr.pfixpoint
| CoFix of ('constr, 'types) Constr.pcofixpoint
| Proj of Names.Projection.t * 'constr
type values = Vmvalues.values
val hash_constr : Constr.constr -> int
val hcons_constr : Constr.constr -> Constr.constr
val hcons_types : Constr.types -> Constr.types
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>