Finiteness lemmas for pointwise operations on sets #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
def
set.fintype_add
{α : Type u_2}
[has_add α]
[decidable_eq α]
(s t : set α)
[fintype ↥s]
[fintype ↥t] :
Addition preserves finiteness.
Equations
- s.fintype_add t = set.fintype_image2 (λ (a b : α), a + b) s t
def
set.fintype_mul
{α : Type u_2}
[has_mul α]
[decidable_eq α]
(s t : set α)
[fintype ↥s]
[fintype ↥t] :
Multiplication preserves finiteness.
Equations
- s.fintype_mul t = set.fintype_image2 (λ (a b : α), a * b) s t
@[protected, instance]
def
set.decidable_mem_add
{α : Type u_2}
[add_monoid α]
{s t : set α}
[fintype α]
[decidable_eq α]
[decidable_pred (λ (_x : α), _x ∈ s)]
[decidable_pred (λ (_x : α), _x ∈ t)] :
decidable_pred (λ (_x : α), _x ∈ s + t)
@[protected, instance]
def
set.decidable_mem_mul
{α : Type u_2}
[monoid α]
{s t : set α}
[fintype α]
[decidable_eq α]
[decidable_pred (λ (_x : α), _x ∈ s)]
[decidable_pred (λ (_x : α), _x ∈ t)] :
decidable_pred (λ (_x : α), _x ∈ s * t)
@[protected, instance]
def
set.decidable_mem_nsmul
{α : Type u_2}
[add_monoid α]
{s : set α}
[fintype α]
[decidable_eq α]
[decidable_pred (λ (_x : α), _x ∈ s)]
(n : ℕ) :
decidable_pred (λ (_x : α), _x ∈ n • s)
Equations
- set.decidable_mem_nsmul n = nat.rec (set.decidable_mem_nsmul._proof_1.mpr (set.decidable_mem_nsmul._proof_2.mpr (λ (a : α), _inst_3 a 0))) (λ (n : ℕ) (ih : decidable_pred (λ (_x : α), _x ∈ n • s)), let _inst : decidable_pred (λ (_x : α), _x ∈ n • s) := ih in _.mpr (λ (a : α), set.decidable_mem_add a)) n
@[protected, instance]
def
set.decidable_mem_pow
{α : Type u_2}
[monoid α]
{s : set α}
[fintype α]
[decidable_eq α]
[decidable_pred (λ (_x : α), _x ∈ s)]
(n : ℕ) :
decidable_pred (λ (_x : α), _x ∈ s ^ n)
Equations
- set.decidable_mem_pow n = nat.rec (set.decidable_mem_pow._proof_1.mpr (set.decidable_mem_pow._proof_2.mpr (λ (a : α), _inst_3 a 1))) (λ (n : ℕ) (ih : decidable_pred (λ (_x : α), _x ∈ s ^ n)), let _inst : decidable_pred (λ (_x : α), _x ∈ s ^ n) := ih in _.mpr (λ (a : α), set.decidable_mem_mul a)) n
theorem
set.finite.of_smul_set
{α : Type u_2}
{β : Type u_3}
[group α]
[mul_action α β]
{a : α}
{s : set β} :
Alias of the forward direction of set.finite_smul_set
.
theorem
set.infinite.smul_set
{α : Type u_2}
{β : Type u_3}
[group α]
[mul_action α β]
{a : α}
{s : set β} :
Alias of the reverse direction of set.infinite_smul_set
.
theorem
set.infinite.vadd_set
{α : Type u_2}
{β : Type u_3}
[add_group α]
[add_action α β]
{a : α}
{s : set β} :
Alias of the reverse direction of set.infinite_smul_set
.
theorem
set.finite.of_vadd_set
{α : Type u_2}
{β : Type u_3}
[add_group α]
[add_action α β]
{a : α}
{s : set β} :
Alias of the forward direction of set.finite_smul_set
.
theorem
group.card_pow_eq_card_pow_card_univ
{G : Type u_5}
[group G]
[fintype G]
(S : set G)
[Π (k : ℕ), decidable_pred (λ (_x : G), _x ∈ S ^ k)]
(k : ℕ) :
fintype.card G ≤ k → fintype.card ↥(S ^ k) = fintype.card ↥(S ^ fintype.card G)
theorem
add_group.card_nsmul_eq_card_nsmul_card_univ
{G : Type u_5}
[add_group G]
[fintype G]
(S : set G)
[Π (k : ℕ), decidable_pred (λ (_x : G), _x ∈ k • S)]
(k : ℕ) :
fintype.card G ≤ k → fintype.card ↥(k • S) = fintype.card ↥(fintype.card G • S)