aboutsummaryrefslogtreecommitdiffhomepage
path: root/kernel/typeops.ml
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2014-05-30 20:55:48 +0200
committerGravatar Matthieu Sozeau <mattam@mattam.org>2014-06-04 15:48:31 +0200
commitdd96b1e5e8d0eb9f93cff423b6f9cf900aee49d7 (patch)
tree70a184062496f64841ca013929a0622600ac1b2f /kernel/typeops.ml
parent0bbaba7bde67a8673692356c3b3b401b4f820eb7 (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/typeops.ml')
-rw-r--r--kernel/typeops.ml4
1 files changed, 2 insertions, 2 deletions
diff --git a/kernel/typeops.ml b/kernel/typeops.ml
index 49f883628..98c0dfc20 100644
--- a/kernel/typeops.ml
+++ b/kernel/typeops.ml
@@ -176,7 +176,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")
@@ -374,7 +374,7 @@ let judge_of_projection env p cj =
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
let ty = substl (cj.uj_val :: List.rev args) ty in
(* TODO: Universe polymorphism for projections *)
{uj_val = mkProj (p,cj.uj_val);