Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Jonas Kastberg
iris
Commits
dabe846c
Commit
dabe846c
authored
Mar 01, 2016
by
Robbert Krebbers
Browse files
Load should bind more strongly than app.
parent
448a8b62
Changes
2
Hide whitespace changes
Inline
Side-by-side
barrier/client.v
View file @
dabe846c
...
...
@@ -2,10 +2,13 @@ From barrier Require Import proof.
From
program_logic
Require
Import
auth
sts
saved_prop
hoare
ownership
.
Import
uPred
.
Definition
worker
(
n
:
Z
)
:
=
(
λ
:
"b"
"y"
,
wait
"b"
;;
(!
"y"
)
'
n
)%
L
.
Definition
client
:
=
(
let
:
"y"
:
=
ref
'
0
in
let
:
"b"
:
=
newbarrier
'
()
in
Fork
(
Fork
(
worker
12
"b"
"y"
)
;;
worker
17
"b"
"y"
)
;;
"y"
<-
(
λ
:
"z"
,
"z"
+
'
42
)
;;
signal
"b"
)%
L
.
Definition
worker
(
n
:
Z
)
:
val
:
=
λ
:
"b"
"y"
,
wait
"b"
;;
!
"y"
'
n
.
Definition
client
:
expr
:
=
let
:
"y"
:
=
ref
'
0
in
let
:
"b"
:
=
newbarrier
'
()
in
Fork
(
Fork
(
worker
12
"b"
"y"
)
;;
worker
17
"b"
"y"
)
;;
"y"
<-
(
λ
:
"z"
,
"z"
+
'
42
)
;;
signal
"b"
.
Section
client
.
Context
{
Σ
:
iFunctorG
}
`
{!
heapG
Σ
,
!
barrierG
Σ
}
(
heapN
N
:
namespace
).
...
...
heap_lang/notation.v
View file @
dabe846c
...
...
@@ -24,14 +24,14 @@ Coercion of_val : val >-> expr.
are not put in any scope so as to avoid lots of annoying %L scopes while
pretty printing. *)
Notation
"( e1 , e2 , .. , en )"
:
=
(
Pair
..
(
Pair
e1
e2
)
..
en
)
:
lang_scope
.
Notation
"' l"
:
=
(
Lit
l
%
Z
)
(
at
level
8
,
format
"' l"
).
Notation
"'match:' e0 'with' 'InjL' x1 => e1 | 'InjR' x2 => e2 'end'"
:
=
(
Case
e0
x1
e1
x2
e2
)
(
e0
,
x1
,
e1
,
x2
,
e2
at
level
200
)
:
lang_scope
.
Notation
"' l"
:
=
(
Lit
l
%
Z
)
(
at
level
8
,
format
"' l"
).
Notation
"' l"
:
=
(
LitV
l
%
Z
)
(
at
level
8
,
format
"' l"
).
Notation
"'()"
:
=
(
Lit
LitUnit
)
(
at
level
0
).
Notation
"'()"
:
=
(
LitV
LitUnit
)
(
at
level
0
).
Notation
"! e"
:
=
(
Load
e
%
L
)
(
at
level
10
,
right
associativity
)
:
lang_scope
.
Notation
"! e"
:
=
(
Load
e
%
L
)
(
at
level
9
,
right
associativity
)
:
lang_scope
.
Notation
"'ref' e"
:
=
(
Alloc
e
%
L
)
(
at
level
30
,
right
associativity
)
:
lang_scope
.
Notation
"- e"
:
=
(
UnOp
MinusUnOp
e
%
L
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a 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