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
Simon Spies
Iris
Commits
581983b4
Commit
581983b4
authored
Mar 03, 2019
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'laterN' into 'master'
Allow swapping later^n and forall See merge request
iris/iris!221
parents
b2ae031f
6ae844ab
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 @
581983b4
...
...
@@ -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 @
581983b4
...
...
@@ -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