aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2018-10-23 15:51:11 -0400
committerGravatar Jason Gross <jgross@mit.edu>2018-10-23 15:51:11 -0400
commit2cb0107e5f587c79e11b3e0e27d9a5dca799f24c (patch)
treedc8f475ce6577592625253ba2b42382a8be6a88b /src
parentcb46d6beb28608ee9329670c55883a94428d4522 (diff)
Add related1_app_type_of_list_under_type_of_list_relation1_cps
Diffstat (limited to 'src')
-rw-r--r--src/Experiments/NewPipeline/RewriterWf1.v10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Experiments/NewPipeline/RewriterWf1.v b/src/Experiments/NewPipeline/RewriterWf1.v
index 8ae987eec..a24510fb7 100644
--- a/src/Experiments/NewPipeline/RewriterWf1.v
+++ b/src/Experiments/NewPipeline/RewriterWf1.v
@@ -701,6 +701,16 @@ Module Compilers.
Lemma eval_decision_tree_cont_None {T ctx d}
: @eval_decision_tree var T ctx d (fun _ _ => None) = None.
Proof using Type. apply eval_decision_tree_cont_None_ext; reflexivity. Qed.
+
+ Lemma related1_app_type_of_list_under_type_of_list_relation1_cps
+ {A1 ls F f}
+ : @under_type_of_list_relation1_cps A1 ls F f
+ <-> (forall args, F (app_type_of_list f args)).
+ Proof.
+ cbv [under_type_of_list_relation1_cps app_type_of_list].
+ induction ls as [|l ls IHls]; cbn in *; [ tauto | ].
+ setoid_rewrite IHls; split; intro H; intros; first [ apply H | apply (H (_, _)) ].
+ Qed.
End with_var1.
Section with_var2.