From 648f146d738fde5ea9141298fcd00bc3268f9963 Mon Sep 17 00:00:00 2001 From: Robbert Krebbers <mail@robbertkrebbers.nl> Date: Wed, 28 Sep 2016 13:30:01 +0200 Subject: [PATCH] Generic decider for emptyness of finite maps. --- prelude/fin_maps.v | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/prelude/fin_maps.v b/prelude/fin_maps.v index 229dfcd75..9e43bd240 100644 --- a/prelude/fin_maps.v +++ b/prelude/fin_maps.v @@ -730,6 +730,12 @@ Proof. exists i, x. rewrite <-elem_of_map_to_list, Hm. by left. Qed. +Global Instance map_eq_dec_empty {A} (m : M A) : Decision (m = ∅) | 20. +Proof. + refine (cast_if (decide (elements m = []))); + [apply _|by rewrite <-?map_to_list_empty' ..]. +Defined. + (** Properties of the imap function *) Lemma lookup_imap {A B} (f : K → A → option B) m i : map_imap f m !! i = m !! i ≫= f i. -- GitLab