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
stdpp
Commits
4ff965b2
Commit
4ff965b2
authored
Jun 25, 2019
by
Robbert Krebbers
Browse files
`SetUnfold` instances for `reverse` and `fmap` on lists.
This closes issue #36.
parent
9407e8cc
Pipeline
#17947
passed with stage
in 12 minutes and 5 seconds
Changes
1
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
theories/sets.v
View file @
4ff965b2
...
...
@@ -286,6 +286,18 @@ Section set_unfold_list.
constructor
;
unfold
subseteq
,
list_subseteq
.
apply
forall_proper
;
naive_solver
.
Qed
.
Global
Instance
set_unfold_reverse
x
l
P
:
SetUnfoldElemOf
x
l
P
→
SetUnfoldElemOf
x
(
reverse
l
)
P
.
Proof
.
constructor
.
by
rewrite
elem_of_reverse
,
(
set_unfold_elem_of
x
l
P
).
Qed
.
Global
Instance
set_unfold_list_fmap
{
B
}
(
f
:
A
→
B
)
l
P
:
(
∀
y
,
SetUnfoldElemOf
y
l
(
P
y
))
→
SetUnfoldElemOf
x
(
f
<$>
l
)
(
∃
y
,
x
=
f
y
∧
P
y
).
Proof
.
constructor
.
rewrite
elem_of_list_fmap
.
f_equiv
;
intros
y
.
by
rewrite
(
set_unfold_elem_of
y
l
(
P
y
)).
Qed
.
End
set_unfold_list
.
Ltac
set_unfold
:
=
...
...
Robbert Krebbers
@robbertkrebbers
mentioned in merge request
!80 (merged)
·
Jun 26, 2019
mentioned in merge request
!80 (merged)
mentioned in merge request !80
Toggle commit list
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