Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
786d5486
Commit
786d5486
authored
Feb 22, 2018
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace `iNext` by `iModIntro`.
parent
8db4eba0
Changes
3
Hide whitespace changes
Inline
Sidebyside
Showing
3 changed files
with
8 additions
and
28 deletions
+8
28
theories/proofmode/class_instances.v
theories/proofmode/class_instances.v
+5
4
theories/proofmode/coq_tactics.v
theories/proofmode/coq_tactics.v
+2
8
theories/proofmode/tactics.v
theories/proofmode/tactics.v
+1
16
No files found.
theories/proofmode/class_instances.v
View file @
786d5486
...
...
@@ 1458,10 +1458,11 @@ Global Instance is_except_0_fupd `{FUpdFacts PROP} E1 E2 P :
Proof
.
by
rewrite
/
IsExcept0
except_0_fupd
.
Qed
.
(* FromModal *)
Global
Instance
from_modal_later
P
:
FromModal
(
modality_laterN
1
)
(
▷
P
)
P
.
Proof
.
by
rewrite
/
FromModal
.
Qed
.
Global
Instance
from_modal_laterN
n
P
:
FromModal
(
modality_laterN
n
)
(
▷
^
n
P
)
P
.
Proof
.
by
rewrite
/
FromModal
.
Qed
.
Global
Instance
from_modal_later
n
P
Q
:
NoBackTrack
(
FromLaterN
n
P
Q
)
→
TCIf
(
TCEq
n
0
)
False
TCTrue
→
FromModal
(
modality_laterN
n
)
P
Q

100
.
Proof
.
rewrite
/
FromLaterN
/
FromModal
.
by
intros
[?]
[
_
[]?].
Qed
.
Global
Instance
from_modal_except_0
P
:
FromModal
modality_except_0
(
◇
P
)
P
.
Proof
.
by
rewrite
/
FromModal
.
Qed
.
...
...
theories/proofmode/coq_tactics.v
View file @
786d5486
...
...
@@ 1250,6 +1250,8 @@ Proof.
Qed
.
(** * Later *)
(** Although the `iNext` tactic no longer exists, much of its infrastructure is
still used by other tactics, e.g. the symbolic execution tactics. *)
Class
MaybeIntoLaterNEnv
(
n
:
nat
)
(
Γ
1
Γ
2
:
env
PROP
)
:
=
into_laterN_env
:
env_Forall2
(
MaybeIntoLaterN
false
n
)
Γ
1
Γ
2
.
Class
MaybeIntoLaterNEnvs
(
n
:
nat
)
(
Δ
1
Δ
2
:
envs
PROP
)
:
=
{
...
...
@@ 1282,14 +1284,6 @@ Proof.

induction
Hs
;
rewrite
/=
?laterN_sep
.
apply
laterN_intro
.
by
apply
sep_mono
.
Qed
.
Lemma
tac_next
Δ
Δ
'
n
Q
Q'
:
FromLaterN
n
Q
Q'
→
MaybeIntoLaterNEnvs
n
Δ
Δ
'
→
envs_entails
Δ
'
Q'
→
envs_entails
Δ
Q
.
Proof
.
rewrite
envs_entails_eq
=>
??
HQ
.
by
rewrite
(
from_laterN
n
Q
)
into_laterN_env_sound
HQ
.
Qed
.
Lemma
tac_l
ö
b
Δ
Δ
'
i
Q
:
env_spatial_is_nil
Δ
=
true
→
envs_app
true
(
Esnoc
Enil
i
(
▷
Q
)%
I
)
Δ
=
Some
Δ
'
→
...
...
theories/proofmode/tactics.v
View file @
786d5486
...
...
@@ 989,22 +989,7 @@ Tactic Notation "iModIntro":=
Tactic
Notation
"iAlways"
:
=
iModIntro
.
(** * Later *)
Tactic
Notation
"iNext"
open_constr
(
n
)
:
=
iStartProof
;
let
P
:
=
match
goal
with

envs_entails
_
?P
=>
P
end
in
try
lazymatch
n
with
0
=>
fail
1
"iNext: cannot strip 0 laters"
end
;
(* apply is sometimes confused wrt. canonical structures search.
refine should use the other unification algorithm, which should
not have this issue. *)
notypeclasses
refine
(
tac_next
_
_
n
_
_
_
_
_
)
;
[
apply
_

fail
"iNext:"
P
"does not contain"
n
"laters"

lazymatch
goal
with


MaybeIntoLaterNEnvs
0
_
_
=>
fail
"iNext:"
P
"does not contain laters"

_
=>
apply
_
end

lazy
beta
(* remove beta redexes caused by removing laters under binders*)
].
Tactic
Notation
"iNext"
:
=
iNext
_
.
Tactic
Notation
"iNext"
:
=
iAlways
.
(** * Update modality *)
Tactic
Notation
"iModCore"
constr
(
H
)
:
=
...
...
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