Finiteness lemmas for pointwise operations on sets #
def
Set.fintypeAdd
{α : Type u_2}
[Add α]
[DecidableEq α]
(s : Set α)
(t : Set α)
[Fintype ↑s]
[Fintype ↑t]
:
Addition preserves finiteness.
Equations
- s.fintypeAdd t = Set.fintypeImage2 (fun (x1 x2 : α) => x1 + x2) s t
Instances For
def
Set.fintypeMul
{α : Type u_2}
[Mul α]
[DecidableEq α]
(s : Set α)
(t : Set α)
[Fintype ↑s]
[Fintype ↑t]
:
Multiplication preserves finiteness.
Equations
- s.fintypeMul t = Set.fintypeImage2 (fun (x1 x2 : α) => x1 * x2) s t
Instances For
instance
Set.decidableMemAdd
{α : Type u_2}
[AddMonoid α]
{s : Set α}
{t : Set α}
[Fintype α]
[DecidableEq α]
[DecidablePred fun (x : α) => x ∈ s]
[DecidablePred fun (x : α) => x ∈ t]
:
DecidablePred fun (x : α) => x ∈ s + t
Equations
- Set.decidableMemAdd x = decidable_of_iff (∃ x_1 ∈ s, ∃ y ∈ t, x_1 + y = x) ⋯
instance
Set.decidableMemMul
{α : Type u_2}
[Monoid α]
{s : Set α}
{t : Set α}
[Fintype α]
[DecidableEq α]
[DecidablePred fun (x : α) => x ∈ s]
[DecidablePred fun (x : α) => x ∈ t]
:
DecidablePred fun (x : α) => x ∈ s * t
Equations
- Set.decidableMemMul x = decidable_of_iff (∃ x_1 ∈ s, ∃ y ∈ t, x_1 * y = x) ⋯
instance
Set.decidableMemNSMul
{α : Type u_2}
[AddMonoid α]
{s : Set α}
[Fintype α]
[DecidableEq α]
[DecidablePred fun (x : α) => x ∈ s]
(n : ℕ)
:
DecidablePred fun (x : α) => x ∈ n • s
Equations
- Set.decidableMemNSMul n = Nat.recAux (⋯.mpr inferInstance) (fun (n : ℕ) (ih : DecidablePred fun (x : α) => x ∈ n • s) => ⋯.mpr inferInstance) n
theorem
Set.decidableMemNSMul.proof_2
{α : Type u_1}
[AddMonoid α]
{s : Set α}
(n : ℕ)
:
(DecidablePred fun (x : α) => x ∈ (n + 1) • s) = DecidablePred fun (x : α) => x ∈ n • s + s
theorem
Set.decidableMemNSMul.proof_1
{α : Type u_1}
[AddMonoid α]
{s : Set α}
:
(DecidablePred fun (x : α) => x ∈ 0 • s) = DecidablePred fun (x : α) => x = 0
instance
Set.decidableMemPow
{α : Type u_2}
[Monoid α]
{s : Set α}
[Fintype α]
[DecidableEq α]
[DecidablePred fun (x : α) => x ∈ s]
(n : ℕ)
:
DecidablePred fun (x : α) => x ∈ s ^ n
Equations
- Set.decidableMemPow n = Nat.recAux (⋯.mpr inferInstance) (fun (n : ℕ) (ih : DecidablePred fun (x : α) => x ∈ s ^ n) => ⋯.mpr inferInstance) n
theorem
Set.infinite_add
{α : Type u_2}
[Add α]
[IsLeftCancelAdd α]
[IsRightCancelAdd α]
{s : Set α}
{t : Set α}
:
theorem
Set.infinite_mul
{α : Type u_2}
[Mul α]
[IsLeftCancelMul α]
[IsRightCancelMul α]
{s : Set α}
{t : Set α}
:
@[simp]
@[simp]
@[simp]
@[simp]
Alias of the forward direction of Set.finite_inv
.
Alias of the reverse direction of Set.finite_inv
.
def
Set.fintypeSub
{α : Type u_2}
[Sub α]
[DecidableEq α]
(s : Set α)
(t : Set α)
[Fintype ↑s]
[Fintype ↑t]
:
Subtraction preserves finiteness.
Equations
- s.fintypeSub t = Set.fintypeImage2 (fun (x1 x2 : α) => x1 - x2) s t
Instances For
def
Set.fintypeDiv
{α : Type u_2}
[Div α]
[DecidableEq α]
(s : Set α)
(t : Set α)
[Fintype ↑s]
[Fintype ↑t]
:
Division preserves finiteness.
Equations
- s.fintypeDiv t = Set.fintypeImage2 (fun (x1 x2 : α) => x1 / x2) s t
Instances For
theorem
Set.Finite.of_smul_set
{α : Type u_2}
{β : Type u_3}
[Group α]
[MulAction α β]
{a : α}
{s : Set β}
:
(a • s).Finite → s.Finite
Alias of the forward direction of Set.finite_smul_set
.
theorem
Set.Infinite.smul_set
{α : Type u_2}
{β : Type u_3}
[Group α]
[MulAction α β]
{a : α}
{s : Set β}
:
s.Infinite → (a • s).Infinite
Alias of the reverse direction of Set.infinite_smul_set
.
theorem
AddGroup.card_nsmul_eq_card_nsmul_card_univ
{G : Type u_5}
[AddGroup G]
[Fintype G]
(S : Set G)
[(k : ℕ) → DecidablePred fun (x : G) => x ∈ k • S]
(k : ℕ)
:
Fintype.card G ≤ k → Fintype.card ↑(k • S) = Fintype.card ↑(Fintype.card G • S)
theorem
Group.card_pow_eq_card_pow_card_univ
{G : Type u_5}
[Group G]
[Fintype G]
(S : Set G)
[(k : ℕ) → DecidablePred fun (x : G) => x ∈ S ^ k]
(k : ℕ)
:
Fintype.card G ≤ k → Fintype.card ↑(S ^ k) = Fintype.card ↑(S ^ Fintype.card G)