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
c
Commits
db174c51
Commit
db174c51
authored
Nov 14, 2018
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Tweak reification of proof mode contexts.
parent
c84b97ab
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
1 deletion
+16
-1
theories/vcgen/proofmode.v
theories/vcgen/proofmode.v
+16
-1
No files found.
theories/vcgen/proofmode.v
View file @
db174c51
...
...
@@ -38,7 +38,9 @@ Section tactics.
-
intros
.
eapply
denv_wf_insert
;
eauto
using
denv_wf_mono
.
rewrite
/
dloc_var_wf
(
prefix_lookup
E'
_
_
cl
)
//=.
Qed
.
Global
Instance
prop_into_denv_sep
E
E'
E''
Pin
Pin1
Pin2
Pout1
Pout2
Pout
m1
m2
m3
:
(* Not an instance, due to the IntoSep, this rule will loop if Pin can be
split infinitely many times *)
Lemma
prop_into_denv_sep_aux
E
E'
E''
Pin
Pin1
Pin2
Pout1
Pout2
Pout
m1
m2
m3
:
IntoSep
Pin
Pin1
Pin2
→
PropIntoDEnv
E
E'
Pin1
Pout1
m1
m2
→
PropIntoDEnv
E'
E''
Pin2
Pout2
m2
m3
→
...
...
@@ -50,6 +52,19 @@ Section tactics.
intros
.
rewrite
HP
(
comm
_
Pin1
)
-
assoc
HP1
//
assoc
.
rewrite
(
comm
_
Pin2
)
-
assoc
HP2
;
last
by
eauto
.
by
rewrite
assoc
-
HPout
.
Qed
.
Global
Instance
prop_into_denv_sep
E
E'
E''
Pin1
Pin2
Pout1
Pout2
Pout
m1
m2
m3
:
PropIntoDEnv
E
E'
Pin1
Pout1
m1
m2
→
PropIntoDEnv
E'
E''
Pin2
Pout2
m2
m3
→
MakeSep
Pout1
Pout2
Pout
→
PropIntoDEnv
E
E''
(
Pin1
∗
Pin2
)
Pout
m1
m3
.
Proof
.
apply
prop_into_denv_sep_aux
,
_
.
Qed
.
Global
Instance
prop_into_denv_mapsto_list
E
E'
E''
q
cl
vs
v
vs'
Pout1
Pout2
Pout
m1
m2
m3
:
IsCons
vs
v
vs'
→
PropIntoDEnv
E
E'
(
cl
↦
C
{
q
}
v
)
Pout1
m1
m2
→
PropIntoDEnv
E'
E''
((
cl
+
∗
1
)
↦
C
{
q
}
∗
vs'
)
Pout2
m2
m3
→
MakeSep
Pout1
Pout2
Pout
→
PropIntoDEnv
E
E''
(
cl
↦
C
{
q
}
∗
vs
)
Pout
m1
m3
.
Proof
.
intros
?.
apply
prop_into_denv_sep_aux
,
_
.
Qed
.
Global
Instance
into_denv_nil
E
:
IntoDEnv
E
E
Enil
Enil
nil
.
Proof
.
split
;
unfold
denv_interp
;
eauto
.
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