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
Jonas Kastberg
iris
Commits
6b76d292
Commit
6b76d292
authored
Jan 17, 2016
by
Robbert Krebbers
Browse files
More uniform lemmas for box.
parent
f133c099
Changes
1
Hide whitespace changes
Inline
Side-by-side
modures/logic.v
View file @
6b76d292
...
...
@@ -670,11 +670,11 @@ Lemma always_forall {A} (P : A → uPred M) : (□ ∀ a, P a)%I ≡ (∀ a, □
Proof
.
done
.
Qed
.
Lemma
always_exist
{
A
}
(
P
:
A
→
uPred
M
)
:
(
□
∃
a
,
P
a
)%
I
≡
(
∃
a
,
□
P
a
)%
I
.
Proof
.
done
.
Qed
.
Lemma
always_and_sep
'
P
Q
:
□
(
P
∧
Q
)
⊑
□
(
P
★
Q
).
Lemma
always_and_sep
_1
P
Q
:
□
(
P
∧
Q
)
⊑
□
(
P
★
Q
).
Proof
.
intros
x
n
?
[??]
;
exists
(
unit
x
),
(
unit
x
)
;
rewrite
ra_unit_unit
;
auto
.
Qed
.
Lemma
always_and_sep_l
P
Q
:
(
□
P
∧
Q
)
⊑
(
□
P
★
Q
).
Lemma
always_and_sep_l
_1
P
Q
:
(
□
P
∧
Q
)
⊑
(
□
P
★
Q
).
Proof
.
intros
x
n
?
[??]
;
exists
(
unit
x
),
x
;
simpl
in
*.
by
rewrite
ra_unit_l
ra_unit_idempotent
.
...
...
@@ -702,21 +702,18 @@ Proof.
{
intros
n
;
solve_proper
.
}
rewrite
-(
eq_refl
_
True
)
always_const
;
auto
.
Qed
.
Lemma
always_and_sep_r
P
Q
:
(
P
∧
□
Q
)
⊑
(
P
★
□
Q
).
Lemma
always_and_sep
P
Q
:
(
□
(
P
∧
Q
))%
I
≡
(
□
(
P
★
Q
))%
I
.
Proof
.
apply
(
anti_symmetric
(
⊑
))
;
auto
using
always_and_sep_1
.
Qed
.
Lemma
always_and_sep_l
P
Q
:
(
□
P
∧
Q
)%
I
≡
(
□
P
★
Q
)%
I
.
Proof
.
apply
(
anti_symmetric
(
⊑
))
;
auto
using
always_and_sep_l_1
.
Qed
.
Lemma
always_and_sep_r
P
Q
:
(
P
∧
□
Q
)%
I
≡
(
P
★
□
Q
)%
I
.
Proof
.
rewrite
!(
commutative
_
P
)
;
apply
always_and_sep_l
.
Qed
.
Lemma
always_sep
P
Q
:
(
□
(
P
★
Q
))%
I
≡
(
□
P
★
□
Q
)%
I
.
Proof
.
apply
(
anti_symmetric
(
⊑
)).
*
rewrite
-
always_and_sep_l
;
auto
.
*
rewrite
-
always_and_sep'
always_and
;
auto
.
Qed
.
Proof
.
by
rewrite
-
always_and_sep
-
always_and_sep_l
always_and
.
Qed
.
Lemma
always_wand
P
Q
:
□
(
P
-
★
Q
)
⊑
(
□
P
-
★
□
Q
).
Proof
.
by
apply
wand_intro
;
rewrite
-
always_sep
wand_elim_l
.
Qed
.
Lemma
always_sep_and
P
Q
:
(
□
(
P
★
Q
))%
I
≡
(
□
(
P
∧
Q
))%
I
.
Proof
.
apply
(
anti_symmetric
(
⊑
))
;
auto
using
always_and_sep'
.
Qed
.
Lemma
always_sep_dup
P
:
(
□
P
)%
I
≡
(
□
P
★
□
P
)%
I
.
Proof
.
by
rewrite
-
always_sep
always_
sep_and
(
idempotent
_
).
Qed
.
Proof
.
by
rewrite
-
always_sep
-
always_
and_sep
(
idempotent
_
).
Qed
.
Lemma
always_wand_impl
P
Q
:
(
□
(
P
-
★
Q
))%
I
≡
(
□
(
P
→
Q
))%
I
.
Proof
.
apply
(
anti_symmetric
(
⊑
))
;
[|
by
rewrite
-
impl_wand
].
...
...
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