From ef0799abb19c95738c4055208b8d356fe32e0a29 Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Thu, 29 Feb 2024 17:48:24 +0100 Subject: [PATCH] Add lemma `join_app`. --- stdpp/list.v | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/stdpp/list.v b/stdpp/list.v index 38e225db..a146fcce 100644 --- a/stdpp/list.v +++ b/stdpp/list.v @@ -4366,6 +4366,13 @@ Section ret_join. Proof. by rewrite join_nil. Qed. Lemma join_nil_2 (ls : list (list A)) : Forall (.= []) ls → mjoin ls = []. Proof. by rewrite join_nil. Qed. + + Lemma join_app (l1 l2 : list (list A)) : + mjoin (l1 ++ l2) = mjoin l1 ++ mjoin l2. + Proof. + induction l1 as [|x l1 IH]; simpl; [done|]. by rewrite <-(assoc_L _ _), IH. + Qed. + Lemma Forall_join (P : A → Prop) (ls: list (list A)) : Forall (Forall P) ls → Forall P (mjoin ls). Proof. induction 1; simpl; auto using Forall_app_2. Qed. -- GitLab