aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGaëtan Gilbert2020-10-26 11:45:28 +0100
committerGaëtan Gilbert2020-10-26 11:45:47 +0100
commite901ce83ff5c0a3a95d420f6ae10d07312fad4a4 (patch)
treeb2877208beb226126ee473eb5498bdaf58b1f28a
parent716299d489b5a91ab46b28900d04cd5dd7f7acac (diff)
universes_of_constr: don't ignore CaseInvert universes
Not sure if we can get a bug from this omission.
-rw-r--r--engine/eConstr.ml3
-rw-r--r--kernel/vars.ml3
2 files changed, 6 insertions, 0 deletions
diff --git a/engine/eConstr.ml b/engine/eConstr.ml
index 36297fe243..5136e153ca 100644
--- a/engine/eConstr.ml
+++ b/engine/eConstr.ml
@@ -563,6 +563,9 @@ let universes_of_constr sigma c =
| Array (u,_,_,_) ->
let s = LSet.fold LSet.add (Instance.levels (EInstance.kind sigma u)) s in
fold sigma aux s c
+ | Case (_,_,CaseInvert {univs;args=_},_,_) ->
+ let s = LSet.fold LSet.add (Instance.levels (EInstance.kind sigma univs)) s in
+ fold sigma aux s c
| _ -> fold sigma aux s c
in aux LSet.empty c
diff --git a/kernel/vars.ml b/kernel/vars.ml
index f7e28b0cfe..a446fa413c 100644
--- a/kernel/vars.ml
+++ b/kernel/vars.ml
@@ -348,5 +348,8 @@ let universes_of_constr c =
| Array (u,_,_,_) ->
let s = LSet.fold LSet.add (Instance.levels u) s in
Constr.fold aux s c
+ | Case (_,_,CaseInvert {univs;args=_},_,_) ->
+ let s = LSet.fold LSet.add (Instance.levels univs) s in
+ Constr.fold aux s c
| _ -> Constr.fold aux s c
in aux LSet.empty c