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
Jonas Kastberg
iris
Commits
bc843b94
Commit
bc843b94
authored
Sep 05, 2016
by
Jacques-Henri Jourdan
Browse files
Viewshifts that take a step.
parent
09ad47b4
Changes
2
Hide whitespace changes
Inline
Side-by-side
program_logic/pviewshifts.v
View file @
bc843b94
...
...
@@ -31,6 +31,10 @@ Notation "P ={ E }=★ Q" := (P -★ |={E}=> Q)%I
Notation
"P ={ E }=> Q"
:
=
(
P
⊢
|={
E
}=>
Q
)
(
at
level
99
,
E
at
level
50
,
Q
at
level
200
,
only
parsing
)
:
C_scope
.
Notation
"|={ E1 , E2 }▷=> Q"
:
=
(|={
E1
%
I
,
E2
%
I
}=>
▷
|={
E2
,
E1
}=>
Q
)%
I
(
at
level
99
,
E1
,
E2
at
level
50
,
Q
at
level
200
,
format
"|={ E1 , E2 }▷=> Q"
)
:
uPred_scope
.
Section
pvs
.
Context
`
{
irisG
Λ
Σ
}.
Implicit
Types
P
Q
:
iProp
Σ
.
...
...
program_logic/weakestpre.v
View file @
bc843b94
...
...
@@ -134,7 +134,7 @@ Qed.
Lemma
wp_frame_step_l
E1
E2
e
Φ
R
:
to_val
e
=
None
→
E2
⊆
E1
→
(|={
E1
,
E2
}
=>
▷
|={
E2
,
E1
}
=>
R
)
★
WP
e
@
E2
{{
Φ
}}
⊢
WP
e
@
E1
{{
v
,
R
★
Φ
v
}}.
(|={
E1
,
E2
}
▷
=>
R
)
★
WP
e
@
E2
{{
Φ
}}
⊢
WP
e
@
E1
{{
v
,
R
★
Φ
v
}}.
Proof
.
rewrite
!
wp_unfold
/
wp_pre
.
iIntros
(??)
"[HR [Hv|[_ H]]]"
.
{
iDestruct
"Hv"
as
(
v
)
"[% Hv]"
;
simplify_eq
.
}
...
...
@@ -189,7 +189,7 @@ Proof. iIntros "[??]". iApply (wp_strong_mono E E _ Φ); try iFrame; eauto. Qed.
Lemma
wp_frame_step_r
E1
E2
e
Φ
R
:
to_val
e
=
None
→
E2
⊆
E1
→
WP
e
@
E2
{{
Φ
}}
★
(|={
E1
,
E2
}
=>
▷
|={
E2
,
E1
}
=>
R
)
⊢
WP
e
@
E1
{{
v
,
Φ
v
★
R
}}.
WP
e
@
E2
{{
Φ
}}
★
(|={
E1
,
E2
}
▷
=>
R
)
⊢
WP
e
@
E1
{{
v
,
Φ
v
★
R
}}.
Proof
.
rewrite
[(
WP
_
@
_
{{
_
}}
★
_
)%
I
]
comm
;
setoid_rewrite
(
comm
_
_
R
).
apply
wp_frame_step_l
.
...
...
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