Commit d8593274 authored by Michael Sammler's avatar Michael Sammler
Browse files

try old unfold

parent bbaaf408
Pipeline #57788 passed with stage
in 11 minutes and 37 seconds
......@@ -306,20 +306,29 @@ Tactic Notation "li_let_bind" constr(T) tactic3(tac) :=
change_no_check G).
Ltac liUnfoldLetGoal :=
lazymatch goal with
| |- envs_entails ?Δ ?P =>
let h := get_head P in
is_var h;
let u := eval unfold h in h in
lazymatch u with
| LET_ID ?G =>
lazymatch P with
| context C [h] =>
let X := context C [G] in
change_no_check (envs_entails Δ X);
try clear h
end
end
match goal with
| |- envs_entails _ ?P =>
let rec go P tac :=
match P with
| ?Q ?R => go Q tac
| _ => is_var P; tac P
end in
go P ltac:(fun P => unfold LET_ID in P; unfold P; try clear P)
(* lazymatch goal with *)
(* | |- envs_entails ?Δ ?P => *)
(* let h := get_head P in *)
(* is_var h; *)
(* let u := eval unfold h in h in *)
(* lazymatch u with *)
(* | LET_ID ?G => *)
(* lazymatch P with *)
(* | context C [h] => *)
(* let X := context C [G] in *)
(* change_no_check (envs_entails Δ X); *)
(* try clear h *)
(* end *)
(* end *)
end.
Ltac liUnfoldLetsInContext :=
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment