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
Dan Frumin
iris-coq
Commits
f6ad3a33
Commit
f6ad3a33
authored
Feb 16, 2016
by
Robbert Krebbers
Browse files
Use > for wp_tactics that do not strip later.
parent
0a44697a
Changes
2
Hide whitespace changes
Inline
Side-by-side
heap_lang/tests.v
View file @
f6ad3a33
...
...
@@ -62,7 +62,7 @@ Section LiftingTests.
revert
n1
;
apply
l
ö
b_all_1
=>
n1
.
rewrite
(
comm
uPred_and
(
■
_
)
%
I
)
assoc
;
apply
const_elim_r
=>?
.
(
*
first
need
to
do
the
rec
to
get
a
later
*
)
wp_rec
!
.
wp_rec
>
.
(
*
FIXME
:
ssr
rewrite
fails
with
"Error: _pattern_value_ is used in conclusion."
*
)
rewrite
->
(
later_intro
(
Q
_
));
rewrite
-!
later_and
;
apply
later_mono
.
wp_rec
.
wp_bin_op
.
wp_rec
.
wp_bin_op
=>
?
.
...
...
@@ -74,7 +74,7 @@ Section LiftingTests.
Lemma
Pred_spec
n
E
Q
:
▷
Q
(
LitV
(
n
-
1
))
⊑
wp
E
(
Pred
'
n
)
%
L
Q
.
Proof
.
wp_rec
!
;
apply
later_mono
;
wp_bin_op
=>
?
.
wp_rec
>
;
apply
later_mono
;
wp_bin_op
=>
?
.
-
wp_if
.
wp_un_op
.
wp_bin_op
.
wp_focus
(
FindPred
_
_
);
rewrite
-
FindPred_spec
.
apply
and_intro
;
first
auto
with
I
omega
.
...
...
heap_lang/wp_tactics.v
View file @
f6ad3a33
...
...
@@ -24,7 +24,7 @@ Tactic Notation "wp_value" :=
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
etransitivity
;
[
|
eapply
wp_value
;
reflexivity
];
simpl
end
.
Tactic
Notation
"wp_rec"
"
!
"
:=
Tactic
Notation
"wp_rec"
"
>
"
:=
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
reshape_expr
e
ltac
:
(
fun
K
e
'
=>
match
eval
cbv
in
e
'
with
...
...
@@ -32,8 +32,8 @@ Tactic Notation "wp_rec" "!" :=
wp_bind
K
;
etransitivity
;
[
|
eapply
wp_rec
;
reflexivity
];
wp_finish
end
)
end
.
Tactic
Notation
"wp_rec"
:=
wp_rec
!
;
wp_strip_later
.
Tactic
Notation
"wp_bin_op"
"
!
"
:=
Tactic
Notation
"wp_rec"
:=
wp_rec
>
;
wp_strip_later
.
Tactic
Notation
"wp_bin_op"
"
>
"
:=
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
reshape_expr
e
ltac
:
(
fun
K
e
'
=>
match
eval
cbv
in
e
'
with
...
...
@@ -45,8 +45,8 @@ Tactic Notation "wp_bin_op" "!" :=
end
)
end
.
Tactic
Notation
"wp_bin_op"
:=
wp_bin_op
!
;
wp_strip_later
.
Tactic
Notation
"wp_un_op"
"
!
"
:=
Tactic
Notation
"wp_bin_op"
:=
wp_bin_op
>
;
wp_strip_later
.
Tactic
Notation
"wp_un_op"
"
>
"
:=
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
reshape_expr
e
ltac
:
(
fun
K
e
'
=>
match
eval
cbv
in
e
'
with
...
...
@@ -54,8 +54,8 @@ Tactic Notation "wp_un_op" "!" :=
wp_bind
K
;
etransitivity
;
[
|
eapply
wp_un_op
;
reflexivity
];
wp_finish
end
)
end
.
Tactic
Notation
"wp_un_op"
:=
wp_un_op
!
;
wp_strip_later
.
Tactic
Notation
"wp_if"
"
!
"
:=
Tactic
Notation
"wp_un_op"
:=
wp_un_op
>
;
wp_strip_later
.
Tactic
Notation
"wp_if"
"
>
"
:=
try
wp_value
;
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
reshape_expr
e
ltac
:
(
fun
K
e
'
=>
...
...
@@ -65,7 +65,7 @@ Tactic Notation "wp_if" "!" :=
etransitivity
;
[
|
apply
wp_if_true
||
apply
wp_if_false
];
wp_finish
end
)
end
.
Tactic
Notation
"wp_if"
:=
wp_if
!
;
wp_strip_later
.
Tactic
Notation
"wp_if"
:=
wp_if
>
;
wp_strip_later
.
Tactic
Notation
"wp_focus"
open_constr
(
efoc
)
:=
match
goal
with
|
|-
_
⊑
wp
?
E
?
e
?
Q
=>
reshape_expr
e
ltac
:
(
fun
K
e
'
=>
...
...
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