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
Dmitry Khalanskiy
Iris
Commits
a71965c4
Commit
a71965c4
authored
Aug 24, 2017
by
Robbert Krebbers
Browse files
Fix issue #95.
parent
baa7a380
Changes
3
Hide whitespace changes
Inline
Side-by-side
theories/proofmode/coq_tactics.v
View file @
a71965c4
...
...
@@ -492,12 +492,15 @@ Qed.
(** * Implication and wand *)
Lemma
tac_impl_intro
Δ
Δ
'
i
P
Q
:
env_spatial_is_nil
Δ
=
true
→
(
if
env_spatial_is_nil
Δ
then
Unit
else
PersistentP
P
)
→
envs_app
false
(
Esnoc
Enil
i
P
)
Δ
=
Some
Δ
'
→
(
Δ
'
⊢
Q
)
→
Δ
⊢
P
→
Q
.
Proof
.
intros
??
HQ
.
rewrite
(
persistentP
Δ
)
envs_app_sound
//
;
simpl
.
by
rewrite
right_id
always_wand_impl
always_elim
HQ
.
intros
??
<-.
destruct
(
env_spatial_is_nil
Δ
)
eqn
:
?.
-
rewrite
(
persistentP
Δ
)
envs_app_sound
//
;
simpl
.
by
rewrite
right_id
always_wand_impl
always_elim
.
-
apply
impl_intro_l
.
rewrite
envs_app_sound
//
;
simpl
.
by
rewrite
always_and_sep_l
right_id
wand_elim_r
.
Qed
.
Lemma
tac_impl_intro_persistent
Δ
Δ
'
i
P
P'
Q
:
IntoPersistentP
P
P'
→
...
...
theories/proofmode/tactics.v
View file @
a71965c4
...
...
@@ -299,8 +299,10 @@ Local Tactic Notation "iIntro" constr(H) :=
first
[
(* (?Q → _) *)
eapply
tac_impl_intro
with
_
H
;
(* (i:=H) *)
[
reflexivity
||
fail
1
"iIntro: introducing"
H
"into non-empty spatial context"
[
env_cbv
;
apply
_
||
let
P
:
=
lazymatch
goal
with
|-
PersistentP
?P
=>
P
end
in
fail
1
"iIntro: introducing non-persistent"
H
":"
P
"into non-empty spatial context"
|
env_reflexivity
||
fail
"iIntro:"
H
"not fresh"
|]
|
(* (_ -∗ _) *)
...
...
theories/tests/proofmode.v
View file @
a71965c4
...
...
@@ -77,6 +77,9 @@ Proof.
done
.
Qed
.
Lemma
test_iIntros_persistent
P
Q
`
{!
PersistentP
Q
}
:
(
P
→
Q
→
P
∗
Q
)%
I
.
Proof
.
iIntros
"H1 H2"
.
by
iFrame
.
Qed
.
Lemma
test_fast_iIntros
P
Q
:
(
∀
x
y
z
:
nat
,
⌜
x
=
plus
0
x
⌝
→
⌜
y
=
0
⌝
→
⌜
z
=
0
⌝
→
P
→
□
Q
→
foo
(
x
≡
x
))%
I
.
...
...
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