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
a5b6db8b
Commit
a5b6db8b
authored
Feb 03, 2019
by
Dan Frumin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add `big_sepM_insert_acc`.
parent
ba2d414a
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
12 additions
and
0 deletions
+12
-0
CHANGELOG.md
CHANGELOG.md
+1
-0
theories/bi/big_op.v
theories/bi/big_op.v
+11
-0
No files found.
CHANGELOG.md
View file @
a5b6db8b
...
@@ -99,6 +99,7 @@ Changes in Coq:
...
@@ -99,6 +99,7 @@ Changes in Coq:
*
A new tactic,
`wp_pures`
, executes as many pure steps as possible, excluding
*
A new tactic,
`wp_pures`
, executes as many pure steps as possible, excluding
steps that would require unlocking subterms. Every impure wp_ tactic executes
steps that would require unlocking subterms. Every impure wp_ tactic executes
this tactic before doing anything else.
this tactic before doing anything else.
*
Add
`big_sepM_insert_acc`
.
## Iris 3.1.0 (released 2017-12-19)
## Iris 3.1.0 (released 2017-12-19)
...
...
theories/bi/big_op.v
View file @
a5b6db8b
...
@@ -628,6 +628,17 @@ Section gmap.
...
@@ -628,6 +628,17 @@ Section gmap.
rewrite
-
insert_delete
big_sepM_insert
?lookup_delete
//.
rewrite
-
insert_delete
big_sepM_insert
?lookup_delete
//.
Qed
.
Qed
.
Lemma
big_sepM_insert_acc
Φ
m
i
x
:
m
!!
i
=
Some
x
→
([
∗
map
]
k
↦
y
∈
m
,
Φ
k
y
)
⊢
Φ
i
x
∗
(
∀
x'
,
Φ
i
x'
-
∗
([
∗
map
]
k
↦
y
∈
<[
i
:
=
x'
]>
m
,
Φ
k
y
)).
Proof
.
intros
?.
rewrite
{
1
}
big_sepM_delete
//.
apply
sep_mono
;
[
done
|].
apply
forall_intro
=>
x'
.
rewrite
-
insert_delete
big_sepM_insert
?lookup_delete
//.
by
apply
wand_intro_l
.
Qed
.
Lemma
big_sepM_fn_insert
{
B
}
(
Ψ
:
K
→
A
→
B
→
PROP
)
(
f
:
K
→
B
)
m
i
x
b
:
Lemma
big_sepM_fn_insert
{
B
}
(
Ψ
:
K
→
A
→
B
→
PROP
)
(
f
:
K
→
B
)
m
i
x
b
:
m
!!
i
=
None
→
m
!!
i
=
None
→
([
∗
map
]
k
↦
y
∈
<[
i
:
=
x
]>
m
,
Ψ
k
y
(<[
i
:
=
b
]>
f
k
))
([
∗
map
]
k
↦
y
∈
<[
i
:
=
x
]>
m
,
Ψ
k
y
(<[
i
:
=
b
]>
f
k
))
...
...
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