aboutsummaryrefslogtreecommitdiffhomepage
path: root/vernac
diff options
context:
space:
mode:
authorGravatar Matthieu Sozeau <mattam@mattam.org>2018-02-13 11:15:16 +0100
committerGravatar Matthieu Sozeau <mattam@mattam.org>2018-02-19 10:24:31 +0100
commitee31c1d24e0c493bb777a58d871f5085222fbc4d (patch)
treedabeee25a553981f388b860eec2b11724db37003 /vernac
parent4f65dfb13d8bb395abf4aa405cae9ed529302a06 (diff)
Fix #6529: nf_evar_info and check the env evars' not just the concl
Diffstat (limited to 'vernac')
-rw-r--r--vernac/vernacentries.ml8
1 files changed, 5 insertions, 3 deletions
diff --git a/vernac/vernacentries.ml b/vernac/vernacentries.ml
index 35ef4bfa4..fa457c895 100644
--- a/vernac/vernacentries.ml
+++ b/vernac/vernacentries.ml
@@ -443,11 +443,13 @@ let start_proof_and_print k l hook =
let hook env sigma ev =
let tac = !Obligations.default_tactic in
let evi = Evd.find sigma ev in
+ let evi = Evarutil.nf_evar_info sigma evi in
let env = Evd.evar_filtered_env evi in
try
- let concl = Evarutil.nf_evars_universes sigma evi.Evd.evar_concl in
- let concl = EConstr.of_constr concl in
- if Evarutil.has_undefined_evars sigma concl then raise Exit;
+ let concl = EConstr.of_constr evi.Evd.evar_concl in
+ if not (Evarutil.is_ground_env sigma env &&
+ Evarutil.is_ground_term sigma concl)
+ then raise Exit;
let c, _, ctx =
Pfedit.build_by_tactic env (Evd.evar_universe_context sigma)
concl (Tacticals.New.tclCOMPLETE tac)