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
Rodolphe Lepigre
Iris
Commits
aa5a89e0
Commit
aa5a89e0
authored
Aug 22, 2019
by
Robbert Krebbers
Browse files
Show that `|==>` commutes with big ops (in one way).
parent
0c4e2984
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/bi/updates.v
View file @
aa5a89e0
...
...
@@ -163,6 +163,23 @@ Section bupd_derived.
Proof
.
by
rewrite
bupd_frame_r
wand_elim_r
.
Qed
.
Lemma
bupd_sep
P
Q
:
(|==>
P
)
∗
(|==>
Q
)
==
∗
P
∗
Q
.
Proof
.
by
rewrite
bupd_frame_r
bupd_frame_l
bupd_trans
.
Qed
.
Global
Instance
bupd_homomorphism
:
MonoidHomomorphism
bi_sep
bi_sep
(
flip
(
⊢
))
(
bupd
(
PROP
:
=
PROP
)).
Proof
.
split
;
[
split
|]
;
try
apply
_
.
apply
bupd_sep
.
apply
bupd_intro
.
Qed
.
Lemma
big_sepL_bupd
{
A
}
(
Φ
:
nat
→
A
→
PROP
)
l
:
([
∗
list
]
k
↦
x
∈
l
,
|==>
Φ
k
x
)
⊢
|==>
[
∗
list
]
k
↦
x
∈
l
,
Φ
k
x
.
Proof
.
by
rewrite
(
big_opL_commute
_
).
Qed
.
Lemma
big_sepM_bupd
{
A
}
`
{
Countable
K
}
(
Φ
:
K
→
A
→
PROP
)
l
:
([
∗
map
]
k
↦
x
∈
l
,
|==>
Φ
k
x
)
⊢
|==>
[
∗
map
]
k
↦
x
∈
l
,
Φ
k
x
.
Proof
.
by
rewrite
(
big_opM_commute
_
).
Qed
.
Lemma
big_sepS_bupd
`
{
Countable
A
}
(
Φ
:
A
→
PROP
)
l
:
([
∗
set
]
x
∈
l
,
|==>
Φ
x
)
⊢
|==>
[
∗
set
]
x
∈
l
,
Φ
x
.
Proof
.
by
rewrite
(
big_opS_commute
_
).
Qed
.
Lemma
big_sepMS_bupd
`
{
Countable
A
}
(
Φ
:
A
→
PROP
)
l
:
([
∗
mset
]
x
∈
l
,
|==>
Φ
x
)
⊢
|==>
[
∗
mset
]
x
∈
l
,
Φ
x
.
Proof
.
by
rewrite
(
big_opMS_commute
_
).
Qed
.
End
bupd_derived
.
Section
bupd_derived_sbi
.
...
...
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