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
George Pirlea
Iris
Commits
c90d55ae
Commit
c90d55ae
authored
Mar 01, 2018
by
Jacques-Henri Jourdan
Browse files
Add instance elim_inv_embed_inv.
parent
d1b836c8
Changes
2
Hide whitespace changes
Inline
Side-by-side
theories/base_logic/lib/invariants.v
View file @
c90d55ae
...
...
@@ -104,6 +104,15 @@ Proof.
iApply
(
Helim
with
"[$H2]"
)
;
first
done
.
iMod
(
inv_open
_
N
with
"[#]"
)
as
"(HP&Hclose)"
;
auto
with
iFrame
.
Qed
.
Global
Instance
elim_inv_embed_inv
{
PROP'
:
sbi
}
`
{
SbiEmbedding
_
PROP'
}
E
N
(
P
:
iProp
Σ
)
(
Q
Q'
:
PROP'
)
:
(
∀
R
,
ElimModal
True
⎡
|={
E
,
E
∖↑
N
}=>
R
⎤
⎡
R
⎤
Q
Q'
)
→
ElimInv
(
↑
N
⊆
E
)
⎡
inv
N
P
⎤
True
(
⎡▷
P
⎤
)
(
⎡▷
P
={
E
∖↑
N
,
E
}=
∗
True
⎤
)
Q
Q'
.
Proof
.
rewrite
/
ElimInv
/
ElimModal
.
iIntros
(
Helim
?)
"(#H1&TRUE&H2)"
.
rewrite
-
bi_embed_sep
.
iApply
(
Helim
with
"[$H2 $TRUE]"
)
;
first
done
.
iModIntro
.
iMod
(
inv_open
_
N
with
"[#]"
)
as
"(HP&Hclose)"
;
auto
with
iFrame
.
Qed
.
Lemma
inv_open_timeless
E
N
P
`
{!
Timeless
P
}
:
↑
N
⊆
E
→
inv
N
P
={
E
,
E
∖↑
N
}=
∗
P
∗
(
P
={
E
∖↑
N
,
E
}=
∗
True
).
...
...
theories/proofmode/class_instances.v
View file @
c90d55ae
...
...
@@ -849,6 +849,10 @@ Global Instance from_forall_embed `{BiEmbedding PROP PROP'} {A} P (Φ : A → PR
FromForall
P
Φ
→
FromForall
⎡
P
⎤
%
I
(
λ
a
,
⎡Φ
a
⎤
%
I
).
Proof
.
by
rewrite
/
FromForall
-
bi_embed_forall
=>
<-.
Qed
.
(* IntoInv *)
Global
Instance
into_inv_embed
{
PROP'
:
bi
}
`
{
BiEmbed
PROP
PROP'
}
P
N
:
IntoInv
P
N
→
IntoInv
⎡
P
⎤
N
.
(* ElimModal *)
Global
Instance
elim_modal_wand
φ
P
P'
Q
Q'
R
:
ElimModal
φ
P
P'
Q
Q'
→
ElimModal
φ
P
P'
(
R
-
∗
Q
)
(
R
-
∗
Q'
).
...
...
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