diff options
| -rw-r--r-- | pretyping/evarsolve.ml | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/pretyping/evarsolve.ml b/pretyping/evarsolve.ml index d15c5d00bd..5f19ce30a6 100644 --- a/pretyping/evarsolve.ml +++ b/pretyping/evarsolve.ml @@ -1119,7 +1119,9 @@ let solve_evar_evar ?(force=false) f g env evd pbty (evk1,args1 as ev1) (evk2,ar (* If instances are canonical, we solve the problem in linear time *) let sign = evar_filtered_context (Evd.find evd evk2) in let id_inst = inst_of_vars sign in - Evd.define evk2 (mkEvar(evk1,id_inst)) evd + let body = mkEvar(evk1,id_inst) in + let evd' = Evd.define evk2 body evd in + check_evar_instance evd' evk2 body g else let evd,ev1,ev2 = (* If an evar occurs in the instance of the other evar and the |
