aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-10-24 22:41:25 -0400
committerGravatar Jason Gross <jgross@mit.edu>2018-10-24 22:41:25 -0400
commit754043d02f6081740050448a5da43f726f75d781 (patch)
tree604c8863dd977371a65407e97d1edd9e62b1106a /src
parente76a588c1040132e0d401b26186844d2e4ada0f8 (diff)
Add interp_reify_as_interp
Diffstat (limited to 'src')
-rw-r--r--src/Experiments/NewPipeline/LanguageWf.v7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/Experiments/NewPipeline/LanguageWf.v b/src/Experiments/NewPipeline/LanguageWf.v
index 476612aef..963f8f511 100644
--- a/src/Experiments/NewPipeline/LanguageWf.v
+++ b/src/Experiments/NewPipeline/LanguageWf.v
@@ -855,6 +855,13 @@ Hint Extern 10 (Proper ?R ?x) => simple eapply (@PER_valid_r _ R); [ | | solve [
{ etransitivity; [ | apply map_id ]; apply map_ext; auto. }
Qed.
+ Lemma interp_reify_as_interp {t} v1 v2
+ : v1 == v2 -> interp (@GallinaReify.reify_as_interp t v1) == v2.
+ Proof.
+ induction t as [|s IHs d IHd]; cbn [GallinaReify.reify_as_interp type.related interp]; cbv [respectful]; eauto.
+ intro; subst; apply interp_reify.
+ Qed.
+
Lemma Interp_Reify_as {t} v : expr.Interp (@ident.gen_interp cast_outside_of_range) (GallinaReify.base.Reify_as t v) = v.
Proof. apply interp_reify. Qed.
End interp.