aboutsummaryrefslogtreecommitdiff
path: root/kernel/typing.ml
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/typing.ml')
-rw-r--r--kernel/typing.ml18
1 files changed, 13 insertions, 5 deletions
diff --git a/kernel/typing.ml b/kernel/typing.ml
index 0b236ce44c..b9ef2893a2 100644
--- a/kernel/typing.ml
+++ b/kernel/typing.ml
@@ -249,6 +249,9 @@ let lookup_mind = lookup_mind
let lookup_mind_specif = lookup_mind_specif
let lookup_meta = lookup_meta
+(* Insertion of variables (named and de Bruijn'ed). They are now typed before
+ being added to the environment. *)
+
let push_rel_or_var push (id,c) env =
let (j,u) = safe_machine env c in
let env' = set_universes u env in
@@ -259,6 +262,14 @@ let push_var nvar env = push_rel_or_var push_var nvar env
let push_rel nrel env = push_rel_or_var push_rel nrel env
+let push_vars vars env =
+ List.fold_left (fun env nvar -> push_var nvar env) env vars
+
+let push_rels vars env =
+ List.fold_left (fun env nvar -> push_rel nvar env) env vars
+
+(* Insertion of constants and parameters in environment. *)
+
let add_constant sp ce env =
let (jb,u) = safe_machine env ce.const_entry_body in
let env' = set_universes u env in
@@ -294,11 +305,7 @@ let add_parameter sp c env =
in
Environ.add_constant sp cb env'
-let push_vars vars env =
- List.fold_left (fun env nvar -> push_var nvar env) env vars
-
-let push_rels vars env =
- List.fold_left (fun env nvar -> push_rel nvar env) env vars
+(* Insertion of inductive types. *)
let check_type_constructs env_params univ nparams lc =
let check_one env c =
@@ -334,6 +341,7 @@ let add_mind sp mie env =
type judgment = unsafe_judgment
+
(*s Machines with information. *)
type information = Logic | Inf of unsafe_judgment