aboutsummaryrefslogtreecommitdiff
path: root/src/Compilers/Z/ArithmeticSimplifierWf.v
diff options
context:
space:
mode:
Diffstat (limited to 'src/Compilers/Z/ArithmeticSimplifierWf.v')
-rw-r--r--src/Compilers/Z/ArithmeticSimplifierWf.v11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/Compilers/Z/ArithmeticSimplifierWf.v b/src/Compilers/Z/ArithmeticSimplifierWf.v
index ba5dd39cd..56dda81ab 100644
--- a/src/Compilers/Z/ArithmeticSimplifierWf.v
+++ b/src/Compilers/Z/ArithmeticSimplifierWf.v
@@ -115,7 +115,8 @@ Lemma wff_interp_as_expr_or_const_base {var1 var2 t} {G e1 e2 v1 v2}
end.
Proof.
invert_one_expr e1; intros; break_innermost_match; intros;
- try invert_one_expr e2; intros;
+ try (let e2 := match goal with Hwf : wff ?G ?e1 ?e2 |- _ => e2 end in
+ invert_one_expr e2); intros;
repeat first [ fin_t
| progress simpl in *
| progress intros
@@ -157,7 +158,9 @@ Lemma wff_interp_as_expr_or_const_prod_base {var1 var2 A B} {G e1 e2} {v1 v2 : _
end.
Proof.
invert_one_expr e1; intros; break_innermost_match; intros; try exact I;
- try invert_one_expr e2; intros; break_innermost_match; intros; try exact I;
+ try (let e2 := match goal with Hwf : wff ?G ?e1 ?e2 |- _ => e2 end in
+ invert_one_expr e2);
+ intros; break_innermost_match; intros; try exact I;
repeat first [ pret_step
| pose_wff_base
| break_t_step
@@ -206,7 +209,9 @@ Lemma wff_interp_as_expr_or_const_prod3_base {var1 var2 A B C} {G e1 e2} {v1 v2
end.
Proof.
invert_one_expr e1; intros; break_innermost_match; intros; try exact I;
- try invert_one_expr e2; intros; break_innermost_match; intros; try exact I;
+ try (let e2 := match goal with Hwf : wff ?G ?e1 ?e2 |- _ => e2 end in
+ invert_one_expr e2);
+ intros; break_innermost_match; intros; try exact I;
repeat first [ pret_step
| pose_wff_base
| pose_wff_prod