Commit 2ae8b292 authored by Robbert Krebbers's avatar Robbert Krebbers

Bump Iris (C→O rename, lazy_tc).

parent 08d9e2b1
Pipeline #17765 failed with stage
in 11 minutes and 13 seconds
......@@ -9,5 +9,5 @@ build: [make "-j%{jobs}%"]
install: [make "install"]
remove: [ "sh" "-c" "rm -rf '%{lib}%/coq/user-contrib/iris-c" ]
depends: [
"coq-iris" { (= "dev.2019-06-11.8.a51fa3cf") | (= "dev") }
"coq-iris" { (= "dev.2019-06-18.2.e039d7c7") | (= "dev") }
]
......@@ -15,7 +15,7 @@ Ltac cwp_bind_core K :=
end.
Tactic Notation "cwp_apply" open_constr(lem) :=
iPoseProofCore lem as false true (fun H =>
iPoseProofCore lem as false (fun H =>
lazymatch goal with
| |- envs_entails _ (cwp ?e ?R ?Q) =>
reshape_expr e ltac:(fun K e' =>
......
......@@ -7,7 +7,7 @@ From iris.bi.lib Require Import fractional.
Inductive lockstate :=
| Locked
| Unlocked.
Canonical Structure lockstateC := leibnizC lockstate.
Canonical Structure lockstateO := leibnizO lockstate.
Instance lockstate_inhabited : Inhabited lockstate := populate Unlocked.
......@@ -68,7 +68,7 @@ Record lock_res_gname := {
flock_token1_name : gname;
flock_token2_name : gname;
}.
Canonical Structure lock_res_gnameC := leibnizC lock_res_gname.
Canonical Structure lock_res_gnameO := leibnizO lock_res_gname.
Instance lock_res_gname_eq_dec : EqDecision lock_res_gname.
Proof. solve_decision. Defined.
......@@ -97,23 +97,23 @@ Defined.
*)
Class flockG Σ :=
FlockG {
flock_stateG :> inG Σ (authR (optionUR (exclR lockstateC)));
flock_stateG :> inG Σ (authR (optionUR (exclR lockstateO)));
flock_lockG :> lockG Σ;
flock_cinvG :> cinvG Σ;
(* note the difference between the two RAs here ! *)
flock_props_active :> inG Σ (authR
(optionUR (exclR (gmapC lock_res_gname fracR))));
(optionUR (exclR (gmapO lock_res_gname fracR))));
flock_props :> inG Σ (authR
(gmapUR lock_res_gname fracR));
flock_tokens :> inG Σ (exclR unitC);
flock_tokens :> inG Σ (exclR unitO);
}.
Definition flockΣ : gFunctors :=
#[GFunctor (authR (optionUR (exclR lockstateC)))
#[GFunctor (authR (optionUR (exclR lockstateO)))
;lockΣ
;cinvΣ
;GFunctor (authR (optionUR (exclR (gmapC lock_res_gname fracC))))
;GFunctor (authR (gmapUR lock_res_gname fracR))%CF].
;GFunctor (authR (optionUR (exclR (gmapO lock_res_gname fracO))))
;GFunctor (authR (gmapUR lock_res_gname fracR))%OF].
Instance subG_flockΣ Σ : subG flockΣ Σ flockG Σ.
Proof. solve_inG. Qed.
......
......@@ -9,7 +9,7 @@ Local Open Scope nat_scope.
Inductive lvl :=
| LLvl : lvl
| ULvl : lvl.
Canonical Structure lvlC := leibnizC lvl.
Canonical Structure lvlO := leibnizO lvl.
Instance lvl_EqDecision : EqDecision lvl.
Proof. solve_decision. Defined.
......@@ -82,9 +82,9 @@ Instance cloc_inhabited : Inhabited cloc | 0 :=
(* Auth (CLoc -> (Q * Level)) *)
Definition locking_heapUR : ucmraT :=
gmapUR cloc (prodR (prodR fracR lvlUR) (agreeR valC)).
gmapUR cloc (prodR (prodR fracR lvlUR) (agreeR valO)).
Definition heap_block_infoUR : ucmraT :=
gmapUR loc (agreeR (prodC boolC natC)).
gmapUR loc (agreeR (prodO boolO natO)).
(** The CMRA we need. *)
Class locking_heapG (Σ : gFunctors) := LHeapG {
......
......@@ -42,7 +42,7 @@ Definition test : val := λᶜ "l",
call (c_ret storeme) (c_ret "l") + (c_ret "l" = 11).
Section test.
Context `{cmonadG Σ, !inG Σ (authR (optionUR (exclR boolC)))}.
Context `{cmonadG Σ, !inG Σ (authR (optionUR (exclR boolO)))}.
(** Basic specification for `storeme' *)
Lemma storeme_spec R cl v Φ :
......
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