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

explicit coercion > type ascription

parent a8ce6616
No related branches found
No related tags found
No related merge requests found
...@@ -46,7 +46,7 @@ Definition one_shot_inv (γ : gname) (l : loc) : iProp Σ := ...@@ -46,7 +46,7 @@ Definition one_shot_inv (γ : gname) (l : loc) : iProp Σ :=
Lemma wp_one_shot (Φ : val iProp Σ) : Lemma wp_one_shot (Φ : val iProp Σ) :
( f1 f2 : val, ( f1 f2 : val,
( n : Z, WP f1 #n {{ w, w = #true w = #false }}) ( n : Z, WP f1 #n {{ w, w = #true w = #false }})
WP f2 #() {{ g, WP (g : val) #() {{ _, True }} }} -∗ Φ (f1,f2)%V) WP f2 #() {{ g, WP (of_val g) #() {{ _, True }} }} -∗ Φ (f1,f2)%V)
(* FIXME: Once we depend on Coq 8.13, make WP notation use [v closed binder] (* FIXME: Once we depend on Coq 8.13, make WP notation use [v closed binder]
so that we can add a type annotation at the [g] binder here. *) so that we can add a type annotation at the [g] binder here. *)
WP one_shot_example #() {{ Φ }}. WP one_shot_example #() {{ Φ }}.
......
...@@ -60,7 +60,7 @@ Qed. ...@@ -60,7 +60,7 @@ Qed.
Lemma wp_one_shot (Φ : val iProp Σ) : Lemma wp_one_shot (Φ : val iProp Σ) :
( (f1 f2 : val) (T : iProp Σ), T ( (f1 f2 : val) (T : iProp Σ), T
( n : Z, T -∗ WP f1 #n {{ w, True }}) ( n : Z, T -∗ WP f1 #n {{ w, True }})
WP f2 #() {{ g, WP (g : val) #() {{ _, True }} }} -∗ Φ (f1,f2)%V) WP f2 #() {{ g, WP (of_val g) #() {{ _, True }} }} -∗ Φ (f1,f2)%V)
(* FIXME: Once we depend on Coq 8.13, make WP notation use [v closed binder] (* FIXME: Once we depend on Coq 8.13, make WP notation use [v closed binder]
so that we can add a type annotation at the [g] binder here. *) so that we can add a type annotation at the [g] binder here. *)
WP one_shot_example #() {{ Φ }}. WP one_shot_example #() {{ Φ }}.
......
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