Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Iris
Iris
Commits
c20e4f25
Commit
c20e4f25
authored
May 02, 2019
by
Robbert Krebbers
Browse files
Lemmas for big-ops and bind.
parent
c7164230
Changes
2
Hide whitespace changes
Inline
Side-by-side
theories/algebra/big_op.v
View file @
c20e4f25
...
...
@@ -154,6 +154,12 @@ Section list.
Qed
.
End
list
.
Lemma
big_opL_bind
{
A
B
}
(
h
:
A
→
list
B
)
(
f
:
B
→
M
)
l
:
([^
o
list
]
y
∈
l
≫
=
h
,
f
y
)
≡
([^
o
list
]
x
∈
l
,
[^
o
list
]
y
∈
h
x
,
f
y
).
Proof
.
revert
f
.
induction
l
as
[|
x
l
IH
]=>
f
;
csimpl
=>
//.
by
rewrite
big_opL_app
IH
.
Qed
.
(** ** Big ops over finite maps *)
Section
gmap
.
Context
`
{
Countable
K
}
{
A
:
Type
}.
...
...
theories/bi/big_op.v
View file @
c20e4f25
...
...
@@ -136,6 +136,10 @@ Section sep_list.
([
∗
list
]
k
↦
y
∈
f
<$>
l
,
Φ
k
y
)
⊣
⊢
([
∗
list
]
k
↦
y
∈
l
,
Φ
k
(
f
y
)).
Proof
.
by
rewrite
big_opL_fmap
.
Qed
.
Lemma
big_sepL_bind
{
B
}
(
f
:
A
→
list
B
)
(
Φ
:
B
→
PROP
)
l
:
([
∗
list
]
y
∈
l
≫
=
f
,
Φ
y
)
⊣
⊢
([
∗
list
]
x
∈
l
,
[
∗
list
]
y
∈
f
x
,
Φ
y
).
Proof
.
by
rewrite
big_opL_bind
.
Qed
.
Lemma
big_sepL_sep
Φ
Ψ
l
:
([
∗
list
]
k
↦
x
∈
l
,
Φ
k
x
∗
Ψ
k
x
)
⊣
⊢
([
∗
list
]
k
↦
x
∈
l
,
Φ
k
x
)
∗
([
∗
list
]
k
↦
x
∈
l
,
Ψ
k
x
).
...
...
@@ -511,6 +515,10 @@ Section and_list.
([
∧
list
]
k
↦
y
∈
f
<$>
l
,
Φ
k
y
)
⊣
⊢
([
∧
list
]
k
↦
y
∈
l
,
Φ
k
(
f
y
)).
Proof
.
by
rewrite
big_opL_fmap
.
Qed
.
Lemma
big_andL_bind
{
B
}
(
f
:
A
→
list
B
)
(
Φ
:
B
→
PROP
)
l
:
([
∧
list
]
y
∈
l
≫
=
f
,
Φ
y
)
⊣
⊢
([
∧
list
]
x
∈
l
,
[
∧
list
]
y
∈
f
x
,
Φ
y
).
Proof
.
by
rewrite
big_opL_bind
.
Qed
.
Lemma
big_andL_and
Φ
Ψ
l
:
([
∧
list
]
k
↦
x
∈
l
,
Φ
k
x
∧
Ψ
k
x
)
⊣
⊢
([
∧
list
]
k
↦
x
∈
l
,
Φ
k
x
)
∧
([
∧
list
]
k
↦
x
∈
l
,
Ψ
k
x
).
...
...
@@ -597,6 +605,10 @@ Section or_list.
([
∨
list
]
k
↦
y
∈
f
<$>
l
,
Φ
k
y
)
⊣
⊢
([
∨
list
]
k
↦
y
∈
l
,
Φ
k
(
f
y
)).
Proof
.
by
rewrite
big_opL_fmap
.
Qed
.
Lemma
big_orL_bind
{
B
}
(
f
:
A
→
list
B
)
(
Φ
:
B
→
PROP
)
l
:
([
∨
list
]
y
∈
l
≫
=
f
,
Φ
y
)
⊣
⊢
([
∨
list
]
x
∈
l
,
[
∨
list
]
y
∈
f
x
,
Φ
y
).
Proof
.
by
rewrite
big_opL_bind
.
Qed
.
Lemma
big_orL_or
Φ
Ψ
l
:
([
∨
list
]
k
↦
x
∈
l
,
Φ
k
x
∨
Ψ
k
x
)
⊣
⊢
([
∨
list
]
k
↦
x
∈
l
,
Φ
k
x
)
∨
([
∨
list
]
k
↦
x
∈
l
,
Ψ
k
x
).
...
...
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