diff options
author | Jason Gross <jgross@mit.edu> | 2018-10-25 19:11:46 -0400 |
---|---|---|
committer | Jason Gross <jgross@mit.edu> | 2018-10-25 19:11:46 -0400 |
commit | 926e448b6f9d47ab2fb976bb19a546085ebf4d53 (patch) | |
tree | aa75cdf9fcbf543f64cb9d706a37e6731c3fa683 /src | |
parent | 9a617177edb25e5a909ea334c5b2dcbb712d2ea9 (diff) |
Add app_lam_type_of_list
Diffstat (limited to 'src')
-rw-r--r-- | src/Experiments/NewPipeline/RewriterWf1.v | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/Experiments/NewPipeline/RewriterWf1.v b/src/Experiments/NewPipeline/RewriterWf1.v index ef0e9aaab..6b081e6e5 100644 --- a/src/Experiments/NewPipeline/RewriterWf1.v +++ b/src/Experiments/NewPipeline/RewriterWf1.v @@ -428,6 +428,15 @@ Module Compilers. (fun T Ts rec k t => rec (fun ts => k (t, ts))) ls. + Lemma app_lam_type_of_list + {K ls f args} + : @app_type_of_list K ls (@lam_type_of_list ls K f) args = f args. + Proof using Type. + cbv [app_type_of_list lam_type_of_list]. + induction ls as [|l ls IHls]; cbn [list_rect type_of_list type_of_list_cps] in *; + destruct_head'_unit; destruct_head'_prod; cbn [fst snd] in *; try reflexivity; apply IHls. + Qed. + Section with_var1. Context {var : type -> Type}. Local Notation expr := (@expr.expr base.type ident var). |