Documentation
Seymour
.
Basic
.
Sets
Search
return to top
source
Imports
Init
Seymour.Basic.Basic
Imported by
singleton_inter_in_left
singleton_inter_in_right
disjoint_of_sdiff_inter
disjoint_of_sdiff_singleton
right_eq_right_of_union_eq_union
eq_toFinset_of_toSet_eq
impossible_nmem_sdiff_triplet
HasSubset
.
Subset
.
equiv
ofSupportFinite_support_eq
finset_of_cardinality_between
Sets
#
This file provides lemmas about sets that are not present in Mathlib.
source
theorem
singleton_inter_in_left
{
α
:
Type
}
{
X
Y
:
Set
α
}
{
a
:
α
}
(
ha
:
X
∩
Y
=
{
a
}
)
:
a
∈
X
source
theorem
singleton_inter_in_right
{
α
:
Type
}
{
X
Y
:
Set
α
}
{
a
:
α
}
(
ha
:
X
∩
Y
=
{
a
}
)
:
a
∈
Y
source
theorem
disjoint_of_sdiff_inter
{
α
:
Type
}
(
X
Y
:
Set
α
)
:
X
\
(
X
∩
Y
)
⫗
Y
\
(
X
∩
Y
)
source
theorem
disjoint_of_sdiff_singleton
{
α
:
Type
}
{
X
Y
:
Set
α
}
{
a
:
α
}
(
ha
:
X
∩
Y
=
{
a
}
)
:
X
\
{
a
}
⫗
Y
\
{
a
}
source
theorem
right_eq_right_of_union_eq_union
{
α
:
Type
}
{
A₁
A₂
B₁
B₂
:
Set
α
}
(
hA
:
A₁
=
A₂
)
(
hB₁
:
A₁
⫗
B₁
)
(
hB₂
:
A₂
⫗
B₂
)
(
hAB
:
A₁
∪
B₁
=
A₂
∪
B₂
)
:
B₁
=
B₂
source
theorem
eq_toFinset_of_toSet_eq
{
α
:
Type
}
{
s
:
Finset
α
}
{
S
:
Set
α
}
[
Fintype
↑
S
]
(
hsS
:
↑
s
=
S
)
:
s
=
S
.
toFinset
source
theorem
impossible_nmem_sdiff_triplet
{
α
:
Type
}
{
S
:
Set
α
}
{
a
b
c
:
α
}
{
e
:
↑(
S
\
{
c
}
)
}
(
heS
:
↑
e
∉
S
\
(
a
ᕃ
b
ᕃ
{
c
}
)
)
(
hea
:
↑
e
≠
a
)
(
heb
:
↑
e
≠
b
)
:
False
source
def
HasSubset
.
Subset
.
equiv
{
α
:
Type
}
{
A
B
:
Set
α
}
[
(
i
:
α
) →
Decidable
(
i
∈
A
)
]
(
hAB
:
A
⊆
B
)
:
↑
A
⊕
↑(
B
\
A
)
≃
↑
B
Equations
hAB
.
equiv
=
{
toFun
:=
fun (
x
:
↑
A
⊕
↑(
B
\
A
)
) =>
Sum.casesOn
x
hAB
.
elem
⋯
.
elem
,
invFun
:=
fun (
i
:
↑
B
) =>
if hiA :
↑
i
∈
A
then
◩
⟨
↑
i
,
hiA
⟩
else
◪
⟨
↑
i
,
⋯
⟩
,
left_inv
:=
⋯
,
right_inv
:=
⋯
}
Instances For
source
theorem
ofSupportFinite_support_eq
{
α
β
:
Type
}
[
Zero
β
]
{
f
:
α
→
β
}
{
S
:
Set
α
}
(
hS
:
Finite
↑
S
)
(
hfS
:
f
.
support
=
S
)
:
↑
(
Finsupp.ofSupportFinite
f
⋯
)
.
support
=
S
source
theorem
finset_of_cardinality_between
{
α
β
:
Type
}
[
Fintype
α
]
[
Fintype
β
]
{
n
:
ℕ
}
(
hα
:
#
α
<
n
)
(
hn
:
n
≤
#
α
+
#
β
)
:
∃ (
b
:
Finset
β
),
#
(
α
⊕
{
x
:
β
//
x
∈
b
}
)
=
n
∧
Nonempty
{
x
:
β
//
x
∈
b
}