diff options
| author | Matthieu Sozeau | 2014-05-30 20:55:48 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-06-04 15:48:31 +0200 |
| commit | dd96b1e5e8d0eb9f93cff423b6f9cf900aee49d7 (patch) | |
| tree | 70a184062496f64841ca013929a0622600ac1b2f /kernel/fast_typeops.ml | |
| parent | 0bbaba7bde67a8673692356c3b3b401b4f820eb7 (diff) | |
- Fix hashing of levels to get the "right" order in universe contexts etc...
- Add a tentative syntax for specifying universes: Type{"i"} and foo@{Type{"i"},Type{"j"}}.
These are always rigid.
- Use level-to-level substitutions where the more general level-to-universe substitutions
were previously used.
Diffstat (limited to 'kernel/fast_typeops.ml')
| -rw-r--r-- | kernel/fast_typeops.ml | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/fast_typeops.ml b/kernel/fast_typeops.ml index 6d48aaa4e3..94e4479d2d 100644 --- a/kernel/fast_typeops.ml +++ b/kernel/fast_typeops.ml @@ -149,7 +149,7 @@ let type_of_projection env (cst,u) = if cb.const_polymorphic then let mib,_ = lookup_mind_specif env (pb.proj_ind,0) in let subst = make_inductive_subst mib u in - Vars.subst_univs_constr subst pb.proj_type + Vars.subst_univs_level_constr subst pb.proj_type else pb.proj_type | None -> raise (Invalid_argument "type_of_projection: not a projection") @@ -333,7 +333,7 @@ let judge_of_projection env p c ct = in assert(eq_mind pb.proj_ind (fst ind)); let usubst = make_inductive_subst (fst (lookup_mind_specif env ind)) u in - let ty = Vars.subst_univs_constr usubst pb.Declarations.proj_type in + let ty = Vars.subst_univs_level_constr usubst pb.Declarations.proj_type in substl (c :: List.rev args) ty |
