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
Jonas Kastberg
iris
Commits
6ae844ab
Verified
Commit
6ae844ab
authored
Mar 03, 2019
by
Paolo G. Giarrusso
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Allow swapping later^n and forall
For half of #231.
parent
d04c9f7e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
15 additions
and
0 deletions
+15
-0
tests/proofmode.v
tests/proofmode.v
+5
-0
theories/proofmode/class_instances_sbi.v
theories/proofmode/class_instances_sbi.v
+10
-0
No files found.
tests/proofmode.v
View file @
6ae844ab
...
...
@@ -380,6 +380,11 @@ Proof.
iSpecialize
(
"Hφ"
with
"[% //] HP"
).
done
.
Qed
.
Lemma
demo_laterN_forall
{
A
}
(
Φ
Ψ
:
A
→
PROP
)
n
:
(
∀
x
,
▷
^
n
Φ
x
)
-
∗
▷
^
n
(
∀
x
,
Φ
x
).
Proof
.
iIntros
"H"
(
w
).
iApply
(
"H"
$!
w
).
Qed
.
Lemma
test_iNext_laterN_later
P
n
:
▷
▷
^
n
P
-
∗
▷
^
n
▷
P
.
Proof
.
iIntros
"H"
.
iNext
.
by
iNext
.
Qed
.
Lemma
test_iNext_later_laterN
P
n
:
▷
^
n
▷
P
-
∗
▷
▷
^
n
P
.
...
...
theories/proofmode/class_instances_sbi.v
View file @
6ae844ab
...
...
@@ -301,6 +301,11 @@ Proof. rewrite /IntoExist=> HP. by rewrite HP plainly_exist. Qed.
Global
Instance
into_forall_later
{
A
}
P
(
Φ
:
A
→
PROP
)
:
IntoForall
P
Φ
→
IntoForall
(
▷
P
)
(
λ
a
,
▷
(
Φ
a
))%
I
.
Proof
.
rewrite
/
IntoForall
=>
HP
.
by
rewrite
HP
later_forall
.
Qed
.
Global
Instance
into_forall_laterN
{
A
}
P
(
Φ
:
A
→
PROP
)
n
:
IntoForall
P
Φ
→
IntoForall
(
▷
^
n
P
)
(
λ
a
,
▷
^
n
(
Φ
a
))%
I
.
Proof
.
rewrite
/
IntoForall
=>
HP
.
by
rewrite
HP
laterN_forall
.
Qed
.
Global
Instance
into_forall_except_0
{
A
}
P
(
Φ
:
A
→
PROP
)
:
IntoForall
P
Φ
→
IntoForall
(
◇
P
)
(
λ
a
,
◇
(
Φ
a
))%
I
.
Proof
.
rewrite
/
IntoForall
=>
HP
.
by
rewrite
HP
except_0_forall
.
Qed
.
...
...
@@ -313,6 +318,11 @@ Proof. rewrite /IntoForall=> HP. by rewrite HP plainly_forall. Qed.
Global
Instance
from_forall_later
{
A
}
P
(
Φ
:
A
→
PROP
)
:
FromForall
P
Φ
→
FromForall
(
▷
P
)%
I
(
λ
a
,
▷
(
Φ
a
))%
I
.
Proof
.
rewrite
/
FromForall
=>
<-.
by
rewrite
later_forall
.
Qed
.
Global
Instance
from_forall_laterN
{
A
}
P
(
Φ
:
A
→
PROP
)
n
:
FromForall
P
Φ
→
FromForall
(
▷
^
n
P
)%
I
(
λ
a
,
▷
^
n
(
Φ
a
))%
I
.
Proof
.
rewrite
/
FromForall
=>
<-.
by
rewrite
laterN_forall
.
Qed
.
Global
Instance
from_forall_except_0
{
A
}
P
(
Φ
:
A
→
PROP
)
:
FromForall
P
Φ
→
FromForall
(
◇
P
)%
I
(
λ
a
,
◇
(
Φ
a
))%
I
.
Proof
.
rewrite
/
FromForall
=>
<-.
by
rewrite
except_0_forall
.
Qed
.
...
...
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