Documentation
Mathlib
.
Algebra
.
BigOperators
.
Group
.
Finset
.
Preimage
Search
return to top
source
Imports
Init
Mathlib.Data.Finset.Preimage
Mathlib.Algebra.BigOperators.Group.Finset.Basic
Imported by
Finset
.
prod_preimage'
Finset
.
sum_preimage'
Finset
.
prod_preimage
Finset
.
sum_preimage
Finset
.
prod_preimage_of_bij
Finset
.
sum_preimage_of_bij
Sums and products over preimages of finite sets.
#
source
theorem
Finset
.
prod_preimage'
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
CommMonoid
β
]
(
f
:
ι
→
κ
)
[
DecidablePred
fun (
x
:
κ
) =>
x
∈
Set.range
f
]
(
s
:
Finset
κ
)
(
hf
:
Set.InjOn
f
(
f
⁻¹'
↑
s
)
)
(
g
:
κ
→
β
)
:
∏
x
∈
s
.
preimage
f
hf
,
g
(
f
x
)
=
∏
x
∈
filter
(fun (
x
:
κ
) =>
x
∈
Set.range
f
)
s
,
g
x
source
theorem
Finset
.
sum_preimage'
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
AddCommMonoid
β
]
(
f
:
ι
→
κ
)
[
DecidablePred
fun (
x
:
κ
) =>
x
∈
Set.range
f
]
(
s
:
Finset
κ
)
(
hf
:
Set.InjOn
f
(
f
⁻¹'
↑
s
)
)
(
g
:
κ
→
β
)
:
∑
x
∈
s
.
preimage
f
hf
,
g
(
f
x
)
=
∑
x
∈
filter
(fun (
x
:
κ
) =>
x
∈
Set.range
f
)
s
,
g
x
source
theorem
Finset
.
prod_preimage
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
CommMonoid
β
]
(
f
:
ι
→
κ
)
(
s
:
Finset
κ
)
(
hf
:
Set.InjOn
f
(
f
⁻¹'
↑
s
)
)
(
g
:
κ
→
β
)
(
hg
:
∀
x
∈
s
,
x
∉
Set.range
f
→
g
x
=
1
)
:
∏
x
∈
s
.
preimage
f
hf
,
g
(
f
x
)
=
∏
x
∈
s
,
g
x
source
theorem
Finset
.
sum_preimage
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
AddCommMonoid
β
]
(
f
:
ι
→
κ
)
(
s
:
Finset
κ
)
(
hf
:
Set.InjOn
f
(
f
⁻¹'
↑
s
)
)
(
g
:
κ
→
β
)
(
hg
:
∀
x
∈
s
,
x
∉
Set.range
f
→
g
x
=
0
)
:
∑
x
∈
s
.
preimage
f
hf
,
g
(
f
x
)
=
∑
x
∈
s
,
g
x
source
theorem
Finset
.
prod_preimage_of_bij
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
CommMonoid
β
]
(
f
:
ι
→
κ
)
(
s
:
Finset
κ
)
(
hf
:
Set.BijOn
f
(
f
⁻¹'
↑
s
)
↑
s
)
(
g
:
κ
→
β
)
:
∏
x
∈
s
.
preimage
f
⋯
,
g
(
f
x
)
=
∏
x
∈
s
,
g
x
source
theorem
Finset
.
sum_preimage_of_bij
{
ι
:
Type
u_1}
{
κ
:
Type
u_2}
{
β
:
Type
u_3}
[
AddCommMonoid
β
]
(
f
:
ι
→
κ
)
(
s
:
Finset
κ
)
(
hf
:
Set.BijOn
f
(
f
⁻¹'
↑
s
)
↑
s
)
(
g
:
κ
→
β
)
:
∑
x
∈
s
.
preimage
f
⋯
,
g
(
f
x
)
=
∑
x
∈
s
,
g
x