package coq

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type lambda =
  1. | Lrel of Names.Name.t * int
  2. | Lvar of Names.Id.t
  3. | Levar of Evar.t * lambda array
  4. | Lprod of lambda * lambda
  5. | Llam of Names.Name.t Context.binder_annot array * lambda
  6. | Llet of Names.Name.t Context.binder_annot * lambda * lambda
  7. | Lapp of lambda * lambda array
  8. | Lconst of Constr.pconstant
  9. | Lprim of Constr.pconstant * CPrimitives.t * lambda array
  10. | Lcase of Constr.case_info * Vmvalues.reloc_table * lambda * lambda * lam_branches
  11. | Lfix of int array * int * fix_decl
  12. | Lcofix of int * fix_decl
  13. | Lint of int
  14. | Lmakeblock of int * lambda array
  15. | Luint of Uint63.t
  16. | Lfloat of Float64.t
  17. | Lval of Vmvalues.structured_values
  18. | Lsort of Sorts.t
  19. | Lind of Constr.pinductive
  20. | Lproj of Names.Projection.Repr.t * lambda
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
exception TooLargeInductive of Pp.t
val lambda_of_constr : optimize:bool -> Environ.env -> Constr.t -> lambda
val decompose_Llam : lambda -> Names.Name.t Context.binder_annot array * lambda
val dump_lambda : bool ref