Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Tej Chajed
iris
Commits
c305d664
Commit
c305d664
authored
Feb 22, 2016
by
Robbert Krebbers
Browse files
Merge branch 'master' of gitlab.mpi-sws.org:FP/iris-coq
parents
afa8efc2
e7f21fde
Changes
2
Hide whitespace changes
Inline
Side-by-side
_CoqProject
View file @
c305d664
...
...
@@ -81,3 +81,4 @@ heap_lang/notation.v
heap_lang/tests.v
heap_lang/substitution.v
barrier/barrier.v
barrier/client.v
barrier/client.v
0 → 100644
View file @
c305d664
From
barrier
Require
Import
barrier
.
(* FIXME This needs to be imported even though barrier exports it *)
From
heap_lang
Require
Import
notation
.
Import
uPred
.
Definition
client
:
=
(
let
:
"b"
:
=
newchan
'
()
in
wait
"b"
)%
L
.
Section
client
.
Context
{
Σ
:
iFunctorG
}
(
N
:
namespace
).
Context
`
{
heapG
Σ
}
(
heapN
:
namespace
).
Context
`
{
stsG
heap_lang
Σ
barrier_proto
.
sts
}.
Context
`
{
savedPropG
heap_lang
Σ
}.
Local
Notation
iProp
:
=
(
iPropG
heap_lang
Σ
).
Lemma
client_safe
:
heapN
⊥
N
→
heap_ctx
heapN
⊑
||
client
{{
λ
_
,
True
}}.
Proof
.
intros
?.
rewrite
/
client
.
(* FIXME: wp (eapply newchan_spec with (P:=True%I)). *)
wp_focus
(
newchan
_
).
rewrite
-(
newchan_spec
N
heapN
True
%
I
)
//.
apply
sep_intro_True_r
;
first
done
.
apply
forall_intro
=>
l
.
apply
wand_intro_l
.
rewrite
right_id
.
wp_let
.
etrans
;
last
eapply
wait_spec
.
apply
sep_mono_r
.
apply
wand_intro_r
.
eauto
.
Qed
.
End
client
.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment