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
stdpp
Commits
8edee98e
Commit
8edee98e
authored
Nov 30, 2018
by
Robbert Krebbers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Make `set_seq` lemmas for consistent w.r.t. those of maps.
parent
668baa2b
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
7 deletions
+20
-7
theories/sets.v
theories/sets.v
+20
-7
No files found.
theories/sets.v
View file @
8edee98e
...
...
@@ -1055,23 +1055,36 @@ Section set_seq.
-
rewrite
elem_of_union
,
elem_of_singleton
,
IH
.
lia
.
Qed
.
Lemma
set_seq_start_disjoint
start
len
:
Lemma
set_seq_plus_disjoint
start
len1
len2
:
set_seq
(
C
:
=
C
)
start
len1
##
set_seq
(
start
+
len1
)
len2
.
Proof
.
intros
x
.
rewrite
!
elem_of_set_seq
.
lia
.
Qed
.
Lemma
set_seq_plus
start
len1
len2
:
set_seq
(
C
:
=
C
)
start
(
len1
+
len2
)
≡
set_seq
start
len1
∪
set_seq
(
start
+
len1
)
len2
.
Proof
.
intros
x
.
rewrite
elem_of_union
,
!
elem_of_set_seq
.
lia
.
Qed
.
Lemma
set_seq_plus_L
`
{!
LeibnizEquiv
C
}
start
len1
len2
:
set_seq
(
C
:
=
C
)
start
(
len1
+
len2
)
=
set_seq
start
len1
∪
set_seq
(
start
+
len1
)
len2
.
Proof
.
unfold_leibniz
.
apply
set_seq_plus
.
Qed
.
Lemma
set_seq_S_start_disjoint
start
len
:
{[
start
]}
##
set_seq
(
C
:
=
C
)
(
S
start
)
len
.
Proof
.
intros
x
.
rewrite
elem_of_singleton
,
elem_of_set_seq
.
lia
.
Qed
.
Lemma
set_seq_S_start
start
len
:
set_seq
(
C
:
=
C
)
start
(
S
len
)
≡
{[
start
]}
∪
set_seq
(
S
start
)
len
.
Proof
.
done
.
Qed
.
Lemma
set_seq_S_disjoint
start
len
:
Lemma
set_seq_S_
end_
disjoint
start
len
:
{[
start
+
len
]}
##
set_seq
(
C
:
=
C
)
start
len
.
Proof
.
intros
x
.
rewrite
elem_of_singleton
,
elem_of_set_seq
.
lia
.
Qed
.
Lemma
set_seq_S_union
start
len
:
Lemma
set_seq_S_end_union
start
len
:
set_seq
start
(
S
len
)
≡
@{
C
}
{[
start
+
len
]}
∪
set_seq
start
len
.
Proof
.
intros
x
.
rewrite
elem_of_union
,
elem_of_singleton
,
!
elem_of_set_seq
.
lia
.
Qed
.
Lemma
set_seq_S_union_L
`
{!
LeibnizEquiv
C
}
start
len
:
Lemma
set_seq_S_end_union_L
`
{!
LeibnizEquiv
C
}
start
len
:
set_seq
start
(
S
len
)
=@{
C
}
{[
start
+
len
]}
∪
set_seq
start
len
.
Proof
.
unfold_leibniz
.
apply
set_seq_S_union
.
Qed
.
Proof
.
unfold_leibniz
.
apply
set_seq_S_
end_
union
.
Qed
.
End
set_seq
.
(** Mimimal elements *)
...
...
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