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
Iris
Commits
2a1af810
Commit
2a1af810
authored
Nov 21, 2017
by
Ralf Jung
Browse files
saved predicates: use ofe_fun, not ofe_mor
parent
c800ca9c
Changes
1
Hide whitespace changes
Inline
Side-by-side
theories/base_logic/lib/saved_prop.v
View file @
2a1af810
...
...
@@ -87,22 +87,22 @@ Proof.
Qed
.
(* Saved predicates. *)
Notation
savedPredG
Σ
A
:
=
(
savedAnythingG
Σ
(
constCF
A
-
n
>
▶
∙
)).
Notation
savedPred
Σ
A
:
=
(
savedAnything
Σ
(
constCF
A
-
n
>
▶
∙
)).
Notation
savedPredG
Σ
A
:
=
(
savedAnythingG
Σ
(
A
-
c
>
▶
∙
)).
Notation
savedPred
Σ
A
:
=
(
savedAnything
Σ
(
A
-
c
>
▶
∙
)).
Definition
saved_pred_own
`
{
savedPredG
Σ
A
}
(
γ
:
gname
)
(
Φ
:
A
-
n
>
iProp
Σ
)
:
=
saved_anything_own
(
F
:
=
A
-
n
>
▶
∙
)
γ
(
CofeMor
Next
◎
Φ
).
Definition
saved_pred_own
`
{
savedPredG
Σ
A
}
(
γ
:
gname
)
(
Φ
:
A
-
c
>
iProp
Σ
)
:
=
saved_anything_own
(
F
:
=
A
-
c
>
▶
∙
)
γ
(
CofeMor
Next
∘
Φ
).
Instance
saved_pred_own_contractive
`
{
savedPredG
Σ
A
}
γ
:
Contractive
(
saved_pred_own
γ
).
Proof
.
solve_proper_core
ltac
:
(
fun
_
=>
first
[
intros
?
;
progress
simpl
|
f_contractive
|
f_equiv
]).
solve_proper_core
ltac
:
(
fun
_
=>
first
[
intros
?
;
progress
simpl
|
by
auto
|
f_contractive
|
f_equiv
]).
Qed
.
Lemma
saved_pred_alloc_strong
`
{
savedPredG
Σ
A
}
(
G
:
gset
gname
)
(
Φ
:
A
-
n
>
iProp
Σ
)
:
Lemma
saved_pred_alloc_strong
`
{
savedPredG
Σ
A
}
(
G
:
gset
gname
)
(
Φ
:
A
-
c
>
iProp
Σ
)
:
(|==>
∃
γ
,
⌜γ
∉
G
⌝
∧
saved_pred_own
γ
Φ
)%
I
.
Proof
.
iApply
saved_anything_alloc_strong
.
Qed
.
Lemma
saved_pred_alloc
`
{
savedPredG
Σ
A
}
(
Φ
:
A
-
n
>
iProp
Σ
)
:
Lemma
saved_pred_alloc
`
{
savedPredG
Σ
A
}
(
Φ
:
A
-
c
>
iProp
Σ
)
:
(|==>
∃
γ
,
saved_pred_own
γ
Φ
)%
I
.
Proof
.
iApply
saved_anything_alloc
.
Qed
.
...
...
@@ -111,7 +111,7 @@ Lemma saved_pred_agree `{savedPredG Σ A} γ Φ Ψ x :
saved_pred_own
γ
Φ
-
∗
saved_pred_own
γ
Ψ
-
∗
▷
(
Φ
x
≡
Ψ
x
).
Proof
.
iIntros
"HΦ HΨ"
.
unfold
saved_pred_own
.
iApply
later_equivI
.
iDestruct
(
ofe_
mor
C_equivI
(
CofeMor
Next
◎
Φ
)
(
CofeMor
Next
◎
Ψ
))
as
"[FE _]"
.
iDestruct
(
ofe_
fun
C_equivI
(
CofeMor
Next
∘
Φ
)
(
CofeMor
Next
∘
Ψ
))
as
"[FE _]"
.
simpl
.
iApply
(
"FE"
with
"[-]"
).
iApply
(
saved_anything_agree
with
"HΦ HΨ"
).
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