aboutsummaryrefslogtreecommitdiff
path: root/kernel
diff options
context:
space:
mode:
authorPierre-Marie Pédrot2016-06-16 17:58:36 +0200
committerPierre-Marie Pédrot2016-06-16 17:58:36 +0200
commit1a36cf5fd0a3d05255df8d913745aa8c7e19b99c (patch)
tree010ef6230603cb3beb91e9058fe0e1adb733c5d6 /kernel
parent69ed6089d7ed778e37f5442f57ef7693f73ca802 (diff)
parent0e2189a7a070dd356d5e549392d35d9d07b05058 (diff)
Small factorization in the typing flags of the kernel.
Diffstat (limited to 'kernel')
-rw-r--r--kernel/declareops.ml4
-rw-r--r--kernel/declareops.mli5
-rw-r--r--kernel/term_typing.ml2
-rw-r--r--kernel/typeops.ml4
4 files changed, 12 insertions, 3 deletions
diff --git a/kernel/declareops.ml b/kernel/declareops.ml
index 78e2f386e6..28f7e69cd4 100644
--- a/kernel/declareops.ml
+++ b/kernel/declareops.ml
@@ -14,6 +14,10 @@ open Context.Rel.Declaration
(** Operations concernings types in [Declarations] :
[constant_body], [mutual_inductive_body], [module_body] ... *)
+let safe_flags = {
+ check_guarded = true;
+}
+
(** {6 Arities } *)
let subst_decl_arity f g sub ar =
diff --git a/kernel/declareops.mli b/kernel/declareops.mli
index ad2b5d0a6c..6650b6b7b0 100644
--- a/kernel/declareops.mli
+++ b/kernel/declareops.mli
@@ -69,6 +69,11 @@ val subst_mind_body : substitution -> mutual_inductive_body -> mutual_inductive_
val inductive_instance : mutual_inductive_body -> universe_instance
val inductive_context : mutual_inductive_body -> universe_context
+(** {6 Kernel flags} *)
+
+(** A default, safe set of flags for kernel type-checking *)
+val safe_flags : typing_flags
+
(** {6 Hash-consing} *)
(** Here, strictly speaking, we don't perform true hash-consing
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 8d74dc3902..f0c116d275 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -471,7 +471,7 @@ let translate_local_assum ~flags env t =
t
let translate_recipe env kn r =
- build_constant_declaration ~flags:{check_guarded=true} kn env (Cooking.cook_constant env r)
+ build_constant_declaration ~flags:Declareops.safe_flags kn env (Cooking.cook_constant env r)
let translate_local_def ~flags mb env id centry =
let def,typ,proj,poly,univs,inline_code,ctx =
diff --git a/kernel/typeops.ml b/kernel/typeops.ml
index a94a049df1..9b9792ce87 100644
--- a/kernel/typeops.ml
+++ b/kernel/typeops.ml
@@ -500,13 +500,13 @@ let rec execute env cstr =
| Fix ((vn,i as vni),recdef) ->
let (fix_ty,recdef') = execute_recdef env recdef i in
let fix = (vni,recdef') in
- check_fix ~flags:{check_guarded=true} env fix;
+ check_fix ~flags:Declareops.safe_flags env fix;
make_judge (mkFix fix) fix_ty
| CoFix (i,recdef) ->
let (fix_ty,recdef') = execute_recdef env recdef i in
let cofix = (i,recdef') in
- check_cofix ~flags:{check_guarded=true} env cofix;
+ check_cofix ~flags:Declareops.safe_flags env cofix;
(make_judge (mkCoFix cofix) fix_ty)
(* Partial proofs: unsupported by the kernel *)