Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
ReLoC-v1
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
1
Issues
1
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Incidents
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Dan Frumin
ReLoC-v1
Commits
9526453d
Commit
9526453d
authored
May 28, 2016
by
Amin Timany
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Simplify coarse-grained pop
parent
ab899eb7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
22 deletions
+14
-22
F_mu_ref_par/examples/stack/CG_stack.v
F_mu_ref_par/examples/stack/CG_stack.v
+14
-22
No files found.
F_mu_ref_par/examples/stack/CG_stack.v
View file @
9526453d
...
...
@@ -116,20 +116,17 @@ Section CG_Stack.
(
*
Coarse
-
grained
pop
*
)
Definition
CG_pop
(
st
:
expr
)
:
expr
:=
Lam
(
App
(
Lam
(
App
(
Lam
(
Case
(
Var
1
)
(
InjL
Unit
)
(
App
(
Lam
(
InjR
(
Fst
(
Var
2
))))
(
Store
st
.[
ren
(
+
7
)]
(
Snd
(
Var
0
)))
)
)
Lam
(
App
(
Lam
(
Case
(
Var
1
)
(
InjL
Unit
)
(
App
(
Lam
(
InjR
(
Fst
(
Var
2
))))
(
Store
st
.[
ren
(
+
5
)]
(
Snd
(
Var
0
)))
)
(
Unfold
(
Var
1
))
)
)
)
(
Load
st
.[
ren
(
+
2
)]
)
(
Unfold
(
Load
st
.[
ren
(
+
2
)])
)
).
Lemma
CG_pop_type
st
Γ
τ
:
...
...
@@ -138,10 +135,9 @@ Section CG_Stack.
Proof
.
intros
H1
.
do
2
econstructor
;
[
|
econstructor
;
eapply
(
context_weakening
[
_
;
_
]);
eauto
].
do
2
econstructor
.
2
:
repeat
constructor
.
asimpl
.
repeat
econstructor
.
eapply
(
context_weakening
[
_
;
_
;
_
;
_
;
_
;
_
;
_
]);
eauto
.
[
|
do
2
econstructor
;
eapply
(
context_weakening
[
_
;
_
]);
eauto
].
repeat
econstructor
;
asimpl
;
eauto
.
eapply
(
context_weakening
[
_
;
_
;
_
;
_
;
_
]);
eauto
.
Qed
.
Lemma
CG_pop_closed
(
st
:
expr
)
:
...
...
@@ -161,13 +157,11 @@ Section CG_Stack.
intros
HNE
.
iIntros
"[#Hspec [Hx Hj]]"
.
unfold
CG_pop
.
iPvs
(
step_lam
_
_
_
j
K
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
iFrame
"Hspec Hj"
;
trivial
.
asimpl
.
iPvs
(
step_load
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)])
iPvs
(
step_load
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)
;
UnfoldCtx
])
_
_
_
with
"[Hj Hx]"
)
as
"[Hj Hx]"
;
eauto
.
rewrite
?
fill_app
.
simpl
.
iFrame
"Hspec Hj"
;
trivial
.
rewrite
?
fill_app
.
simpl
.
iPvs
(
step_lam
_
_
_
j
K
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
iFrame
"Hspec Hj"
;
trivial
.
asimpl
.
iPvs
(
step_Fold
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)])
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
rewrite
?
fill_app
.
simpl
.
...
...
@@ -208,13 +202,11 @@ Section CG_Stack.
intros
HNE
.
iIntros
"[#Hspec [Hx Hj]]"
.
unfold
CG_pop
.
iPvs
(
step_lam
_
_
_
j
K
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
iFrame
"Hspec Hj"
;
trivial
.
asimpl
.
iPvs
(
step_load
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)])
iPvs
(
step_load
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)
;
UnfoldCtx
])
_
_
_
with
"[Hj Hx]"
)
as
"[Hj Hx]"
;
eauto
.
rewrite
?
fill_app
.
simpl
.
iFrame
"Hspec Hj"
;
trivial
.
rewrite
?
fill_app
.
simpl
.
iPvs
(
step_lam
_
_
_
j
K
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
iFrame
"Hspec Hj"
;
trivial
.
asimpl
.
iPvs
(
step_Fold
_
_
_
j
(
K
++
[
AppRCtx
(
LamV
_
)])
_
_
_
_
with
"[Hj]"
)
as
"Hj"
;
eauto
.
rewrite
?
fill_app
.
simpl
.
...
...
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