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
Iris
Iris
Commits
3845293e
Commit
3845293e
authored
Apr 19, 2016
by
Ralf Jung
Browse files
proof tuning
parent
0e4b3598
Pipeline
#492
failed with stage
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
heap_lang/lifting.v
View file @
3845293e
...
...
@@ -28,13 +28,13 @@ Lemma wp_alloc_pst E σ e v Φ :
(
▷
ownP
σ
★
▷
(
∀
l
,
σ
!!
l
=
None
∧
ownP
(<[
l
:
=
v
]>
σ
)
-
★
Φ
(
LocV
l
)))
⊢
WP
Alloc
e
@
E
{{
Φ
}}.
Proof
.
iIntros
{?}
"[HP HΦ]"
.
(* TODO: This works around ssreflect bug #22. *)
intros
.
set
(
φ
(
e'
:
expr
[])
σ
'
ef
:
=
∃
l
,
set
(
φ
(
e'
:
expr
[])
σ
'
ef
:
=
∃
l
,
ef
=
None
∧
e'
=
Loc
l
∧
σ
'
=
<[
l
:
=
v
]>
σ
∧
σ
!!
l
=
None
).
rewrite
-(
wp_lift_atomic_head_step
(
Alloc
e
)
φ
σ
)
//
/
φ
;
last
(
by
intros
;
inv_head_step
;
eauto
8
)
;
last
(
by
simpl
;
eauto
).
iIntros
"[HP HΦ]"
.
iFrame
"HP"
.
iNext
.
iIntros
{
v2
σ
2
ef
}
"[% HP]"
.
iApply
(
wp_lift_atomic_head_step
(
Alloc
e
)
φ
σ
)
;
try
(
by
simpl
;
eauto
)
;
[
by
intros
;
subst
φ
;
inv_head_step
;
eauto
8
|].
iFrame
"HP"
.
iNext
.
iIntros
{
v2
σ
2
ef
}
"[% HP]"
.
(* FIXME: I should not have to refer to "H0". *)
destruct
H0
as
(
l
&
->
&
[=
<-]%
of_to_val_flip
&
->
&
?)
;
simpl
.
iSplit
;
last
done
.
iApply
"HΦ"
;
by
iSplit
.
...
...
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