aboutsummaryrefslogtreecommitdiff
path: root/src/Reflection/Syntax.v
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2016-11-07 15:07:17 -0500
committerGravatar Jason Gross <jgross@mit.edu>2016-11-07 15:07:22 -0500
commit62a58d23d32f66ccf7616a33a6710506e123e65c (patch)
tree9d8b6362233d9c6a6da6c92b45bd968922458a32 /src/Reflection/Syntax.v
parent4b1a1581fe6d60673cffd6f9489284dc01f86ec9 (diff)
Add flat_interp_tuple_untuple'
Diffstat (limited to 'src/Reflection/Syntax.v')
-rw-r--r--src/Reflection/Syntax.v6
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)