diff options
| author | Matthieu Sozeau | 2014-05-30 21:55:24 +0200 |
|---|---|---|
| committer | Matthieu Sozeau | 2014-06-04 15:48:31 +0200 |
| commit | 86c6649382bb9e42281ffe956c627c6d3987559b (patch) | |
| tree | 7d42f94d33c2ac2e4241ce92014abc0785aed6ca /kernel | |
| parent | dd96b1e5e8d0eb9f93cff423b6f9cf900aee49d7 (diff) | |
- Force every universe level to be >= Prop, so one cannot "go under" it anymore.
- Finish the change to level-to-level substitutions, in the checker.
Diffstat (limited to 'kernel')
| -rw-r--r-- | kernel/univ.ml | 6 | ||||
| -rw-r--r-- | kernel/univ.mli | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/kernel/univ.ml b/kernel/univ.ml index 147efe86bc..6c60950211 100644 --- a/kernel/univ.ml +++ b/kernel/univ.ml @@ -1466,6 +1466,12 @@ let initial_universes = enforce_univ_lt Level.prop Level.set LMap.empty let is_initial_universes g = LMap.equal (==) g initial_universes +let add_universe vlev g = + let v = terminal vlev in + let proparc = prop_arc g in + enter_arc {proparc with le=vlev::proparc.le} + (enter_arc v g) + (* Constraints and sets of constraints. *) type univ_constraint = Level.t * constraint_type * Level.t diff --git a/kernel/univ.mli b/kernel/univ.mli index bf04c62e21..9398e23ba9 100644 --- a/kernel/univ.mli +++ b/kernel/univ.mli @@ -183,6 +183,8 @@ val initial_universes : universes val is_initial_universes : universes -> bool +val add_universe : universe_level -> universes -> universes + (** {6 Substitution} *) type universe_subst_fn = universe_level -> universe |
