diff options
author | Jason Gross <jgross@mit.edu> | 2016-11-07 15:07:17 -0500 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2016-11-07 15:07:22 -0500 |
commit | 62a58d23d32f66ccf7616a33a6710506e123e65c (patch) | |
tree | 9d8b6362233d9c6a6da6c92b45bd968922458a32 /src/Reflection/Syntax.v | |
parent | 4b1a1581fe6d60673cffd6f9489284dc01f86ec9 (diff) |
Add flat_interp_tuple_untuple'
Diffstat (limited to 'src/Reflection/Syntax.v')
-rw-r--r-- | src/Reflection/Syntax.v | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Reflection/Syntax.v b/src/Reflection/Syntax.v index 4b1d9d238..2f99be49c 100644 --- a/src/Reflection/Syntax.v +++ b/src/Reflection/Syntax.v @@ -102,6 +102,12 @@ Section language. Lemma flat_interp_untuple'_tuple {T n v} : flat_interp_untuple' (@flat_interp_tuple T (S n) v) = v. Proof. apply flat_interp_untuple'_tuple'. Qed. + Lemma flat_interp_tuple'_untuple' {T n v} + : @flat_interp_tuple' T n (flat_interp_untuple' v) = v. + Proof. induction n; [ reflexivity | simpl; rewrite IHn; destruct v; reflexivity ]. Qed. + Lemma flat_interp_tuple_untuple' {T n v} + : @flat_interp_tuple T (S n) (flat_interp_untuple' v) = v. + Proof. apply flat_interp_tuple'_untuple'. Qed. Section rel. Context (R : forall t, interp_base_type t -> interp_base_type t -> Prop). Fixpoint interp_flat_type_rel_pointwise (t : flat_type) |