diff --git a/theories/fin_maps.v b/theories/fin_maps.v index 07b0225e41a3f14033540171a89d74df8508c09f..fd55a8794e2b08210ff2b75b46b731a3816b3d4f 100644 --- a/theories/fin_maps.v +++ b/theories/fin_maps.v @@ -1234,6 +1234,15 @@ Proof. Qed. Lemma map_Forall_delete m i : map_Forall P m → map_Forall P (delete i m). Proof. intros Hm j x; rewrite lookup_delete_Some. naive_solver. Qed. +Lemma map_Forall_lookup m : + map_Forall P m ↔ ∀ i x, m !! i = Some x → P i x. +Proof. done. Qed. +Lemma map_Forall_lookup_1 m i x : + map_Forall P m → m !! i = Some x → P i x. +Proof. intros ?. by apply map_Forall_lookup. Qed. +Lemma map_Forall_lookup_2 m : + (∀ i x, m !! i = Some x → P i x) → map_Forall P m. +Proof. intros ?. by apply map_Forall_lookup. Qed. Lemma map_Forall_foldr_delete m is : map_Forall P m → map_Forall P (foldr delete m is). Proof. induction is; eauto using map_Forall_delete. Qed.