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
Tej Chajed
iris
Commits
2407263c
Commit
2407263c
authored
Dec 08, 2016
by
Robbert Krebbers
Browse files
Optimize proof of step_is_head.
parent
05c16632
Changes
1
Hide whitespace changes
Inline
Side-by-side
program_logic/ectxi_language.v
View file @
2407263c
...
...
@@ -88,15 +88,14 @@ Section ectxi_language.
Proof
.
change
(
LanguageCtx
_
(
fill
[
Ki
])).
apply
_
.
Qed
.
Lemma
step_is_head
K
e
σ
:
to_val
e
=
None
→
(
∀
Ki
K
e'
,
e
=
fill
(
Ki
::
K
)
e'
→
¬
head_reducible
e'
σ
)
→
to_val
e
=
None
→
(
∀
Ki
K
e'
,
e
=
fill
(
Ki
::
K
)
e'
→
¬
head_reducible
e'
σ
)
→
reducible
(
fill
K
e
)
σ
→
head_reducible
e
σ
.
Proof
.
intros
Hnonval
Hnondecomp
(
e'
&
σ
''
&
ef
&
Hstep
).
change
fill
with
ectx_language
.
fill
in
Hstep
.
apply
fill_step_inv
in
Hstep
;
last
done
.
destruct
Hstep
as
(
e2'
&
_
&
Hstep
).
clear
K
.
destruct
Hstep
as
[
K
e1'
e2''
??
Hstep
].
subst
.
destruct
K
as
[|
K0
K
].
{
rewrite
fill_empty
in
Hnonval
.
subst
.
eexists
;
eauto
.
}
exfalso
.
eapply
Hnondecomp
;
first
done
.
do
3
eexists
.
done
.
apply
fill_step_inv
in
Hstep
as
(
e2'
&
_
&
Hstep
)
;
last
done
.
clear
K
.
destruct
Hstep
as
[[|
Ki
K
]
e1'
e2''
->
->
Hstep
]
;
[
red
;
eauto
|].
destruct
(
Hnondecomp
Ki
K
e1'
)
;
unfold
head_reducible
;
eauto
.
Qed
.
End
ectxi_language
.
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