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
Rodolphe Lepigre
Iris
Commits
155a869b
Commit
155a869b
authored
Jan 27, 2016
by
Ralf Jung
Browse files
more concise lambda lemmas
parent
b2527d69
Changes
2
Hide whitespace changes
Inline
Side-by-side
barrier/lifting.v
View file @
155a869b
...
...
@@ -164,11 +164,9 @@ Proof.
rewrite
right_id
.
done
.
Qed
.
Lemma
wp_rec'
E
e
v
P
Q
:
P
⊑
wp
(
Σ
:
=
Σ
)
E
(
e
.[
Rec
e
,
v2e
v
/])
Q
→
▷
P
⊑
wp
(
Σ
:
=
Σ
)
E
(
App
(
Rec
e
)
(
v2e
v
))
Q
.
Lemma
wp_rec'
E
e
v
Q
:
▷
wp
(
Σ
:
=
Σ
)
E
(
e
.[
Rec
e
,
v2e
v
/])
Q
⊑
wp
(
Σ
:
=
Σ
)
E
(
App
(
Rec
e
)
(
v2e
v
))
Q
.
Proof
.
intros
HP
.
etransitivity
;
last
eapply
wp_lift_pure_step
with
(
φ
:
=
λ
e'
,
e'
=
e
.[
Rec
e
,
v2e
v
/])
;
last
first
.
-
intros
?
?
?
?
Hstep
.
inversion_clear
Hstep
.
done
.
...
...
@@ -178,11 +176,10 @@ Proof.
apply
const_elim_l
=>->.
done
.
Qed
.
Lemma
wp_lam
E
e
v
P
Q
:
P
⊑
wp
(
Σ
:
=
Σ
)
E
(
e
.[
v2e
v
/])
Q
→
▷
P
⊑
wp
(
Σ
:
=
Σ
)
E
(
App
(
Lam
e
)
(
v2e
v
))
Q
.
Lemma
wp_lam
E
e
v
Q
:
▷
wp
(
Σ
:
=
Σ
)
E
(
e
.[
v2e
v
/])
Q
⊑
wp
(
Σ
:
=
Σ
)
E
(
App
(
Lam
e
)
(
v2e
v
))
Q
.
Proof
.
intros
HP
.
rewrite
-
wp_rec'
;
first
(
intros
;
apply
later_mono
;
eassumption
)
.
rewrite
-
wp_rec'
.
(* RJ: This pulls in functional extensionality. If that bothers us, we have
to talk to the Autosubst guys. *)
by
asimpl
.
...
...
barrier/tests.v
View file @
155a869b
...
...
@@ -40,7 +40,7 @@ Module LiftingTests.
rewrite
-(
wp_bind
_
_
(
LetCtx
EmptyCtx
e2
)).
rewrite
-
wp_mono
.
{
eapply
wp_alloc
;
done
.
}
move
=>
v
;
apply
exist_elim
=>
l
.
apply
const_elim_l
;
move
=>[->
_
]
{
v
}.
rewrite
(
later_intro
(
ownP
_
))
;
apply
wp_lam
.
asimpl
.
rewrite
-
wp_lam
-
later_intro
.
asimpl
.
rewrite
-(
wp_bind
_
_
(
SeqCtx
(
StoreRCtx
(
LocV
_
)
(
PlusLCtx
EmptyCtx
_
))
(
Load
(
Loc
_
)))).
rewrite
-
wp_mono
.
...
...
@@ -52,7 +52,7 @@ Module LiftingTests.
rewrite
-
wp_mono
.
{
eapply
wp_store
;
first
reflexivity
.
apply
:
lookup_insert
.
}
move
=>
v
;
apply
const_elim_l
;
move
=>->
{
v
}.
rewrite
(
later_intro
(
ownP
_
))
;
apply
wp_lam
.
asimpl
.
rewrite
-
wp_lam
-
later_intro
.
asimpl
.
rewrite
-
wp_mono
.
{
eapply
wp_load
.
apply
:
lookup_insert
.
}
move
=>
v
;
apply
const_elim_l
;
move
=>->
{
v
}.
...
...
Write
Preview
Supports
Markdown
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