@@ -100,11 +100,6 @@ Section with_cpp.
100100End with_cpp.
101101End mutex.
102102
103- (* TODO upstream *)
104- #[global] Declare Instance
105- own_WeaklyObjective `{Σ : cpp_logic} {A : cmra} `{!HasOwn mpredI A} γ (a : A) :
106- WeaklyObjective (PROP := iPropI _) (own γ a).
107-
108103Module recursive_mutex.
109104
110105 (** <<locked γ th n>> <<th>> owns the mutex <<γ>> <<n>> times. *)
@@ -124,7 +119,7 @@ Module recursive_mutex.
124119 Canonical Structure cmraR := (excl_authR (prodO natO thread_idTO)).
125120
126121 sl.lock
127- Definition inv_rmutex `{Σ : cpp_logic} `{!HasOwn mpredI cmraR} (g : rmutex_gname) (P : mpred) : mpred :=
122+ Definition inv_rmutex `{Σ : cpp_logic} `{!HasOwn (iPropI _) cmraR} (g : rmutex_gname) (P : mpred) : mpred :=
128123 inv rmutex_namespace
129124 (Exists n th, own g.(level_gname) (●E (n, th)) **
130125 match n with
@@ -172,7 +167,7 @@ Module recursive_mutex.
172167 end .
173168
174169 sl.lock
175- Definition acquireable `{Σ : cpp_logic, !HasStdThreads Σ, !HasOwn mpredI cmraR} (g : rmutex_gname) (th : thread_idT) {TT: tele} (t : acquire_state TT) (P : TT -t> mpred) : mpred :=
170+ Definition acquireable `{Σ : cpp_logic, !HasStdThreads Σ, !HasOwn (iPropI _) cmraR} (g : rmutex_gname) (th : thread_idT) {TT: tele} (t : acquire_state TT) (P : TT -t> mpred) : mpred :=
176171 current_thread th **
177172 match t with
178173 | NotHeld => locked g.(lock_gname) th 0
@@ -188,7 +183,7 @@ Module recursive_mutex.
188183 Axiom locked_excl_different_thread : forall g th th' n m,
189184 locked g th n ** locked g th' m |-- [| n = 0 \/ m = 0 |] ** True.
190185
191- Context `{!HasOwn mpredI cmraR, !HasStdThreads Σ}.
186+ Context `{!HasOwn (iPropI _) cmraR, !HasStdThreads Σ}.
192187
193188 #[global] Instance acquireable_learn γ th TT : LearnEq2 (acquireable γ th (TT := TT)).
194189 Proof . solve_learnable. Qed .
@@ -297,7 +292,7 @@ Section with_cpp.
297292 - exists (S n). naive_solver.
298293 Qed .
299294
300- Context `{!HasOwn mpredI cmraR}.
295+ Context `{!HasOwn (iPropI _) cmraR}.
301296
302297 #[program]
303298 Definition acquireable_is_acquired_C {TT} g th t t' P
0 commit comments