Skip to content
Snippets Groups Projects
Commit 72a7ac7b authored by Ralf Jung's avatar Ralf Jung Committed by Robbert Krebbers
Browse files

add map_difference_delete_insert

parent ddd24bdc
No related branches found
No related tags found
1 merge request!234some map lemmas
......@@ -2390,6 +2390,16 @@ Qed.
Global Instance map_difference_right_id {A} : RightId (=) (∅:M A) () := _.
Lemma map_difference_empty {A} (m : M A) : m = m.
Proof. by rewrite (right_id _ _). Qed.
Lemma map_difference_delete_insert {A} (m m0 : M A) k v :
delete k (m m0) = m <[k:=v]> m0.
Proof.
apply map_eq. intros i. apply option_eq. intros x.
rewrite lookup_delete_Some. rewrite !lookup_difference_Some. split.
- intros (Hne & Hm & Hm0). rewrite lookup_insert_ne by done. done.
- destruct (decide (k = i)) as [->|Hne].
+ rewrite lookup_insert. naive_solver.
+ rewrite lookup_insert_ne by done. done.
Qed.
End theorems.
(** ** The seq operation *)
......
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