Squashed commit of the following:

commit 32f5885b5083c6052251a266b0ec4b6f0cd01bcc
Author: Jonas Kastberg Hinrichsen <jkas@itu.dk>
Date:   Tue Jun 11 11:54:32 2019 +0200

    Full bump

commit 3fdf913129ee6c1081e947de48e71ca6411f33da
Author: Robbert Krebbers <mail@robbertkrebbers.nl>
Date:   Tue Jun 11 11:31:22 2019 +0200

    More cleanup.

commit 46be8c0184d5a9e7de42022e389e23df99f73f6d
Author: Robbert Krebbers <mail@robbertkrebbers.nl>
Date:   Mon Jun 10 22:50:02 2019 +0200

    Some cleanup.

commit 2dc17e2cafc0b33e5ef0d2a6f6862b0938f68b18
Author: Jonas Kastberg Hinrichsen <jkas@itu.dk>
Date:   Mon Jun 10 16:33:46 2019 +0200

    WIP

commit 9427aa2ddd4fecb49b8e1c02eccc954fdb8af554
Author: Jonas Kastberg Hinrichsen <jkas@itu.dk>
Date:   Mon Jun 10 15:02:21 2019 +0200

    iRewrite Bug inspection

commit 40393f8800ab1a587f49f9ad479f5dc94b2bf2bc
Author: Jonas Kastberg Hinrichsen <jkas@itu.dk>
Date:   Mon Jun 10 14:56:08 2019 +0200

    Bumped Iris

commit 660218ca36e148b7270fd0044a2401fa553373d1
Author: Robbert Krebbers <mail@robbertkrebbers.nl>
Date:   Mon Jun 3 11:31:11 2019 +0200

    Add type.

commit 54214779390c19b1f9c8b293ac26f36efda95f4d
Author: Robbert Krebbers <mail@robbertkrebbers.nl>
Date:   Fri May 31 16:24:05 2019 +0200

    Coinductive version of stype.

commit b0fe9afb
Author: Robbert Krebbers <mail@robbertkrebbers.nl>
Date:   Fri May 31 13:19:13 2019 +0200

    Bump Iris.
parent c8a2d68b
......@@ -12,7 +12,7 @@ Definition auth_exclΣ (F : cFunctor) `{!cFunctorContractive F} : gFunctors :=
#[GFunctor (authRF (optionURF (exclRF F)))].
Instance subG_auth_exclG (F : cFunctor) `{!cFunctorContractive F} {Σ} :
subG (auth_exclΣ F) Σ auth_exclG (F (iPreProp Σ)) Σ.
subG (auth_exclΣ F) Σ auth_exclG (F (iPreProp Σ) _) Σ.
Proof. solve_inG. Qed.
Definition to_auth_excl {A : ofeT} (a : A) : option (excl A) :=
......@@ -38,11 +38,11 @@ Section auth_excl.
( to_auth_excl x to_auth_excl y) - (x y : iProp Σ).
Proof.
iIntros "Hvalid".
iDestruct (auth_validI with "Hvalid") as "[Hy Hvalid]"; simpl.
iDestruct "Hy" as ([z|]) "Hy"; last first.
- by rewrite left_id right_id_L bi.option_equivI /= excl_equivI.
iDestruct (auth_both_validI with "Hvalid") as "[_ [Hle Hvalid]]"; simpl.
iDestruct "Hle" as ([z|]) "Hy"; last first.
- by rewrite bi.option_equivI /= excl_equivI.
- iRewrite "Hy" in "Hvalid".
by rewrite left_id uPred.option_validI /= excl_validI /=.
by rewrite uPred.option_validI /= excl_validI /=.
Qed.
Lemma excl_eq γ x y :
......@@ -64,4 +64,4 @@ Section auth_excl.
eapply exclusive_local_update. done. }
by rewrite own_op.
Qed.
End auth_excl.
\ No newline at end of file
End auth_excl.
......@@ -22,20 +22,22 @@ Section DualBranch.
intros Ha Hst1 Hst2.
destruct a1.
- simpl.
simpl in Ha. rewrite Ha.
simpl in Ha. rewrite -Ha.
rewrite -(stype_force_eq (dual_stype _)).
constructor.
f_equiv.
f_equiv.
destruct (decode a).
by destruct b. done.
by destruct b. apply is_dual_end.
- simpl.
simpl in Ha. rewrite Ha.
simpl in Ha. rewrite -Ha.
rewrite -(stype_force_eq (dual_stype _)).
constructor.
f_equiv.
f_equiv.
destruct (decode a).
by destruct b.
done.
by destruct b.
apply is_dual_end.
Qed.
End DualBranch.
Global Typeclasses Opaque TSB.
......
......@@ -121,10 +121,10 @@ Section channel.
wp_lam.
wp_apply (lnil_spec with "[//]"); iIntros (ls). wp_alloc l as "Hl".
wp_apply (lnil_spec with "[//]"); iIntros (rs). wp_alloc r as "Hr".
iMod (own_alloc ( (to_auth_excl []) (to_auth_excl [])))
as (lsγ) "[Hls Hls']"; first done.
iMod (own_alloc ( (to_auth_excl []) (to_auth_excl [])))
as (rsγ) "[Hrs Hrs']"; first done.
iMod (own_alloc ( (to_auth_excl []) (to_auth_excl []))) as (lsγ) "[Hls Hls']".
{ by apply auth_both_valid. }
iMod (own_alloc ( (to_auth_excl []) (to_auth_excl []))) as (rsγ) "[Hrs Hrs']".
{ by apply auth_both_valid. }
iAssert (is_list_ref #l []) with "[Hl]" as "Hl".
{ rewrite /is_list_ref; eauto. }
iAssert (is_list_ref #r []) with "[Hr]" as "Hr".
......
This diff is collapsed.
......@@ -21,7 +21,9 @@ Section DualStypeEnc.
IsDualStype (TSR' a1 P st1) (TSR' a2 P st2).
Proof.
rewrite /IsDualAction /IsDualStype. intros <- Hst.
constructor=> x. done. by destruct (decode x).
rewrite -(stype_force_eq (dual_stype _)).
constructor=> x. done. destruct (decode x)=> //.
apply is_dual_end.
Qed.
End DualStypeEnc.
......
This diff is collapsed.
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