diff options
| author | Pierre-Marie Pédrot | 2016-06-16 17:58:36 +0200 |
|---|---|---|
| committer | Pierre-Marie Pédrot | 2016-06-16 17:58:36 +0200 |
| commit | 1a36cf5fd0a3d05255df8d913745aa8c7e19b99c (patch) | |
| tree | 010ef6230603cb3beb91e9058fe0e1adb733c5d6 /kernel | |
| parent | 69ed6089d7ed778e37f5442f57ef7693f73ca802 (diff) | |
| parent | 0e2189a7a070dd356d5e549392d35d9d07b05058 (diff) | |
Small factorization in the typing flags of the kernel.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/declareops.ml | 4 | ||||
| -rw-r--r-- | kernel/declareops.mli | 5 | ||||
| -rw-r--r-- | kernel/term_typing.ml | 2 | ||||
| -rw-r--r-- | kernel/typeops.ml | 4 |
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 *) |
