aboutsummaryrefslogtreecommitdiff
path: root/src/Reflection
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2016-11-17 15:05:49 -0500
committerGravatar Jason Gross <jgross@mit.edu>2016-11-17 15:05:49 -0500
commit8681558e03bab1912fbbd229704515fb86331cc0 (patch)
treed97ca3d78e940449bfa096182ede8f4158b10952 /src/Reflection
parent035f6ac231cf102eb9163ac41fe19b8b34869f8e (diff)
Add interpf_LetIn
Diffstat (limited to 'src/Reflection')
-rw-r--r--src/Reflection/InterpProofs.v7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Reflection/InterpProofs.v b/src/Reflection/InterpProofs.v
index 880256f1d..4e49050b0 100644
--- a/src/Reflection/InterpProofs.v
+++ b/src/Reflection/InterpProofs.v
@@ -1,5 +1,6 @@
Require Import Crypto.Reflection.Syntax.
Require Import Crypto.Reflection.WfProofs.
+Require Import Crypto.Util.LetIn.
Require Import Crypto.Util.Tactics Crypto.Util.Sigma Crypto.Util.Prod.
Local Open Scope ctype_scope.
@@ -16,6 +17,12 @@ Section language.
Let interp_flat_type := interp_flat_type interp_base_type.
Context (interp_op : forall src dst, op src dst -> interp_flat_type src -> interp_flat_type dst).
+ Lemma interpf_LetIn tx ex tC eC
+ : Syntax.interpf interp_op (LetIn (tx:=tx) ex (tC:=tC) eC)
+ = dlet x := Syntax.interpf interp_op ex in
+ Syntax.interpf interp_op (eC x).
+ Proof. reflexivity. Qed.
+
Lemma interpf_SmartVarf t v
: Syntax.interpf interp_op (SmartVarf (t:=t) v) = v.
Proof.