Skip to content
Snippets Groups Projects
Commit 81dbcab9 authored by Ralf Jung's avatar Ralf Jung
Browse files

shorter proof by Robbert

parent 100690d5
No related branches found
No related tags found
No related merge requests found
...@@ -329,22 +329,13 @@ Section lemmas. ...@@ -329,22 +329,13 @@ Section lemmas.
gmap_view_auth 1 m ~~> gmap_view_auth 1 m ~~>
gmap_view_auth 1 (m' m) ([^op map] kv m', gmap_view_frag k dq v). gmap_view_auth 1 (m' m) ([^op map] kv m', gmap_view_frag k dq v).
Proof. Proof.
revert m. induction m' as [|k v m'] using map_ind. intros. induction m' as [|k v m' ? IH] using map_ind; decompose_map_disjoint.
{ intros m _. rewrite big_opM_empty left_id right_id. done. } { rewrite big_opM_empty left_id_L right_id. done. }
intros m Hdisj. etrans. etrans; first by apply IH.
{ apply IHm'; last done. eapply map_disjoint_weaken_l; first done. rewrite big_opM_insert // assoc.
apply insert_subseteq. done. } apply cmra_update_op; last done.
etrans. rewrite -insert_union_l. apply (gmap_view_alloc _ k dq); last done.
- eapply cmra_update_op; last reflexivity. by apply lookup_union_None.
eapply (gmap_view_alloc _ k dq); last done.
apply lookup_union_None. split; first done.
eapply map_disjoint_Some_l; first done.
rewrite lookup_insert. done.
- (* Turn goal into "L ≡ R". *)
eapply cmra_update_proper; [reflexivity| |reflexivity].
rewrite -assoc. f_equiv.
+ rewrite insert_union_l. done.
+ rewrite big_opM_insert; last done. done.
Qed. Qed.
Lemma gmap_view_delete m k v : Lemma gmap_view_delete m k v :
......
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