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
Joshua Yanovski
iris-coq
Commits
3845293e
Commit
3845293e
authored
Apr 19, 2016
by
Ralf Jung
Browse files
proof tuning
parent
0e4b3598
Changes
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
.
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