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
Joshua Yanovski
iris-coq
Commits
d8f499d5
Commit
d8f499d5
authored
Apr 19, 2016
by
Robbert Krebbers
Browse files
Overload ⊥ in uPred_scope.
parent
6da6e6b1
Changes
3
Hide whitespace changes
Inline
Side-by-side
algebra/upred.v
View file @
d8f499d5
...
...
@@ -276,6 +276,7 @@ Notation "(⊣⊢)" := (equiv (A:=uPred _)) (only parsing) : C_scope.
Notation
"■ φ"
:=
(
uPred_const
φ
%
C
%
type
)
(
at
level
20
,
right
associativity
)
:
uPred_scope
.
Notation
"x = y"
:=
(
uPred_const
(
x
%
C
%
type
=
y
%
C
%
type
))
:
uPred_scope
.
Notation
"x ⊥ y"
:=
(
uPred_const
(
x
%
C
%
type
⊥
y
%
C
%
type
))
:
uPred_scope
.
Notation
"'False'"
:=
(
uPred_const
False
)
:
uPred_scope
.
Notation
"'True'"
:=
(
uPred_const
True
)
:
uPred_scope
.
Infix
"∧"
:=
uPred_and
:
uPred_scope
.
...
...
heap_lang/lib/lock.v
View file @
d8f499d5
...
...
@@ -24,10 +24,10 @@ Definition lock_inv (γ : gname) (l : loc) (R : iProp) : iProp :=
(
∃
b
:
bool
,
l
↦
#
b
★
if
b
then
True
else
own
γ
(
Excl
())
★
R
)
%
I
.
Definition
is_lock
(
l
:
loc
)
(
R
:
iProp
)
:
iProp
:=
(
∃
N
γ
,
■
(
heapN
⊥
N
)
∧
heap_ctx
heapN
∧
inv
N
(
lock_inv
γ
l
R
))
%
I
.
(
∃
N
γ
,
heapN
⊥
N
∧
heap_ctx
heapN
∧
inv
N
(
lock_inv
γ
l
R
))
%
I
.
Definition
locked
(
l
:
loc
)
(
R
:
iProp
)
:
iProp
:=
(
∃
N
γ
,
■
(
heapN
⊥
N
)
∧
heap_ctx
heapN
∧
(
∃
N
γ
,
heapN
⊥
N
∧
heap_ctx
heapN
∧
inv
N
(
lock_inv
γ
l
R
)
∧
own
γ
(
Excl
()))
%
I
.
Global
Instance
lock_inv_ne
n
γ
l
:
Proper
(
dist
n
==>
dist
n
)
(
lock_inv
γ
l
).
...
...
heap_lang/lib/spawn.v
View file @
d8f499d5
...
...
@@ -37,8 +37,8 @@ Definition spawn_inv (γ : gname) (l : loc) (Ψ : val → iProp) : iProp :=
∃
v
,
lv
=
InjRV
v
★
(
Ψ
v
∨
own
γ
(
Excl
()))))
%
I
.
Definition
join_handle
(
l
:
loc
)
(
Ψ
:
val
→
iProp
)
:
iProp
:=
(
■
(
heapN
⊥
N
)
★
∃
γ
,
heap_ctx
heapN
★
own
γ
(
Excl
())
★
inv
N
(
spawn_inv
γ
l
Ψ
))
%
I
.
(
heapN
⊥
N
★
∃
γ
,
heap_ctx
heapN
★
own
γ
(
Excl
())
★
inv
N
(
spawn_inv
γ
l
Ψ
))
%
I
.
Typeclasses
Opaque
join_handle
.
...
...
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