aboutsummaryrefslogtreecommitdiff
path: root/kernel/term_typing.ml
diff options
context:
space:
mode:
authorMatthieu Sozeau2018-09-19 10:29:01 +0200
committerMatthieu Sozeau2018-09-19 10:29:01 +0200
commit6d74efabf11768ca1df3a2f3d5a65d25f7f95b01 (patch)
tree8c5648169e305e9b4038b6f04efb5a155e2f2115 /kernel/term_typing.ml
parenteeab61130a2867cd7f40f86a25911b27d1962d3a (diff)
parentfa4c0aab3eace78fe283f4630e4db5ed076d267e (diff)
Merge PR #8341: Reduce universe redeclarations (catching AlreadyDeclared)
Diffstat (limited to 'kernel/term_typing.ml')
-rw-r--r--kernel/term_typing.ml2
1 files changed, 2 insertions, 0 deletions
diff --git a/kernel/term_typing.ml b/kernel/term_typing.ml
index 43351737e5..f59e07098b 100644
--- a/kernel/term_typing.ml
+++ b/kernel/term_typing.ml
@@ -256,6 +256,8 @@ let infer_declaration (type a) ~(trust : a trust) env (dcl : a constant_entry) =
let tyj = infer_type env typ in
let proofterm =
Future.chain body (fun ((body,uctx),side_eff) ->
+ (* don't redeclare universes which are declared for the type *)
+ let uctx = Univ.ContextSet.diff uctx univs in
let j, uctx = match trust with
| Pure ->
let env = push_context_set uctx env in