From 96876c750e05108e07dc1f29fa8db53f35f62f95 Mon Sep 17 00:00:00 2001 From: barras Date: Thu, 22 May 2008 16:07:45 +0000 Subject: fixed dependency problems with the checker git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@10970 85f007b7-540e-0410-9357-904b9bb8a0f7 --- checker/environ.mli | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 checker/environ.mli (limited to 'checker/environ.mli') diff --git a/checker/environ.mli b/checker/environ.mli new file mode 100644 index 000000000..a3f531dd0 --- /dev/null +++ b/checker/environ.mli @@ -0,0 +1,67 @@ +open Names +open Term + +type globals = { + env_constants : Declarations.constant_body Cmap.t; + env_inductives : Declarations.mutual_inductive_body KNmap.t; + env_modules : Declarations.module_body MPmap.t; + env_modtypes : Declarations.module_type_body MPmap.t; + env_alias : module_path MPmap.t; +} +type stratification = { + env_universes : Univ.universes; + env_engagement : Declarations.engagement option; +} +type env = { + env_globals : globals; + env_named_context : named_context; + env_rel_context : rel_context; + env_stratification : stratification; + env_imports : Digest.t MPmap.t; +} +val empty_env : env +val engagement : env -> Declarations.engagement option +val universes : env -> Univ.universes +val named_context : env -> named_context +val rel_context : env -> rel_context +val set_engagement : Declarations.engagement -> env -> env + +val add_digest : env -> dir_path -> Digest.t -> env +val lookup_digest : env -> dir_path -> Digest.t + +val lookup_rel : int -> env -> rel_declaration +val push_rel : rel_declaration -> env -> env +val push_rel_context : rel_context -> env -> env +val push_rec_types : name array * constr array * 'a -> env -> env + +val push_named : named_declaration -> env -> env +val lookup_named : identifier -> env -> named_declaration +val named_type : identifier -> env -> constr + +val add_constraints : Univ.constraints -> env -> env + +val lookup_constant : constant -> env -> Declarations.constant_body +val add_constant : constant -> Declarations.constant_body -> env -> env +val constant_type : env -> constant -> Declarations.constant_type +type const_evaluation_result = NoBody | Opaque +exception NotEvaluableConst of const_evaluation_result +val constant_value : env -> constant -> constr +val constant_opt_value : env -> constant -> constr option +val evaluable_constant : constant -> env -> bool + +val lookup_mind : + mutual_inductive -> env -> Declarations.mutual_inductive_body +val scrape_mind : env -> mutual_inductive -> mutual_inductive +val add_mind : + mutual_inductive -> Declarations.mutual_inductive_body -> env -> env +val mind_equiv : env -> inductive -> inductive -> bool + +val add_modtype : + module_path -> Declarations.module_type_body -> env -> env +val shallow_add_module : + module_path -> Declarations.module_body -> env -> env +val register_alias : module_path -> module_path -> env -> env +val scrape_alias : module_path -> env -> module_path +val lookup_module : module_path -> env -> Declarations.module_body +val lookup_modtype : module_path -> env -> Declarations.module_type_body +val lookup_alias : module_path -> env -> module_path -- cgit v1.2.3