fintype instance for the product of two fintypes. #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
@[protected, instance]
Equations
- prod.fintype α β = {elems := finset.univ ×ˢ finset.univ, complete := _}
@[simp]
@[simp]
theorem
fintype.card_prod
(α : Type u_1)
(β : Type u_2)
[fintype α]
[fintype β] :
fintype.card (α × β) = fintype.card α * fintype.card β
@[protected, instance]
def
pi.infinite_of_left
{ι : Sort u_1}
{π : ι → Type u_2}
[∀ (i : ι), nontrivial (π i)]
[infinite ι] :
infinite (Π (i : ι), π i)
theorem
pi.infinite_of_exists_right
{ι : Type u_1}
{π : ι → Type u_2}
(i : ι)
[infinite (π i)]
[∀ (i : ι), nonempty (π i)] :
infinite (Π (i : ι), π i)
If at least one π i
is infinite and the rest nonempty, the pi type of all π
is infinite.
@[protected, instance]
def
pi.infinite_of_right
{ι : Type u_1}
{π : ι → Type u_2}
[∀ (i : ι), infinite (π i)]
[nonempty ι] :
infinite (Π (i : ι), π i)
See pi.infinite_of_exists_right
for the case that only one π i
is infinite.
@[protected, instance]
def
function.infinite_of_left
{ι : Sort u_1}
{π : Type u_2}
[nontrivial π]
[infinite ι] :
infinite (ι → π)
Non-dependent version of pi.infinite_of_left
.
@[protected, instance]
def
function.infinite_of_right
{ι : Type u_1}
{π : Type u_2}
[infinite π]
[nonempty ι] :
infinite (ι → π)
Non-dependent version of pi.infinite_of_exists_right
and pi.infinite_of_right
.