Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
FP
irisatomic
Commits
b9c66be3
Commit
b9c66be3
authored
Sep 12, 2016
by
Zhen Zhang
Browse files
stronger empty casE
parent
445187e9
Changes
1
Hide whitespace changes
Inline
Sidebyside
Showing
1 changed file
with
7 additions
and
4 deletions
+7
4
treiber_stack.v
treiber_stack.v
+7
4
No files found.
treiber_stack.v
View file @
b9c66be3
...
...
@@ 87,7 +87,8 @@ Section proof.
Definition
pop_triple
(
s
:
loc
)
:=
atomic_triple
(
fun
xs
=>
is_stack
s
xs
)
%
I
(
fun
xs
ret
=>
ret
=
NONEV
∨
(
∃
x
,
ret
=
SOMEV
x
★
□
R
x
))
%
I
(
*
FIXME
:
we
can
give
a
stronger
one
*
)
(
fun
xs
ret
=>
(
ret
=
NONEV
∧
xs
=
[]
∧
is_stack
s
[])
∨
(
∃
x
,
ret
=
SOMEV
x
★
□
R
x
))
%
I
(
*
FIXME
:
we
can
give
a
stronger
one
*
)
(
nclose
heapN
)
⊤
(
pop
#
s
).
...
...
@@ 104,9 +105,11 @@ Section proof.
destruct
xs
as
[

y
'
xs
'
].

simpl
.
iDestruct
"Hxs"
as
(
hd
)
"[Hs Hhd]"
.
wp_load
.
iDestruct
"Hvs'"
as
"[_ Hvs']"
.
iVs
(
"Hvs'"
$
!
NONEV
with
"[]"
)
as
"HQ"
;
first
by
iLeft
.
iVsIntro
.
wp_let
.
iDestruct
"Hhd"
as
(
q
)
"Hhd"
.
wp_load
.
wp_match
.
iDestruct
"Hhd"
as
(
q
)
"[Hhd Hhd']"
.
iVs
(
"Hvs'"
$
!
NONEV
with
"[Hhd]"
)
as
"HQ"
.
{
iLeft
.
iSplit
=>
//. iSplit=>//.
iExists
hd
.
iFrame
.
rewrite
/
is_stack
'
.
eauto
.
}
iVsIntro
.
wp_let
.
wp_load
.
wp_match
.
iVsIntro
.
by
iExists
[].

simpl
.
iDestruct
"Hxs"
as
(
hd
)
"[Hs Hhd]"
.
simpl
.
iDestruct
"Hhd"
as
(
hd
'
q
)
"([Hhd Hhd'] & #Hy' & Hxs')"
.
...
...
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