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
Iris
Iris
Commits
ccd42ca7
Commit
ccd42ca7
authored
Jun 04, 2019
by
Robbert Krebbers
Browse files
Avoid mentioning unfolded version of `fresh_locs` in proof.
parent
92eaea66
Pipeline
#17145
passed with stage
in 13 minutes and 24 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
theories/heap_lang/locations.v
View file @
ccd42ca7
...
...
@@ -29,20 +29,16 @@ Proof. destruct l; rewrite /loc_add /=; f_equal; lia. Qed.
Instance
loc_add_inj
l
:
Inj
eq
eq
(
loc_add
l
).
Proof
.
destruct
l
;
rewrite
/
Inj
/
loc_add
/=
;
intros
;
simplify_eq
;
lia
.
Qed
.
Definition
fresh_locs
(
g
:
gset
loc
)
(
n
:
Z
)
:
loc
:
=
{|
loc_car
:
=
set_fold
(
λ
k
r
,
(
1
+
loc_car
k
)
`
max
`
r
)%
Z
1
%
Z
g
|}.
Definition
fresh_locs
(
ls
:
gset
loc
)
(
n
:
Z
)
:
loc
:
=
{|
loc_car
:
=
set_fold
(
λ
k
r
,
(
1
+
loc_car
k
)
`
max
`
r
)%
Z
1
%
Z
ls
|}.
Lemma
fresh_locs_fresh
g
n
i
:
(
0
≤
i
)%
Z
→
(
i
<
n
)%
Z
→
(
fresh_locs
g
n
)
+
ₗ
i
∉
g
.
Lemma
fresh_locs_fresh
ls
n
i
:
(
0
≤
i
)%
Z
→
(
i
<
n
)%
Z
→
fresh_locs
ls
n
+
ₗ
i
∉
ls
.
Proof
.
rewrite
/
fresh_locs
/
loc_add
/=
;
intros
Hil
_
Hf
;
clear
n
.
cut
(
∀
x
,
x
∈
g
→
loc_car
x
<
set_fold
(
λ
k
r
,
((
1
+
loc_car
k
)
`
max
`
r
)%
Z
)
1
%
Z
g
)%
Z
.
{
intros
Hlem
;
apply
Hlem
in
Hf
;
simpl
in
*
;
lia
.
}
clear
Hf
.
eapply
(
set_fold_ind_L
(
λ
z
g
,
∀
x
:
loc
,
x
∈
g
→
(
loc_car
x
<
z
)%
Z
))
;
try
set_solver
by
eauto
with
lia
.
intros
Hi
_
.
cut
(
∀
l
,
l
∈
ls
→
loc_car
l
<
loc_car
(
fresh_locs
ls
n
)
+
i
)%
Z
.
{
intros
help
Hf
%
help
.
simpl
in
*.
lia
.
}
apply
(
set_fold_ind_L
(
λ
r
ls
,
∀
l
,
l
∈
ls
→
(
loc_car
l
<
r
+
i
)%
Z
))
;
set_solver
by
eauto
with
lia
.
Qed
.
Global
Opaque
fresh_locs
.
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