From bb2262ee7cf7d83cc73d6f33095d143b0ac1b002 Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Mon, 30 May 2022 09:31:05 +0200 Subject: [PATCH] Add lemma `lookup_total_preimage`. --- theories/fin_maps.v | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/theories/fin_maps.v b/theories/fin_maps.v index 33533c8c..29738bea 100644 --- a/theories/fin_maps.v +++ b/theories/fin_maps.v @@ -3355,6 +3355,14 @@ Section preimage. + apply set_choose_L in HXne as [j ?]. apply (lookup_preimage_None_1 _ _ j) in HX'. naive_solver. Qed. + + Lemma lookup_total_preimage m x i : + i ∈ map_preimage m !!! x ↔ m !! i = Some x. + Proof. + rewrite lookup_total_alt. destruct (map_preimage m !! x) as [X|] eqn:HX. + - by apply lookup_preimage_Some. + - rewrite lookup_preimage_None in HX. set_solver. + Qed. End preimage. (** * Tactics *) -- GitLab