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
Jan
iris-coq
Commits
3bc1f853
Commit
3bc1f853
authored
Mar 27, 2018
by
Robbert Krebbers
Browse files
Short proof of `big_sepL_delete`.
This is a substitute for !136.
parent
658c756f
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/base_logic/big_op.v
View file @
3bc1f853
...
...
@@ -149,6 +149,19 @@ Section list.
by
rewrite
persistently_impl_wand
persistently_elim
wand_elim_l
.
Qed
.
Lemma
big_sepL_delete
Φ
l
i
x
:
l
!!
i
=
Some
x
→
([
∗
list
]
k
↦
y
∈
l
,
Φ
k
y
)
⊣
⊢
Φ
i
x
∗
[
∗
list
]
k
↦
y
∈
l
,
⌜
k
≠
i
⌝
→
Φ
k
y
.
Proof
.
intros
.
rewrite
-(
take_drop_middle
l
i
x
)
//
!
big_sepL_app
/=
Nat
.
add_0_r
.
rewrite
take_length_le
;
last
eauto
using
lookup_lt_Some
,
Nat
.
lt_le_incl
.
rewrite
pure_False
;
last
by
intros
[].
rewrite
False_impl
left_id
.
rewrite
assoc
-!(
comm
_
(
Φ
_
_
))
-
assoc
.
do
2
f_equiv
.
-
apply
big_sepL_proper
=>
k
y
Hk
.
apply
lookup_lt_Some
in
Hk
.
rewrite
take_length
in
Hk
.
by
rewrite
pure_True
?True_impl
;
last
lia
.
-
apply
big_sepL_proper
=>
k
y
_
.
by
rewrite
pure_True
?True_impl
;
last
lia
.
Qed
.
Global
Instance
big_sepL_nil_plain
Φ
:
Plain
([
∗
list
]
k
↦
x
∈
[],
Φ
k
x
).
Proof
.
simpl
;
apply
_
.
Qed
.
Global
Instance
big_sepL_plain
Φ
l
:
...
...
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