Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iris-coq
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jeehoon Kang
iris-coq
Commits
8b23578e
Commit
8b23578e
authored
Mar 15, 2017
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Later stripping under more connectives. This fixes issue #77.
parent
cd93b485
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
1 deletion
+15
-1
theories/proofmode/class_instances.v
theories/proofmode/class_instances.v
+13
-0
theories/proofmode/tactics.v
theories/proofmode/tactics.v
+2
-1
No files found.
theories/proofmode/class_instances.v
View file @
8b23578e
...
...
@@ -235,6 +235,18 @@ Global Instance from_later_sep n P1 P2 Q1 Q2 :
FromLaterN
n
P1
Q1
→
FromLaterN
n
P2
Q2
→
FromLaterN
n
(
P1
∗
P2
)
(
Q1
∗
Q2
).
Proof
.
intros
??
;
red
.
by
rewrite
laterN_sep
;
apply
sep_mono
.
Qed
.
Global
Instance
from_later_always
n
P
Q
:
FromLaterN
n
P
Q
→
FromLaterN
n
(
□
P
)
(
□
Q
).
Proof
.
by
rewrite
/
FromLaterN
-
always_laterN
=>
->
.
Qed
.
Global
Instance
from_later_forall
{
A
}
n
(
Φ
Ψ
:
A
→
uPred
M
)
:
(
∀
x
,
FromLaterN
n
(
Φ
x
)
(
Ψ
x
))
→
FromLaterN
n
(
∀
x
,
Φ
x
)
(
∀
x
,
Ψ
x
).
Proof
.
rewrite
/
FromLaterN
laterN_forall
=>
?
.
by
apply
forall_mono
.
Qed
.
Global
Instance
from_later_exist
{
A
}
n
(
Φ
Ψ
:
A
→
uPred
M
)
:
Inhabited
A
→
(
∀
x
,
FromLaterN
n
(
Φ
x
)
(
Ψ
x
))
→
FromLaterN
n
(
∃
x
,
Φ
x
)
(
∃
x
,
Ψ
x
).
Proof
.
intros
?
.
rewrite
/
FromLaterN
laterN_exist
=>
?
.
by
apply
exist_mono
.
Qed
.
(
*
IntoWand
*
)
Global
Instance
wand_weaken_exact
P
Q
:
WandWeaken
P
Q
P
Q
.
Proof
.
done
.
Qed
.
...
...
@@ -315,6 +327,7 @@ Global Instance from_sep_ownM (a b1 b2 : M) :
FromOp
a
b1
b2
→
FromSep
(
uPred_ownM
a
)
(
uPred_ownM
b1
)
(
uPred_ownM
b2
).
Proof
.
intros
.
by
rewrite
/
FromSep
-
ownM_op
from_op
.
Qed
.
Global
Instance
from_sep_pure
φ
ψ
:
@
FromSep
M
⌜φ
∧
ψ⌝
⌜φ⌝
⌜ψ⌝
.
Proof
.
by
rewrite
/
FromSep
pure_and
sep_and
.
Qed
.
Global
Instance
from_sep_always
P
Q1
Q2
:
...
...
theories/proofmode/tactics.v
View file @
8b23578e
...
...
@@ -737,7 +737,8 @@ Tactic Notation "iNext" open_constr(n) :=
|
lazymatch
goal
with
|
|-
IntoLaterNEnvs
0
_
_
=>
fail
"iNext:"
P
"does not contain laters"
|
_
=>
apply
_
end
|
].
end
|
lazy
beta
(
*
remove
beta
redexes
caused
by
removing
laters
under
binders
*
)].
Tactic
Notation
"iNext"
:=
iNext
_.
...
...
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