diff options
author | Maxime Dénès <mail@maximedenes.fr> | 2015-01-16 22:17:03 +0100 |
---|---|---|
committer | Maxime Dénès <mail@maximedenes.fr> | 2015-01-17 08:02:45 +0100 |
commit | 9f5586d88880cbb98c92edfe9c33c76564f1a19c (patch) | |
tree | 6de2a171eff5706b0e4ce9268554b84a922f12b3 /kernel/declareops.ml | |
parent | 4985f0ff99278beb3b934f86edf1398659c611a8 (diff) |
Make native compiler handle universe polymorphic definitions.
One remaining issue: aliased constants raise an anomaly when some unsubstituted
universe variables remain. VM may suffer from the same problem.
Diffstat (limited to 'kernel/declareops.ml')
-rw-r--r-- | kernel/declareops.ml | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/kernel/declareops.ml b/kernel/declareops.ml index d5df24a1a..48a6098ee 100644 --- a/kernel/declareops.ml +++ b/kernel/declareops.ml @@ -260,6 +260,16 @@ let subst_mind_body sub mib = mind_universes = mib.mind_universes; mind_private = mib.mind_private } +let inductive_instance mib = + if mib.mind_polymorphic then + Univ.UContext.instance mib.mind_universes + else Univ.Instance.empty + +let inductive_context mib = + if mib.mind_polymorphic then + Univ.instantiate_univ_context mib.mind_universes + else Univ.UContext.empty + (** {6 Hash-consing of inductive declarations } *) let hcons_regular_ind_arity a = |