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
Dan Frumin
iris-coq
Commits
672dff6d
Commit
672dff6d
authored
May 29, 2016
by
Robbert Krebbers
Browse files
Use proper notations in saved_prop.
parent
efc8fb86
Changes
2
Hide whitespace changes
Inline
Side-by-side
program_logic/saved_one_shot.v
View file @
672dff6d
...
...
@@ -25,26 +25,24 @@ Section one_shot.
Global
Instance
ne_shot_own_persistent
γ
x
:
PersistentP
(
one_shot_own
γ
x
).
Proof
.
rewrite
/
one_shot_own
;
apply
_.
Qed
.
Lemma
one_shot_alloc_strong
N
(
G
:
gset
gname
)
:
True
⊢
pvs
N
N
(
∃
γ
,
■
(
γ
∉
G
)
∧
one_shot_pending
γ
)
.
Lemma
one_shot_alloc_strong
E
(
G
:
gset
gname
)
:
True
⊢
|={
E
}=>
∃
γ
,
■
(
γ
∉
G
)
∧
one_shot_pending
γ
.
Proof
.
by
apply
own_alloc_strong
.
Qed
.
Lemma
one_shot_alloc
N
:
True
⊢
pvs
N
N
(
∃
γ
,
one_shot_pending
γ
)
.
Lemma
one_shot_alloc
E
:
True
⊢
|={
E
}=>
∃
γ
,
one_shot_pending
γ
.
Proof
.
by
apply
own_alloc
.
Qed
.
Lemma
one_shot_init
N
γ
x
:
one_shot_pending
γ
⊢
pvs
N
N
(
one_shot_own
γ
x
).
Lemma
one_shot_init
E
γ
x
:
one_shot_pending
γ
⊢
|={
E
}=>
one_shot_own
γ
x
.
Proof
.
by
apply
own_update
,
one_shot_update_shoot
.
Qed
.
Lemma
one_shot_alloc_init
N
x
:
True
⊢
pvs
N
N
(
∃
γ
,
one_shot_own
γ
x
)
.
Lemma
one_shot_alloc_init
E
x
:
True
⊢
|={
E
}=>
∃
γ
,
one_shot_own
γ
x
.
Proof
.
rewrite
(
one_shot_alloc
N
).
apply
pvs_strip_pvs
.
rewrite
(
one_shot_alloc
E
).
apply
pvs_strip_pvs
.
apply
exist_elim
=>
γ
.
rewrite
-
(
exist_intro
γ
).
apply
one_shot_init
.
Qed
.
Lemma
one_shot_agree
γ
x
y
:
(
one_shot_own
γ
x
★
one_shot_own
γ
y
)
⊢
▷
(
x
≡
y
).
Lemma
one_shot_agree
γ
x
y
:
(
one_shot_own
γ
x
★
one_shot_own
γ
y
)
⊢
▷
(
x
≡
y
).
Proof
.
rewrite
-
own_op
own_valid
one_shot_validI
/=
agree_validI
.
rewrite
agree_equivI
later_equivI
.
...
...
program_logic/saved_prop.v
View file @
672dff6d
...
...
@@ -23,11 +23,11 @@ Section saved_prop.
Global
Instance
saved_prop_persistent
γ
x
:
PersistentP
(
saved_prop_own
γ
x
).
Proof
.
rewrite
/
saved_prop_own
;
apply
_.
Qed
.
Lemma
saved_prop_alloc_strong
N
x
(
G
:
gset
gname
)
:
True
⊢
pvs
N
N
(
∃
γ
,
■
(
γ
∉
G
)
∧
saved_prop_own
γ
x
)
.
Lemma
saved_prop_alloc_strong
E
x
(
G
:
gset
gname
)
:
True
⊢
|={
E
}=>
∃
γ
,
■
(
γ
∉
G
)
∧
saved_prop_own
γ
x
.
Proof
.
by
apply
own_alloc_strong
.
Qed
.
Lemma
saved_prop_alloc
N
x
:
True
⊢
pvs
N
N
(
∃
γ
,
saved_prop_own
γ
x
)
.
Lemma
saved_prop_alloc
E
x
:
True
⊢
|={
E
}=>
∃
γ
,
saved_prop_own
γ
x
.
Proof
.
by
apply
own_alloc
.
Qed
.
Lemma
saved_prop_agree
γ
x
y
:
...
...
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