Module docstring
{"# Cardinalities of pointwise operations on sets "}
{"# Cardinalities of pointwise operations on sets "}
Cardinal.mk_mul_le
theorem
: #(s * t) ≤ #s * #t
@[to_additive]
lemma _root_.Cardinal.mk_mul_le : #(s * t) ≤ #s * #t := by
rw [← image2_mul]; exact Cardinal.mk_image2_le
Set.natCard_mul_le
theorem
: Nat.card (s * t) ≤ Nat.card s * Nat.card t
@[to_additive]
lemma natCard_mul_le : Nat.card (s * t) ≤ Nat.card s * Nat.card t := by
obtain h | h := (s * t).infinite_or_finite
· simp [Set.Infinite.card_eq_zero h]
simp only [Nat.card, ← Cardinal.toNat_mul]
refine Cardinal.toNat_le_toNat Cardinal.mk_mul_le ?_
aesop (add simp [Cardinal.mul_lt_aleph0_iff, finite_mul])
Cardinal.mk_inv
theorem
(s : Set G) : #↥(s⁻¹) = #s
@[to_additive (attr := simp)]
lemma _root_.Cardinal.mk_inv (s : Set G) : #↥(s⁻¹) = #s := by
rw [← image_inv_eq_inv, Cardinal.mk_image_eq_of_injOn _ _ inv_injective.injOn]
Set.natCard_inv
theorem
(s : Set G) : Nat.card ↥(s⁻¹) = Nat.card s
@[to_additive (attr := simp)]
lemma natCard_inv (s : Set G) : Nat.card ↥(s⁻¹) = Nat.card s := by
rw [← image_inv_eq_inv, Nat.card_image_of_injective inv_injective]
Set.encard_inv
theorem
(s : Set G) : s⁻¹.encard = s.encard
@[to_additive (attr := simp)]
lemma encard_inv (s : Set G) : s⁻¹.encard = s.encard := by
simp [ENat.card, ← toENat_cardinalMk]
Set.ncard_inv
theorem
(s : Set G) : s⁻¹.ncard = s.ncard
Cardinal.mk_div_le
theorem
: #(s / t) ≤ #s * #t
@[to_additive]
lemma _root_.Cardinal.mk_div_le : #(s / t) ≤ #s * #t := by
rw [← image2_div]; exact Cardinal.mk_image2_le
Set.natCard_div_le
theorem
: Nat.card (s / t) ≤ Nat.card s * Nat.card t
@[to_additive]
lemma natCard_div_le : Nat.card (s / t) ≤ Nat.card s * Nat.card t := by
rw [div_eq_mul_inv, ← natCard_inv t]; exact natCard_mul_le
Cardinal.mk_smul_set
theorem
(a : G) (s : Set α) : #↥(a • s) = #s
@[to_additive (attr := simp)]
lemma _root_.Cardinal.mk_smul_set (a : G) (s : Set α) : #↥(a • s) = #s :=
Cardinal.mk_image_eq_of_injOn _ _ (MulAction.injective a).injOn
Set.natCard_smul_set
theorem
(a : G) (s : Set α) : Nat.card ↥(a • s) = Nat.card s
@[to_additive (attr := simp)]
lemma natCard_smul_set (a : G) (s : Set α) : Nat.card ↥(a • s) = Nat.card s :=
Nat.card_image_of_injective (MulAction.injective a) _
Set.encard_smul_set
theorem
(a : G) (s : Set α) : (a • s).encard = s.encard
@[to_additive (attr := simp)]
lemma encard_smul_set (a : G) (s : Set α) : (a • s).encard = s.encard := by
simp [ENat.card, ← toENat_cardinalMk]
Set.ncard_smul_set
theorem
(a : G) (s : Set α) : (a • s).ncard = s.ncard
@[to_additive (attr := simp)]
lemma ncard_smul_set (a : G) (s : Set α) : (a • s).ncard = s.ncard := by simp [ncard]