Skip to content
Snippets Groups Projects
Commit c53cefcd authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Simplify `gmap_uncurry_non_empty` as suggested by JH in !9.

parent 532a9ed0
No related branches found
No related tags found
No related merge requests found
Pipeline #
...@@ -190,11 +190,9 @@ Section curry_uncurry. ...@@ -190,11 +190,9 @@ Section curry_uncurry.
Lemma gmap_uncurry_non_empty (m : gmap (K1 * K2) A) i x : Lemma gmap_uncurry_non_empty (m : gmap (K1 * K2) A) i x :
gmap_uncurry m !! i = Some x x ∅. gmap_uncurry m !! i = Some x x ∅.
Proof. Proof.
intros Hm ->. revert m Hm. intros Hm ->. eapply eq_None_not_Some; [|by eexists].
apply (map_fold_ind (λ mr _, mr !! i = Some False)); [done|]. eapply lookup_gmap_uncurry_None; intros j.
intros [i' j] x m mr ??. destruct (decide (i = i')) as [->|]. by rewrite <-lookup_gmap_uncurry, Hm.
- rewrite lookup_partial_alter. intros [= []%insert_non_empty].
- by rewrite lookup_partial_alter_ne by done.
Qed. Qed.
Lemma gmap_uncurry_curry_non_empty (m : gmap K1 (gmap K2 A)) : Lemma gmap_uncurry_curry_non_empty (m : gmap K1 (gmap K2 A)) :
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment