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
Rodolphe Lepigre
Iris
Commits
af9bfce4
Commit
af9bfce4
authored
Nov 29, 2017
by
Robbert Krebbers
Browse files
Factorize `wp_simpl_subst` and `wp_simpl`.
parent
228f3a2e
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/heap_lang/proofmode.v
View file @
af9bfce4
...
...
@@ -5,24 +5,17 @@ From iris.heap_lang Require Export tactics lifting.
Set
Default
Proof
Using
"Type"
.
Import
uPred
.
Ltac
wp_simpl
:
=
try
iStartProof
;
try
lazymatch
goal
with
|
|-
envs_entails
?
Δ
(
wp
?E
?e
?Q
)
=>
let
e'
:
=
eval
simpl
in
e
in
change
(
envs_entails
Δ
(
wp
E
e'
Q
))
end
.
Lemma
tac_wp_simpl_subst
`
{
heapG
Σ
}
Δ
E
Φ
e
e'
:
Lemma
tac_wp_simpl
`
{
heapG
Σ
}
Δ
E
Φ
e
e'
:
e
=
e'
→
envs_entails
Δ
(
WP
e'
@
E
{{
Φ
}})
→
envs_entails
Δ
(
WP
e
@
E
{{
Φ
}}).
Proof
.
by
intros
->.
Qed
.
Ltac
wp_
simpl_subs
t
:
=
Ltac
wp_
eval
t
:
=
try
iStartProof
;
try
lazymatch
goal
with
|
|-
envs_entails
?
Δ
(
wp
?E
?e
?Q
)
=>
eapply
tac
_
wp_simpl
_subst
;
[
simpl_subst
;
reflexivity
|]
end
.
try
(
eapply
tac_wp_simpl
;
[
t
;
reflexivity
|]).
L
tac
wp_simpl
:
=
wp_eval
simpl
.
Ltac
wp_simpl_subst
:
=
wp_eval
simpl_subst
.
Lemma
tac_wp_pure
`
{
heapG
Σ
}
Δ
Δ
'
E
e1
e2
φ
Φ
:
PureExec
φ
e1
e2
→
...
...
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