diff options
author | Matthieu Sozeau <matthieu.sozeau@inria.fr> | 2016-05-27 13:51:51 +0200 |
---|---|---|
committer | Matthieu Sozeau <mattam@mattam.org> | 2016-06-29 11:52:52 +0200 |
commit | 25ffe7f97a907d3508848c81c3e8dcc89559aadd (patch) | |
tree | 35cd301165eb3659fe3f1175140479a72f41eebd /stm/lemmas.ml | |
parent | 58b6784fee71a16719bc4f268dc42830c06a5c63 (diff) |
Univs: earlier errors for strict univ decls #4527
When declaring the universes of a lemma explicitely, throw an error if
after minimization the type of a lemma still refers to unbound
universes. This is a fix and an incompatibility, but scripts
will be backwards compatible themselves.
Fix another minor bug in treating universe binders for (Co)Fixpoint.
Diffstat (limited to 'stm/lemmas.ml')
-rw-r--r-- | stm/lemmas.ml | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/stm/lemmas.ml b/stm/lemmas.ml index 50dceb8e6..6b78ce72c 100644 --- a/stm/lemmas.ml +++ b/stm/lemmas.ml @@ -465,6 +465,11 @@ let start_proof_com kind thms hook = let recguard,thms,snl = look_for_possibly_mutual_statements thms in let evd, nf = Evarutil.nf_evars_and_universes !evdref in let thms = List.map (fun (n, (t, info)) -> (n, (nf t, info))) thms in + let () = + match levels with + | None -> () + | Some l -> ignore (Evd.universe_context evd ?names:l) + in let evd = if pi2 kind then evd else (* We fix the variables to ensure they won't be lowered to Set *) |