Commit 98db35db authored by Dan Frumin's avatar Dan Frumin

Finish a generative ADT example

From "State-Dependent Represenation Independence" by A. Ahmed, D. Dreyer, A. Rossberg.
parent 9c084042
......@@ -46,6 +46,15 @@ Section mapsto.
by intros [_ ?%agree_op_invL'].
Qed.
Lemma mapsto_half_combine l v1 v2 :
l ↦ᵢ{1/2} v1 - l ↦ᵢ{1/2} v2 - v1 = v2 l ↦ᵢ v1.
Proof.
iIntros "Hl1 Hl2".
iDestruct (mapsto_agree with "Hl1 Hl2") as %?. simplify_eq.
iSplit; eauto.
iApply (fractional_half_2 with "Hl1 Hl2").
Qed.
End mapsto.
Section lang_rules.
......
This diff is collapsed.
(* The threadpool RA *)
From iris.algebra Require Import auth gmap agree list.
From iris.base_logic Require Export gen_heap invariants fractional.
From iris.proofmode Require Import tactics.
From iris_logrel.F_mu_ref_conc Require Import lang.
Import uPred.
......@@ -141,4 +142,13 @@ Section mapsto.
by intros [_ ?%agree_op_invL'].
Qed.
Lemma mapsto_half_combine l v1 v2 :
l ↦ₛ{1/2} v1 - l ↦ₛ{1/2} v2 - v1 = v2 l ↦ₛ v1.
Proof.
iIntros "Hl1 Hl2".
iDestruct (mapsto_agree with "Hl1 Hl2") as %?. simplify_eq.
iSplit; eauto.
iApply (fractional_half_2 with "Hl1 Hl2").
Qed.
End mapsto.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment