From 6b649aba925b6f7462da07599fe67ebb12a3460e Mon Sep 17 00:00:00 2001 From: Samuel Mimram Date: Wed, 28 Jul 2004 21:54:47 +0000 Subject: Imported Upstream version 8.0pl1 --- kernel/safe_typing.mli | 127 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 127 insertions(+) create mode 100644 kernel/safe_typing.mli (limited to 'kernel/safe_typing.mli') diff --git a/kernel/safe_typing.mli b/kernel/safe_typing.mli new file mode 100644 index 00000000..84b98984 --- /dev/null +++ b/kernel/safe_typing.mli @@ -0,0 +1,127 @@ +(************************************************************************) +(* v * The Coq Proof Assistant / The Coq Development Team *) +(* Environ.env + +val empty_environment : safe_environment + +(* Adding and removing local declarations (Local or Variables) *) +val push_named_assum : + identifier * types -> safe_environment -> + Univ.constraints * safe_environment +val push_named_def : + identifier * constr * types option -> safe_environment -> + Univ.constraints * safe_environment + +(* Adding global axioms or definitions *) +type global_declaration = + | ConstantEntry of constant_entry + | GlobalRecipe of Cooking.recipe + +val add_constant : + dir_path -> label -> global_declaration -> safe_environment -> + kernel_name * safe_environment + +(* Adding an inductive type *) +val add_mind : + dir_path -> label -> mutual_inductive_entry -> safe_environment -> + mutual_inductive * safe_environment + +(* Adding a module *) +val add_module : + label -> module_entry -> safe_environment + -> module_path * safe_environment + +(* Adding a module type *) +val add_modtype : + label -> module_type_entry -> safe_environment + -> kernel_name * safe_environment + +(* Adding universe constraints *) +val add_constraints : + Univ.constraints -> safe_environment -> safe_environment + +(* Settin the strongly constructive or classical logical engagement *) +val set_engagement : Environ.engagement -> safe_environment -> safe_environment + + +(*s Interactive module functions *) +val start_module : + label -> (mod_bound_id * module_type_entry) list + -> module_type_entry option + -> safe_environment -> module_path * safe_environment + +val end_module : + label -> safe_environment -> module_path * safe_environment + + +val start_modtype : + label -> (mod_bound_id * module_type_entry) list + -> safe_environment -> module_path * safe_environment + +val end_modtype : + label -> safe_environment -> kernel_name * safe_environment + + +val current_modpath : safe_environment -> module_path +val current_msid : safe_environment -> mod_self_id + + +(* Loading and saving compilation units *) + +(* exporting and importing modules *) +type compiled_library + +val start_library : dir_path -> safe_environment + -> module_path * safe_environment + +val export : safe_environment -> dir_path + -> mod_self_id * compiled_library + +val import : compiled_library -> Digest.t -> safe_environment + -> module_path * safe_environment + +(* Remove the body of opaque constants *) + +val lighten_library : compiled_library -> compiled_library + +(*s Typing judgments *) + +type judgment + +val j_val : judgment -> constr +val j_type : judgment -> constr + +(* Safe typing of a term returning a typing judgment and universe + constraints to be added to the environment for the judgment to + hold. It is guaranteed that the constraints are satisfiable + *) +val safe_infer : safe_environment -> constr -> judgment * Univ.constraints + +val typing : safe_environment -> constr -> judgment + + -- cgit v1.2.3