File: Mathlib/Data/Set/Pointwise/Finite.lean

full_name: Set.finite_zero
code: @[to_additive (attr := simp)]
theorem finite_one : (1 : Set α).Finite 
goal: Set.Finite 0

full_name: Set.finite_one
code: @[to_additive (attr := simp)]
theorem finite_one : (1 : Set α).Finite 
goal: Set.Finite 1

full_name: Set.Finite.inv
code: @[to_additive]
theorem Finite.inv (hs : s.Finite) : s⁻¹.Finite 
goal: s⁻¹.Finite

full_name: Set.Finite.neg
code: @[to_additive]
theorem Finite.inv (hs : s.Finite) : s⁻¹.Finite 
goal: (-s).Finite

full_name: Set.Finite.add
code: @[to_additive]
theorem Finite.mul : s.Finite → t.Finite → (s * t).Finite 
goal: s.Finite → t.Finite → (s + t).Finite

full_name: Set.Finite.mul
code: @[to_additive]
theorem Finite.mul : s.Finite → t.Finite → (s * t).Finite 
goal: s.Finite → t.Finite → (s * t).Finite

full_name: Set.fintypeMul
code: /-- Multiplication preserves finiteness. -/
@[to_additive "Addition preserves finiteness."]
def fintypeMul [DecidableEq α] (s t : Set α) [Fintype s] [Fintype t] : Fintype (s * t : Set α) 
goal: Fintype ↑(s * t)

full_name: Set.fintypeAdd
code: /-- Multiplication preserves finiteness. -/
@[to_additive "Addition preserves finiteness."]
def fintypeMul [DecidableEq α] (s t : Set α) [Fintype s] [Fintype t] : Fintype (s * t : Set α) 
goal: Fintype ↑(s + t)

full_name: Set.decidableMemAdd
code: @[to_additive]
instance decidableMemMul [Fintype α] [DecidableEq α] [DecidablePred (· ∈ s)]
    [DecidablePred (· ∈ t)] : DecidablePred (· ∈ s * t) 
goal: DecidablePred fun x => x ∈ s + t

full_name: Set.decidableMemMul
code: @[to_additive]
instance decidableMemMul [Fintype α] [DecidableEq α] [DecidablePred (· ∈ s)]
    [DecidablePred (· ∈ t)] : DecidablePred (· ∈ s * t) 
goal: DecidablePred fun x => x ∈ s * t

full_name: Set.decidableMemPow
code: @[to_additive]
instance decidableMemPow [Fintype α] [DecidableEq α] [DecidablePred (· ∈ s)] (n : ℕ) :
    DecidablePred (· ∈ s ^ n) 
goal: DecidablePred fun x => x ∈ s ^ n

full_name: Set.decidableMemNSMul
code: @[to_additive]
instance decidableMemPow [Fintype α] [DecidableEq α] [DecidablePred (· ∈ s)] (n : ℕ) :
    DecidablePred (· ∈ s ^ n) 
goal: DecidablePred fun x => x ∈ n • s

full_name: Set.Finite.vadd
code: @[to_additive]
theorem Finite.smul : s.Finite → t.Finite → (s • t).Finite 
goal: s.Finite → t.Finite → (s +ᵥ t).Finite

full_name: Set.Finite.smul
code: @[to_additive]
theorem Finite.smul : s.Finite → t.Finite → (s • t).Finite 
goal: s.Finite → t.Finite → (s • t).Finite

full_name: Set.Finite.smul_set
code: @[to_additive]
theorem Finite.smul_set : s.Finite → (a • s).Finite 
goal: s.Finite → (a • s).Finite

full_name: Set.Finite.vadd_set
code: @[to_additive]
theorem Finite.smul_set : s.Finite → (a • s).Finite 
goal: s.Finite → (a +ᵥ s).Finite

full_name: Set.Infinite.of_vadd_set
code: @[to_additive]
theorem Infinite.of_smul_set : (a • s).Infinite → s.Infinite 
goal: (a +ᵥ s).Infinite → s.Infinite

full_name: Set.Infinite.of_smul_set
code: @[to_additive]
theorem Infinite.of_smul_set : (a • s).Infinite → s.Infinite 
goal: (a • s).Infinite → s.Infinite

full_name: Set.Finite.vsub
code: theorem Finite.vsub (hs : s.Finite) (ht : t.Finite) : Set.Finite (s -ᵥ t) 
goal: (s -ᵥ t).Finite

full_name: Set.infinite_mul
code: @[to_additive]
theorem infinite_mul : (s * t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty 
goal: (s * t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty

full_name: Set.infinite_add
code: @[to_additive]
theorem infinite_mul : (s * t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty 
goal: (s + t).Infinite ↔ s.Infinite ∧ t.Nonempty ∨ t.Infinite ∧ s.Nonempty

full_name: Set.finite_add
code: @[to_additive]
lemma finite_mul : (s * t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅ 
goal: (s + t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅

full_name: Set.finite_mul
code: @[to_additive]
lemma finite_mul : (s * t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅ 
goal: (s * t).Finite ↔ s.Finite ∧ t.Finite ∨ s = ∅ ∨ t = ∅

full_name: Set.finite_vadd_set
code: @[to_additive (attr := simp)]
theorem finite_smul_set : (a • s).Finite ↔ s.Finite 
goal: (a +ᵥ s).Finite ↔ s.Finite

full_name: Set.finite_smul_set
code: @[to_additive (attr := simp)]
theorem finite_smul_set : (a • s).Finite ↔ s.Finite 
goal: (a • s).Finite ↔ s.Finite

full_name: Set.infinite_smul_set
code: @[to_additive (attr := simp)]
theorem infinite_smul_set : (a • s).Infinite ↔ s.Infinite 
goal: (a • s).Infinite ↔ s.Infinite

full_name: Set.infinite_vadd_set
code: @[to_additive (attr := simp)]
theorem infinite_smul_set : (a • s).Infinite ↔ s.Infinite 
goal: (a +ᵥ s).Infinite ↔ s.Infinite

full_name: AddGroup.card_nsmul_eq_card_nsmul_card_univ
code: @[to_additive]
theorem card_pow_eq_card_pow_card_univ [∀ k : ℕ, DecidablePred (· ∈ S ^ k)] :
    ∀ k, Fintype.card G ≤ k → Fintype.card (↥(S ^ k)) = Fintype.card (↥(S ^ Fintype.card G)) 
goal: Fintype.card G ≤ k → Fintype.card ↑(k • S) = Fintype.card ↑(Fintype.card G • S)

full_name: Group.card_pow_eq_card_pow_card_univ
code: @[to_additive]
theorem card_pow_eq_card_pow_card_univ [∀ k : ℕ, DecidablePred (· ∈ S ^ k)] :
    ∀ k, Fintype.card G ≤ k → Fintype.card (↥(S ^ k)) = Fintype.card (↥(S ^ Fintype.card G)) 
goal: Fintype.card G ≤ k → Fintype.card ↑(S ^ k) = Fintype.card ↑(S ^ Fintype.card G)