package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type prefix = string
type lambda =
  1. | Lrel of Names.Name.t * int
  2. | Lvar of Names.Id.t
  3. | Lmeta of Constr.metavariable * lambda
  4. | Levar of Evar.t * lambda array
  5. | Lprod of lambda * lambda
  6. | Llam of Names.Name.t Context.binder_annot array * lambda
  7. | Lrec of Names.Name.t Context.binder_annot * lambda
  8. | Llet of Names.Name.t Context.binder_annot * lambda * lambda
  9. | Lapp of lambda * lambda array
  10. | Lconst of prefix * Constr.pconstant
  11. | Lproj of prefix * Names.inductive * int
  12. | Lprim of prefix * Constr.pconstant * CPrimitives.t * lambda array
  13. | Lcase of Nativevalues.annot_sw * lambda * lambda * lam_branches
  14. | Lif of lambda * lambda * lambda
  15. | Lfix of int array * (string * Names.inductive) array * int * fix_decl
  16. | Lcofix of int * fix_decl
  17. | Lint of int
  18. | Lparray of lambda array * lambda
  19. | Lmakeblock of prefix * Names.inductive * int * lambda array
  20. | Luint of Uint63.t
  21. | Lfloat of Float64.t
  22. | Lval of Nativevalues.t
  23. | Lsort of Sorts.t
  24. | Lind of prefix * Constr.pinductive
  25. | Llazy
  26. | Lforce
and lam_branches = {
  1. constant_branches : lambda array;
  2. nonconstant_branches : (Names.Name.t Context.binder_annot array * lambda) array;
}
and fix_decl = Names.Name.t Context.binder_annot array * lambda array * lambda array
type evars = {
  1. evars_val : Constr.existential -> Constr.constr option;
  2. evars_metas : Constr.metavariable -> Constr.types;
}
val empty_evars : evars
val decompose_Llam : lambda -> Names.Name.t Context.binder_annot array * lambda
val decompose_Llam_Llet : lambda -> (Names.Name.t Context.binder_annot * lambda option) array * lambda
val is_lazy : Constr.constr -> bool
val mk_lazy : lambda -> lambda
val get_mind_prefix : Environ.env -> Names.MutInd.t -> string
val lambda_of_constr : Environ.env -> evars -> Constr.constr -> lambda