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
3ba59838
Commit
3ba59838
authored
Aug 29, 2016
by
Robbert Krebbers
Browse files
Some ectx_language properties.
(which are useful in Amin's logical relations development).
parent
a0dfafa6
Changes
2
Hide whitespace changes
Inline
Side-by-side
program_logic/ectx_language.v
View file @
3ba59838
...
...
@@ -65,6 +65,10 @@ Section ectx_language.
e1
=
fill
K
e1'
→
e2
=
fill
K
e2'
→
head_step
e1'
σ
1 e2
'
σ
2
efs
→
prim_step
e1
σ
1 e2
σ
2
efs
.
Lemma
Ectx_step'
K
e1
σ
1 e2
σ
2
efs
:
head_step
e1
σ
1 e2
σ
2
efs
→
prim_step
(
fill
K
e1
)
σ
1
(
fill
K
e2
)
σ
2
efs
.
Proof
.
econstructor
;
eauto
.
Qed
.
Lemma
val_prim_stuck
e1
σ
1 e2
σ
2
efs
:
prim_step
e1
σ
1 e2
σ
2
efs
→
to_val
e1
=
None
.
Proof
.
intros
[???
->
->
?]
;
eauto
using
fill_not_val
,
val_stuck
.
Qed
.
...
...
program_logic/ectxi_language.v
View file @
3ba59838
...
...
@@ -46,6 +46,9 @@ Section ectxi_language.
Definition
fill
(
K
:
ectx
)
(
e
:
expr
)
:
expr
:
=
fold_right
fill_item
e
K
.
Lemma
fill_app
(
K1
K2
:
ectx
)
e
:
fill
(
K1
++
K2
)
e
=
fill
K1
(
fill
K2
e
).
Proof
.
apply
fold_right_app
.
Qed
.
Instance
fill_inj
K
:
Inj
(=)
(=)
(
fill
K
).
Proof
.
red
;
induction
K
as
[|
Ki
K
IH
]
;
naive_solver
.
Qed
.
...
...
@@ -78,7 +81,7 @@ Section ectxi_language.
fixed fields of different records, even when I did not. *)
Build_EctxLanguage
expr
val
ectx
state
of_val
to_val
[]
(++)
fill
head_step
_
_
_
_
_
_
_
_
_
.
Solve
Obligations
with
eauto
using
to_of_val
,
of_to_val
,
val_stuck
,
fill_not_val
,
step_by_val
,
fold_right_app
,
app_eq_nil
.
fill_not_val
,
fill_app
,
step_by_val
,
fold_right_app
,
app_eq_nil
.
Global
Instance
ectxi_lang_ctx_item
Ki
:
LanguageCtx
(
ectx_lang
expr
)
(
fill_item
Ki
).
...
...
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