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
Tej Chajed
iris
Commits
b90854c7
Commit
b90854c7
authored
Feb 15, 2016
by
Robbert Krebbers
Browse files
Generalize wp_fork to have an arbitrary post-condition.
parent
ae64fb70
Changes
2
Hide whitespace changes
Inline
Side-by-side
heap_lang/derived.v
View file @
b90854c7
...
...
@@ -30,7 +30,7 @@ Proof.
by
rewrite
-
wp_let'
//=
?to_of_val
?subst_empty
.
Qed
.
Lemma
wp_skip
E
Q
:
▷
(
Q
(
LitV
LitUnit
))
⊑
wp
E
Skip
Q
.
Lemma
wp_skip
E
Q
:
▷
(
Q
(
LitV
LitUnit
))
⊑
wp
E
Skip
Q
.
Proof
.
rewrite
-
wp_seq
-
wp_value
//
-
wp_value
//.
Qed
.
Lemma
wp_le
E
(
n1
n2
:
Z
)
P
Q
:
...
...
heap_lang/lifting.v
View file @
b90854c7
...
...
@@ -76,13 +76,12 @@ Proof.
Qed
.
(** Base axioms for core primitives of the language: Stateless reductions *)
Lemma
wp_fork
E
e
:
▷
wp
(
Σ
:
=
Σ
)
coPset_all
e
(
λ
_
,
True
)
⊑
wp
E
(
Fork
e
)
(
λ
v
,
v
=
LitV
LitUnit
)
.
Lemma
wp_fork
E
e
Q
:
(
▷
Q
(
LitV
LitUnit
)
★
▷
wp
(
Σ
:
=
Σ
)
coPset_all
e
(
λ
_
,
True
)
)
⊑
wp
E
(
Fork
e
)
Q
.
Proof
.
rewrite
-(
wp_lift_pure_det_step
(
Fork
e
)
(
Lit
LitUnit
)
(
Some
e
))
//=
;
last
by
intros
;
inv_step
;
eauto
.
apply
later_mono
,
sep_intro_True_l
;
last
done
.
by
rewrite
-(
wp_value
_
_
(
Lit
_
))
//
;
apply
const_intro
.
rewrite
later_sep
-(
wp_value
_
_
(
Lit
_
))
//.
Qed
.
(* For the lemmas involving substitution, we only derive a preliminary version.
...
...
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