aboutsummaryrefslogtreecommitdiff
path: root/src/Compilers
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-10-20 18:47:04 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-10-20 18:47:04 -0400
commit0be5ab83b69b07d83f7e83b2efa81e46f6bcb5a5 (patch)
tree99f19d913723e5ce036e7b9c705dc328219819a6 /src/Compilers
parent5343266f774dbc278a957bf2f2764ac78616d71f (diff)
Add wff_SmartPairf_SmartVarfMap_same
Diffstat (limited to 'src/Compilers')
-rw-r--r--src/Compilers/WfProofs.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Compilers/WfProofs.v b/src/Compilers/WfProofs.v
index 5bf984a48..463f86656 100644
--- a/src/Compilers/WfProofs.v
+++ b/src/Compilers/WfProofs.v
@@ -158,6 +158,16 @@ Section language.
induction Hwf; simpl in *; break_innermost_match; try congruence; eauto.
Qed.
End with_interp.
+
+ Lemma wff_SmartPairf_SmartVarfMap_same {var} G {t} v f g
+ (Hfg : forall t v, wff G (f t v) (g t v))
+ : wff G (t:=t) (var1:=var1) (var2:=var2)
+ (SmartPairf (SmartVarfMap f v))
+ (SmartPairf (SmartVarfMap (var:=var) g v)).
+ Proof.
+ induction t; try solve [ cbv [SmartPairf]; simpl; auto ].
+ rewrite !SmartVarfMap_Pair, !SmartPairf_Pair; auto.
+ Qed.
End with_var.
Definition duplicate_type {var1 var2}