aboutsummaryrefslogtreecommitdiffhomepage
path: root/engine/univops.ml
diff options
context:
space:
mode:
authorGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-06-26 15:56:28 +0200
committerGravatar Pierre-Marie Pédrot <pierre-marie.pedrot@inria.fr>2018-06-26 15:56:28 +0200
commitb98ae49d282f73343c1950e960f4b3bc7c28de70 (patch)
tree53114d948cc278ca0a98e0a19e0ca9282ee891cd /engine/univops.ml
parent0b8c1aa84dc7200b055d45cf528a83163dfd21f8 (diff)
parent40114382c04aafa1c8e1c156ca24a5ad1aa4b9fb (diff)
Merge PR #7906: universes_of_constr don't include universes of monomorphic constants
Diffstat (limited to 'engine/univops.ml')
-rw-r--r--engine/univops.ml15
1 files changed, 2 insertions, 13 deletions
diff --git a/engine/univops.ml b/engine/univops.ml
index 3fd518490..7f9672f82 100644
--- a/engine/univops.ml
+++ b/engine/univops.ml
@@ -11,24 +11,13 @@
open Univ
open Constr
-let universes_of_constr env c =
- let open Declarations in
- let rec aux s c =
+let universes_of_constr c =
+ let rec aux s c =
match kind c with
| Const (c, u) ->
- begin match (Environ.lookup_constant c env).const_universes with
- | Polymorphic_const _ ->
LSet.fold LSet.add (Instance.levels u) s
- | Monomorphic_const (univs, _) ->
- LSet.union s univs
- end
| Ind ((mind,_), u) | Construct (((mind,_),_), u) ->
- begin match (Environ.lookup_mind mind env).mind_universes with
- | Cumulative_ind _ | Polymorphic_ind _ ->
LSet.fold LSet.add (Instance.levels u) s
- | Monomorphic_ind (univs,_) ->
- LSet.union s univs
- end
| Sort u when not (Sorts.is_small u) ->
let u = Sorts.univ_of_sort u in
LSet.fold LSet.add (Universe.levels u) s