aboutsummaryrefslogtreecommitdiff
path: root/checker/mod_checking.ml
diff options
context:
space:
mode:
authorGaëtan Gilbert2019-05-28 15:19:25 +0200
committerGaëtan Gilbert2019-05-28 15:19:25 +0200
commit19da31e8e92bb9990e90af162ce1652c6ac71977 (patch)
tree363623323ffb64090e78211823465bafe0b29297 /checker/mod_checking.ml
parentd4ca25df0f481345c99744acda28728c9682f0ac (diff)
Checker: don't use monomorphic universes attached to a constant
They are supposed to be included in the module's constraints. The old behaviour would allow a crafted vo, using ~~~coq Definition a := Type. Definition b := Type. Definition b_in_a : a := b. Definition a_in_b : b := a. ~~~ with the constraints for b_in_a and a_in_b not included in the module constraints, then a proof of false may be derived in the usual way.
Diffstat (limited to 'checker/mod_checking.ml')
-rw-r--r--checker/mod_checking.ml2
1 files changed, 1 insertions, 1 deletions
diff --git a/checker/mod_checking.ml b/checker/mod_checking.ml
index 1cf07e7cc7..c450ff854c 100644
--- a/checker/mod_checking.ml
+++ b/checker/mod_checking.ml
@@ -24,7 +24,7 @@ let check_constant_declaration env kn cb =
(* [env'] contains De Bruijn universe variables *)
let poly, env' =
match cb.const_universes with
- | Monomorphic ctx -> false, push_context_set ~strict:true ctx env
+ | Monomorphic ctx -> false, env
| Polymorphic auctx ->
let ctx = Univ.AUContext.repr auctx in
let env = push_context ~strict:false ctx env in