Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Iris
Iris
Commits
19c45f91
Commit
19c45f91
authored
Oct 12, 2016
by
Ralf Jung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix heap_lang/adequacy
(forgot to add this to the previous commit...)
parent
6fddc211
Pipeline
#2813
passed with stage
in 9 minutes and 23 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
8 deletions
+8
-8
heap_lang/adequacy.v
heap_lang/adequacy.v
+8
-8
No files found.
heap_lang/adequacy.v
View file @
19c45f91
From
iris
.
program_logic
Require
Export
weakestpre
adequacy
.
From
iris
.
heap_lang
Require
Export
heap
.
From
iris
.
algebra
Require
Import
auth
.
From
iris
.
program_logic
Require
Import
ownership
.
From
iris
.
program_logic
Require
Import
ownership
auth
.
From
iris
.
heap_lang
Require
Import
proofmode
notation
.
From
iris
.
proofmode
Require
Import
tactics
.
Class
heapPreG
Σ
:
=
HeapPreG
{
heap_preG_iris
:
>
irisPreG
heap_lang
Σ
;
heap_preG_heap
:
>
inG
Σ
(
auth
R
heapUR
)
heap_preG_heap
:
>
auth
G
Σ
heapUR
}.
Definition
heap
Σ
:
gFunctors
:
=
#[
iris
Σ
heap_lang
;
GFunctor
(
constRF
(
auth
R
heapUR
))
].
#[
iris
Σ
heap_lang
;
auth
Σ
heapUR
].
Instance
subG_heapPreG
{
Σ
}
:
subG
heap
Σ
Σ
→
heapPreG
Σ
.
Proof
.
intros
[?
?
%
subG_inG
]%
subG_inv
.
split
;
apply
_
.
Qed
.
Proof
.
intros
[?
?]%
subG_inv
.
split
;
apply
_
.
Qed
.
Definition
heap_adequacy
Σ
`
{
heapPreG
Σ
}
e
σ
φ
:
(
∀
`
{
heapG
Σ
},
heap_ctx
⊢
WP
e
{{
v
,
■
φ
v
}})
→
adequate
e
σ
φ
.
Proof
.
intros
Hwp
;
eapply
(
wp_adequacy
Σ
)
;
iIntros
(?)
"Hσ"
.
iVs
(
own_alloc
(
●
to_heap
σ
))
as
(
γ
)
"Hh"
.
{
apply
(
auth_auth_valid
(
to_heap
_
)),
to_heap_valid
.
}
iVs
(
auth_alloc
to_heap
ownP
heapN
_
σ
with
"[Hσ]"
)
as
(
γ
)
"[Hh _]"
.
{
exact
:
to_heap_valid
.
}
{
by
iNext
.
}
set
(
Hheap
:
=
HeapG
_
_
_
γ
).
iVs
(
inv_alloc
heapN
_
heap_inv
with
"[-]"
)
;
[
iNext
;
iExists
σ
;
by
iFrame
|].
iApply
(
Hwp
_
).
by
rewrite
/
heap_ctx
.
Qed
.
\ No newline at end of file
Qed
.
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