@@ -350,8 +358,7 @@ Ltac create_protected_evar A :=
Ltacunfold_instantiated_evar_hookH:=idtac.
Ltacunfold_instantiated_evarH:=
(* Necessary because the lets might contain evars. *)
liUnfoldLetsInContext;
liUnfoldLetsContainingH;
unfold_instantiated_evar_hookH;
revertH;
repeatmatchgoalwith
...
...
@@ -384,10 +391,9 @@ Ltac unfold_instantiated_evar H :=
It can use _ to create new evars, but they should be surrounded by [protected (EVAR_ID _)] such that instantiate_protected can find them and create the right let bindings afterwards.
*)
Ltacinstantiate_protectedH'tac_with:=
(* Necessary because the lets might contain evars. *)
liUnfoldLetsInContext;
lazymatchH'with
|protected?H=>
liUnfoldLetsContainingH;
unfoldEVAR_IDinH;
(* we have to be vary careful how we instantiate the evar, as it
may not rely on things introduced later (even let bindings),