diff options
author | Jason Gross <jgross@mit.edu> | 2016-11-17 15:05:49 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2016-11-17 15:05:49 -0500 |
commit | 8681558e03bab1912fbbd229704515fb86331cc0 (patch) | |
tree | d97ca3d78e940449bfa096182ede8f4158b10952 /src/Reflection | |
parent | 035f6ac231cf102eb9163ac41fe19b8b34869f8e (diff) |
Add interpf_LetIn
Diffstat (limited to 'src/Reflection')
-rw-r--r-- | src/Reflection/InterpProofs.v | 7 |
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. |