From 28809ba4180b0421d5b0e97f9e92ba72e63bda7c Mon Sep 17 00:00:00 2001 From: soubiran Date: Thu, 29 Apr 2010 16:28:45 +0000 Subject: After the approval of Bruno, here the patch for the checker. In checker: - delta_resolver inferred by the module system is checked through regular delta reduction steps - the old mind_equiv field of mutual_inductive is simulated through a special table in environ - small optimization, if the signature and the implementation of a module are physically equal (always happen for the toplevel module of a vo) then the checker checks only the signature. In kernel - in names i have added two special equality functions over constant and inductive names for the checker, so that the checker does not take in account the cannonical name inferred by the module system. git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12977 85f007b7-540e-0410-9357-904b9bb8a0f7 --- checker/environ.mli | 3 +++ 1 file changed, 3 insertions(+) (limited to 'checker/environ.mli') diff --git a/checker/environ.mli b/checker/environ.mli index 776698ed8..023acd0bf 100644 --- a/checker/environ.mli +++ b/checker/environ.mli @@ -6,6 +6,7 @@ open Term type globals = { env_constants : Declarations.constant_body Cmap_env.t; env_inductives : Declarations.mutual_inductive_body Mindmap_env.t; + env_inductives_eq : kernel_name KNmap.t; env_modules : Declarations.module_body MPmap.t; env_modtypes : Declarations.module_type_body MPmap.t} type stratification = { @@ -57,6 +58,8 @@ val constant_opt_value : env -> constant -> constr option val evaluable_constant : constant -> env -> bool (* Inductives *) +val mind_equiv : env -> inductive -> inductive -> bool + val lookup_mind : mutual_inductive -> env -> Declarations.mutual_inductive_body -- cgit v1.2.3