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
George Pirlea
Iris
Commits
92d5d562
Commit
92d5d562
authored
Mar 05, 2016
by
Ralf Jung
Browse files
define parallel composition and state its spec
parent
66a6ce6c
Changes
2
Hide whitespace changes
Inline
Side-by-side
_CoqProject
View file @
92d5d562
...
...
@@ -82,6 +82,7 @@ heap_lang/derived.v
heap_lang/heap.v
heap_lang/notation.v
heap_lang/spawn.v
heap_lang/par.v
heap_lang/tests.v
heap_lang/substitution.v
barrier/barrier.v
...
...
heap_lang/par.v
0 → 100644
View file @
92d5d562
From
heap_lang
Require
Export
heap
.
From
heap_lang
Require
Import
spawn
notation
.
Definition
par
:
val
:
=
λ
:
"f1"
"f2"
,
let
:
"handle"
:
=
^
spawn
'
"f1"
in
let
:
"v2"
:
=
'
"f2"
#()
in
let
:
"v1"
:
=
^
join
'
"handle"
in
Pair
'
"v1"
'
"v2"
.
Notation
Par
e1
e2
:
=
(^
par
(
λ
:
<>,
e1
)%
V
(
λ
:
<>,
e2
)%
V
)%
E
.
Section
proof
.
Context
{
Σ
:
rFunctorG
}
`
{!
heapG
Σ
,
!
spawnG
Σ
}.
Context
(
heapN
N
:
namespace
).
Local
Notation
iProp
:
=
(
iPropG
heap_lang
Σ
).
Lemma
par_spec
(
Ψ
1
Ψ
2
:
val
→
iProp
)
(
f1
f2
:
val
)
(
Φ
:
val
→
iProp
)
:
(#>
f1
#()
{{
Ψ
1
}}
★
#>
f2
#()
{{
Ψ
2
}}
★
∀
v1
v2
,
Ψ
1
v1
★
Ψ
2
v2
-
★
Φ
(
PairV
v1
v2
))
⊑
#>
par
f1
f2
{{
Φ
}}.
Proof
.
Abort
.
End
proof
.
\ No newline at end of file
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