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
Iris
Fairis
Commits
9d629ec8
Commit
9d629ec8
authored
Feb 02, 2016
by
Robbert Krebbers
Browse files
Frame preserving updates for op.
parent
de82a00c
Changes
1
Hide whitespace changes
Inline
Side-by-side
modures/cmra.v
View file @
9d629ec8
...
...
@@ -327,6 +327,20 @@ Proof.
Qed
.
Lemma
ra_updateP_weaken
(
P
Q
:
A
→
Prop
)
x
:
x
⇝
:
P
→
(
∀
y
,
P
y
→
Q
y
)
→
x
⇝
:
Q
.
Proof
.
eauto
using
ra_updateP_compose
,
ra_updateP_id
.
Qed
.
Lemma
ra_updateP_op
(
P1
P2
Q
:
A
→
Prop
)
x1
x2
:
x1
⇝
:
P1
→
x2
⇝
:
P2
→
(
∀
y1
y2
,
P1
y1
→
P2
y2
→
Q
(
y1
⋅
y2
))
→
x1
⋅
x2
⇝
:
Q
.
Proof
.
intros
Hx1
Hx2
Hy
z
n
?
.
destruct
(
Hx1
(
x2
⋅
z
)
n
)
as
(
y1
&?&?
);
first
by
rewrite
associative
.
destruct
(
Hx2
(
y1
⋅
z
)
n
)
as
(
y2
&?&?
);
first
by
rewrite
associative
(
commutative
_
x2
)
-
associative
.
exists
(
y1
⋅
y2
);
split
;
last
rewrite
(
commutative
_
y1
)
-
associative
;
auto
.
Qed
.
Lemma
ra_update_op
x1
x2
y1
y2
:
x1
⇝
y1
→
x2
⇝
y2
→
x1
⋅
x2
⇝
y1
⋅
y2
.
Proof
.
rewrite
!
cmra_update_updateP
;
eauto
using
ra_updateP_op
with
congruence
.
Qed
.
End
cmra
.
Hint
Extern
0
(
_
≼
{
0
}
_
)
=>
apply
cmra_includedN_0
.
...
...
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