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
George Pirlea
Iris
Commits
f72563c7
Commit
f72563c7
authored
Nov 22, 2016
by
Robbert Krebbers
Browse files
Simplify pure_elim primitive of uPred.
parent
d04287bc
Changes
2
Hide whitespace changes
Inline
Side-by-side
base_logic/derived.v
View file @
f72563c7
...
...
@@ -35,7 +35,7 @@ Notation "P ⊣⊢ Q" := (equiv (A:=uPred M) P%I Q%I). (* Force implicit argumen
(* Derived logical stuff *)
Lemma
False_elim
P
:
False
⊢
P
.
Proof
.
by
apply
(
pure_elim
False
).
Qed
.
Proof
.
by
apply
(
pure_elim
'
False
).
Qed
.
Lemma
True_intro
P
:
P
⊢
True
.
Proof
.
by
apply
pure_intro
.
Qed
.
...
...
@@ -212,6 +212,11 @@ Proof.
-
apply
or_elim
;
apply
exist_elim
=>
a
;
rewrite
-(
exist_intro
a
)
;
auto
.
Qed
.
Lemma
pure_elim
φ
Q
R
:
(
Q
⊢
■
φ
)
→
(
φ
→
Q
⊢
R
)
→
Q
⊢
R
.
Proof
.
intros
HQ
HQR
.
rewrite
-(
idemp
uPred_and
Q
)
{
1
}
HQ
.
apply
impl_elim_l'
,
pure_elim'
=>
?.
by
apply
entails_impl
,
HQR
.
Qed
.
Lemma
pure_mono
φ
1
φ
2
:
(
φ
1
→
φ
2
)
→
■
φ
1
⊢
■
φ
2
.
Proof
.
intros
;
apply
pure_elim
with
φ
1
;
eauto
.
Qed
.
Global
Instance
pure_mono'
:
Proper
(
impl
==>
(
⊢
))
(@
uPred_pure
M
).
...
...
base_logic/primitive.v
View file @
f72563c7
...
...
@@ -319,10 +319,8 @@ Global Instance bupd_proper : Proper ((≡) ==> (≡)) (@uPred_bupd M) := ne_pro
(** Introduction and elimination rules *)
Lemma
pure_intro
φ
P
:
φ
→
P
⊢
■
φ
.
Proof
.
by
intros
?
;
unseal
;
split
.
Qed
.
Lemma
pure_elim
φ
Q
R
:
(
Q
⊢
■
φ
)
→
(
φ
→
Q
⊢
R
)
→
Q
⊢
R
.
Proof
.
unseal
;
intros
HQP
HQR
;
split
=>
n
x
??
;
apply
HQR
;
first
eapply
HQP
;
eauto
.
Qed
.
Lemma
pure_elim'
φ
P
:
(
φ
→
True
⊢
P
)
→
■
φ
⊢
P
.
Proof
.
unseal
;
intros
HP
;
split
=>
n
x
??.
by
apply
HP
.
Qed
.
Lemma
pure_forall_2
{
A
}
(
φ
:
A
→
Prop
)
:
(
∀
x
:
A
,
■
φ
x
)
⊢
■
(
∀
x
:
A
,
φ
x
).
Proof
.
by
unseal
.
Qed
.
...
...
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