Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
iris
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jonas Kastberg
iris
Commits
add800d8
Commit
add800d8
authored
Jul 01, 2016
by
Jacques-Henri Jourdan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Local updates for sums
parent
9af65178
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
26 additions
and
0 deletions
+26
-0
algebra/csum.v
algebra/csum.v
+26
-0
No files found.
algebra/csum.v
View file @
add800d8
...
...
@@ -292,6 +292,32 @@ Proof. eauto using csum_updateP_l. Qed.
Lemma
csum_updateP'_r
(
P
:
B
→
Prop
)
b
:
b
~~>
:
P
→
Cinr
b
~~>
:
λ
m'
,
∃
b'
,
m'
=
Cinr
b'
∧
P
b'
.
Proof
.
eauto
using
csum_updateP_r
.
Qed
.
Lemma
csum_local_update_l
(
a1
a2
:
A
)
af
:
(
∀
af'
,
af
=
Cinl
<$>
af'
→
a1
~l
~>
a2
@
af'
)
→
Cinl
a1
~l
~>
Cinl
a2
@
af
.
Proof
.
intros
Ha
.
split
;
destruct
af
as
[[
af'
|
|]|]=>//=.
-
by
eapply
(
Ha
(
Some
af'
)).
-
by
eapply
(
Ha
None
).
-
destruct
(
Ha
(
Some
af'
)
(
reflexivity
_
))
as
[
_
Ha'
].
intros
n
[[
mz
|
mz
|]|]
?
;
inversion
1
;
subst
;
constructor
.
by
apply
(
Ha'
n
(
Some
mz
)).
by
apply
(
Ha'
n
None
).
-
destruct
(
Ha
None
(
reflexivity
_
))
as
[
_
Ha'
].
intros
n
[[
mz
|
mz
|]|]
?
;
inversion
1
;
subst
;
constructor
.
by
apply
(
Ha'
n
(
Some
mz
)).
by
apply
(
Ha'
n
None
).
Qed
.
Lemma
csum_local_update_r
(
b1
b2
:
B
)
bf
:
(
∀
bf'
,
bf
=
Cinr
<$>
bf'
→
b1
~l
~>
b2
@
bf'
)
→
Cinr
b1
~l
~>
Cinr
b2
@
bf
.
Proof
.
intros
Hb
.
split
;
destruct
bf
as
[[|
bf'
|]|]=>//=.
-
by
eapply
(
Hb
(
Some
bf'
)).
-
by
eapply
(
Hb
None
).
-
destruct
(
Hb
(
Some
bf'
)
(
reflexivity
_
))
as
[
_
Hb'
].
intros
n
[[
mz
|
mz
|]|]
?
;
inversion
1
;
subst
;
constructor
.
by
apply
(
Hb'
n
(
Some
mz
)).
by
apply
(
Hb'
n
None
).
-
destruct
(
Hb
None
(
reflexivity
_
))
as
[
_
Hb'
].
intros
n
[[
mz
|
mz
|]|]
?
;
inversion
1
;
subst
;
constructor
.
by
apply
(
Hb'
n
(
Some
mz
)).
by
apply
(
Hb'
n
None
).
Qed
.
End
cmra
.
Arguments
csumR
:
clear
implicits
.
...
...
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